31

HTML5 を使用して、shoutcast/icecast ストリームを再生することは可能ですか?

もしそうなら、どのように実装すればよいですか?

4

8 に答える 8

49

2020年アップデート

最新のブラウザでは、オーディオを再生するために特別な処理やサーバー側の回避策は必要ありません。1 つまたは複数のストリーム ソース (プレイリストではない)への直接リンクを含むオーディオ タグを使用するだけです。

<audio>
    <source src="http://relay.publicdomainradio.org/classical.mp3" type="audio/mpeg">
</audio>

MDNから:

HTML<audio>要素は、サウンド コンテンツをドキュメントに埋め込むために使用されます。src属性または要素を使用して表される 1 つまたは複数のオーディオ ソースを含むことが<source>できます。ブラウザは最も適切なものを選択します。

ブラウザは、、、、、および をサポートflacmp3ています。詳しくはcaniuse.comをご覧ください。vorbisaacopuswav

元の投稿

http 要求の末尾にセミコロンを追加します。これは、ブラウザーの検出をオーバーライドするために、shoutcast によって規定されたプロトコルです。このような:

<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
于 2010-07-06T00:11:07.953 に答える
18

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 オーディオ プレーヤーを追加する必要があります。

于 2010-04-30T09:39:50.830 に答える
3

はい。ただし、Safariでのみ機能します

    <!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>

原因 Opera と Firefox はフリーではないコーデックをサポートしていませんでした

于 2010-04-30T08:52:31.427 に答える
3

ここを参照してください: html5 で、Shoutcast インターネット ラジオ ストリームを再生することは可能ですか?

于 2010-04-30T08:57:31.787 に答える