3

html5オーディオタグを介してMP3をFirefoxにストリーミングするicecastサーバーを利用してインターネットラジオストリーマーを構築しました。ただし、ストリーマーが何らかの理由(切断など)で停止し、ストリーマーを再起動すると、セッションの開始からストリーミングが開始されることがあります。これにより、ストリーマーはブラウザーのキャッシュにあるものを再生していると信じられます。

ストリーマーに実際のライブストリームを再生させる唯一の方法は、Firefoxで履歴を削除することです。これは他のブラウザでは発生しません。これは、html5オーディオタグの代わりにフラッシュフォールバックを使用している場合にも発生します。

次のスクリプトを使用することを考えましたが、このシナリオに適用されるとは思いませんでした。

<meta http-equiv="Cache-control" content="no-cache" />

どんな洞察も役に立ちます。ありがとう。

4

2 に答える 2

8

注:最新のソリューションについては、 @MosheLの回答を参照してください。

古い答え(そしておそらくSHOUTcastにはまだ必要です):

SHOUTcast / Icecastストリームでは、キャッシュから再生されないことを保証する唯一の方法は、キャッシュを無効にするURLパラメーターを追加する古い方法を使用することです。

元のストリームURLが次の場合:

http://1.2.3.4/someMountPoint

次に、JavaScriptを使用して、再生時に次のようなURLを生成します。

http://1.2.3.4/someMountPoint?nocache=123456789

これにより、ブラウザに関しては、キャッシュが発生しないことが保証されます。これらは異なるリソースです。

于 2012-11-21T04:09:28.623 に答える
4

icecast.xml

 <http-headers>
    <header name="Cache-control" value="no-cache" />
</http-headers>

アップデート(3/2020):Chromeでは、ライブストリームのバッファリングに関するもう1つの問題を解決する必要があります。

<audio controls preload="false" autoplay="false" .....
于 2019-01-10T19:09:05.640 に答える