HTML5 を使用して、shoutcast/icecast ストリームを再生することは可能ですか?
もしそうなら、どのように実装すればよいですか?
HTML5 を使用して、shoutcast/icecast ストリームを再生することは可能ですか?
もしそうなら、どのように実装すればよいですか?
最新のブラウザでは、オーディオを再生するために特別な処理やサーバー側の回避策は必要ありません。1 つまたは複数のストリーム ソース (プレイリストではない)への直接リンクを含むオーディオ タグを使用するだけです。
<audio>
<source src="http://relay.publicdomainradio.org/classical.mp3" type="audio/mpeg">
</audio>
MDNから:
HTML
<audio>
要素は、サウンド コンテンツをドキュメントに埋め込むために使用されます。src
属性または要素を使用して表される 1 つまたは複数のオーディオ ソースを含むことが<source>
できます。ブラウザは最も適切なものを選択します。
ブラウザは、、、、、および をサポートflac
しmp3
ています。詳しくはcaniuse.comをご覧ください。vorbis
aac
opus
wav
http 要求の末尾にセミコロンを追加します。これは、ブラウザーの検出をオーバーライドするために、shoutcast によって規定されたプロトコルです。このような:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
SHOUTcast には大きな問題があり、MP3 をサポートするはずの Chrome でも動作しない原因と思われます。
SHOUTcast は、次の 3 種類の応答を提供できます。
ネイティブ SHOUTcast「ICY」プロトコル ストリーミング オーディオ応答。ストリームにアクセスするプレーヤーにicy-metadata: 1
ヘッダーが含まれている場合、これを実行することを決定します。
ICY をサポートしていないメディア プレーヤー向けの、追加のメタデータを含まないプレーンな HTTP ストリーミング オーディオ レスポンス。
「SHOUTcast DNAS Status」ページおよび Web インターフェイスの他のページ。
オーディオ ストリームの代わりに Web ページを提供するかどうかをどのように決定しますか? Web ブラウザを使用しているかどうかを推測します。User-Agent
ヘッダーが で始まるかどうかを確認しMozilla/...
ます。Web ブラウザはすべて Mozilla ですよね?ねえ、シャウトキャスト。
そのため、Chrome が再生するオーディオ ストリームをフェッチしようとすると、SHOUTcast はそれが Web ブラウザであると判断し (まあ...そうです)、オーディオ タグに入れるオーディオ ストリームの提供を拒否します。代わりに、管理 Web ページを取得します。
(Safari は問題を回避するためにヘッダーを渡しておりicy-metadata
、SHOUTcast に特定のサポートを提供していると思います。Safari はオーディオやビデオを再生しないため、現時点ではテストできません。そのために QuickTime をインストールする必要があるかもしれません。多分詰まる可能性があります。)
そのため、おそらく代替として Flash オーディオ プレーヤーを追加する必要があります。
はい。ただし、Safariでのみ機能します
<!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>
原因 Opera と Firefox はフリーではないコーデックをサポートしていませんでした
ここを参照してください: html5 で、Shoutcast インターネット ラジオ ストリームを再生することは可能ですか?