我们使用icecast服务器建立了一个互联网广播流媒体,通过html5音频标签将MP3流式传输到Firefox。但是,有时拖缆会因任何原因(断开连接等)而停止,当您重新启动流式传输时,它会从会话开始时开始流式传输,这使我们相信它正在播放浏览器缓存中的内容。
让流媒体播放实际直播的唯一方法是删除Firefox中的历史记录。这在其他浏览器中不会发生。如果使用闪回后退而不是html5音频标记,也会发生这种情况。
考虑使用以下脚本但不认为它适用于此场景。
<meta http-equiv="Cache-control" content="no-cache" />
任何见解都会有所帮助。感谢。
答案 0 :(得分:5)
我发现使用SHOUTcast / Icecast流,保证不会从缓存中播放的唯一方法是使用添加缓存破坏URL参数的旧方法。
如果您的原始流网址是:
http://1.2.3.4/someMountPoint
然后在播放时使用JavaScript生成这样的URL:
http://1.2.3.4/someMountPoint?nocache=123456789
这确保不会发生缓存,对于浏览器而言,它们是不同的资源。
答案 1 :(得分:0)
icecast.xml
<http-headers>
<header name="Cache-control" value="no-cache" />
</http-headers>