Html5でshoutcast(または一部)インターネットラジオストリームを再生することは可能ですか?
だから私は次のコードを持っています:
<html>
<body>
<audio src="http://shoutcast.internet-radio.org.uk:10272/" />
</body>
</html>
HTMLページとして保存し、ブラウザを起動します(Google chrome 4.0.249.78、safaryまたはFF)
しかし、それは再生/動作しません!(
そして、私がプレイしようとした他のインターネットラジオでは再生されません!(
なぜ!?!私は何を間違えていますか?
btw:from HTML5(まだ開発中の次世代の追加を含む)2.6.1プロトコルの概念 ユーザーエージェントはさまざまな転送プロトコルを実装できますが、この仕様では主にHTTPに関する動作を定義しています。 [HTTP]
HTTP GETメソッドは、プロトコルのデフォルトの取得アクションと同等です。たとえば、FTPのRETR。このようなアクションは、HTTPの用語では、べき等で安全です。
HTTP応答コードは、同じ基本的な意味を持つ他のプロトコルのステータスと同等です。たとえば、「ファイルが見つかりません」エラーは404コードに相当し、サーバーエラーは5xxコードに相当します。
HTTPヘッダーは、同じ基本的な意味を持つ他のプロトコルのフィールドと同等です。たとえば、HTTP認証ヘッダーは、FTPプロトコルの認証の側面と同等です。
ShoutCastではできませんが、Icecastおよびedcastクライアントでは、HTML5を介してライブvorbisをストリーミングできます<audio>
鬼ごっこ。 http://your-url.com:port/stream.ogg :pを指定するだけです
http
リクエストの最後にセミコロンを追加します。 ISブラウザの検出を無効にするためにshoutcastによって設定されたプロトコル。この例のように:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
HTML5は、プレーヤーがサポートする必要があるオーディオ形式(プログレッシブまたはストリーミング)を指定しません。ブラウザは、需要と実装の実現可能性に基づいて、判断する必要があります。以前のドラフトでは、すべてのブラウザーがサポートする必要のあるいくつかのベースラインコーデックとフォーマットを指定しようとしましたが、考えられる各フォーマットにより、一部のブラウザーベンダーは実装を拒否しました。
以下はSafari(4.0.4、WebKit nightly 6531.21.10、r54538、Mac OS X 10.6.2)で動作するようですが、ChromeまたはFirefox:
<!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>
(ご了承ください <audio>
はHTMLシリアル化に終了タグを必要とし、XMLスタイルの自己終了タグを使用できません。実際にオーディオを開始するには、controls
またはautoplay
を含める必要があります)
これは、Safariが与えられたオーディオおよびビデオのURLをQuickTimeを使用して処理するだけで、QuickTimeが既にShoutcastをサポートしているため、「無料で」Shoutcastをサポートするためです。 QuickTimeのHTTP実装は quirky であるため、これは奇妙なバグにもつながる可能性があります。
Shoutcastをサポートしていないブラウザでサポートするようにバグを報告することをお勧めします。 Firefox(Gecko/Mozilla) 、 Chrome(Chromium) 、および Safari のバグトラッカーを次に示します(Windowsで動作しない場合、またはそのようなもの)。
<!DOCTYPE html>
<audio controls src="http://baldyradio.com:8010/;"></audio>
これはIE9のリリースバージョンで機能しますが、FireFox 4でも同じことが言えないのは悲しいことです。
さて、ogg_vorbisステーションをチェックしました。プレイリストをダウンロードしてメモ帳で開き、ストリームのURLをコピーしました。したがって、テストする場合は、これを空のファイルにコピーして、something.htmlという名前を付けます。
<!DOCTYPE html>
<html>
<head>
<title>audio testing live stream!</title>
</head>
<body>
<audio controls="controls" autoplay="autoplay" src="http://oggvorbis.tb-stream.net:80/technobase.ogg">
</audio>
</body>
</html>
それでおしまい!
BB
hTML 5オーディオ仕様(http://www.w3schools.com/html5/html5_audio.asp)を読むW3Cは、どのブラウザーでどのフォーマット(MP3またはOGG)がサポートされているかを概説しています
私がやることは、MP3とOGGストリームをストリーミングするicecastサーバー(ShoutCastではない)を持っていることです
javaScriptを使用してブラウザの種類を検出- http://www.javascripter.net/faq/browsern.htm
if(ブラウザはHTML5をサポートしていません){メッセージを出力します-新しいブラウザを使用します}
if(ブラウザはHTML5およびOGGストリーミングをサポートしています(W3cのリストを使用)){SRCタグでicecastサーバーからのOGGストリームを使用}
if(ブラウザがHTML5 MP3ストリーミングをサポートしている(W3Cのリストを使用)){SRCタグでicecastサーバーからのMP3ストリームを使用する}
私はこれがすべての主要なブラウザをカバーし、あなたがおそらく将来見つけるであろうほとんどの人々の問題を解決すると思います、これはより多くのブラウザがサポートするので冗長になるでしょう
<audio controls src="http://example.com:8000/mountpath;"></audio>
スラッシュの使用については言及していませんが、上記の投稿は正しい答えを提供します。ストリームのURLとポートの後に/;があることを確認してください。
<audio src="http://shoutcast.internet-radio.org.uk:10272/;" />
FirefoxとOperaはmp3などの非フリーコーデックをサポートしていません(Opera 10.5 alpha、FF 3.5以降はPCM wavとOgg Vorbis for audio)。ChromeとSafariはMP3をサポートしていますが、信じています。
次の問題は、URLがストリームではなく、ストリームを説明するWebページを指しているように見えることです。
最後に、私が知る限り、誰もaudio要素のプレイリストパーサーを実装していません(仕様では、プレイリストではなくオーディオファイルのみが言及されています)。生ストリームよりも。
はい、ShoutCast2をプレイできます。このように使用します。
<audio preload="none" autoplay="autoplay" controls="controls">
<source src="http://178.32.62.172:9079/stream" type="audio/mpeg">
Your browser does not support this player, please update the version
</audio>