Shoutcast流媒体和HTML5音频播放器

4

这真的让我疯狂

我正在尝试让audio标签流式传输shoutcast流

我已经花了两天的时间进行尝试,最好的结果是在Safari上工作

我阅读了stackoverflow上关于此问题的所有问题、教程、测试了所有的播放器,我需要使其在移动设备上以及特别是iOS上工作,所以我不能使用flash,已经尝试了很多方法

<audio controls src="http://a7lafm.callu.ps:8000/;" autoplay></audio>

这段代码仅适用于Safari浏览器

我尝试了分号 ; 和音频文件 stream.ogg 我认为我已经尝试了所有方法,所以我在这里发布问题

非常感谢任何帮助!

3个回答

4
这个问题与你的代码无关,有两个问题。
第一个是浏览器编解码器支持。请查看MDN页面以获取每个浏览器的编解码器支持的最新信息。
第二个问题是SHOUTcast返回了一个奇怪的状态行。它会发送ICY 200 OK而不是HTTP/1.0 200 OK。一些浏览器不接受这个头部信息。唯一的解决方法是使用其他流媒体服务器,例如Icecast。(如果你感兴趣,我还运营一个流媒体服务,可以转发你现有的SHOUTcast流到符合标准的HTTP流中,具有更好的兼容性。如果你有兴趣,请发送电子邮件至preview@audiopump.co。)

+1 我正在处理这个ICY 200 OK的情况,但无法解决,至少看到它被突出显示是一个开始,大多数答案甚至没有考虑它的存在。(周围有这么多Icecast服务器?) - ZJR

1

我在一个Shoutcast广播电台网站上找到了一个例子:

<audio autoplay preload="auto" controls src="http://174.137.50.51:16504/;"></audio>

在各种浏览器中都可以正常运行。我测试了Firefox、Chrome和Safari。


问题主要出现在Internet Explorer和某些版本的Firefox中,而您并没有对其进行测试。 - Chris Baker
不,问题没有提到IE:“……我需要让它在移动电话上工作,特别是在iOS上……” - Nico
src 属性末尾的 /; 是改变游戏规则的关键! - Azevedo

1
<!--listen2myradio.com SHOUTcast Flash Player-->
    <p id='preview'></p><script id='myscript' language='javascript' src='http://flashplayer.listen2myradio.com/getInfo.js?id=17733c2862180eaa3883250ab04087609ae4'></script>
    <!--End Player-->

这是您的收音机,我们每次进入互联网时都会祈祷,并打开一扇通往.FlM的窗户。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接