2014-02-22 64 views
0

我一直在寻找一种方法来做所有主流浏览器的SHOUTcast串流,而不使用Flash Player,但我一直无法做到这一点(Safari除外):SHOUTcast流播电台

<audio controls src="http://38.96.175.97:7736/;"></audio> 

“src”属性末尾的分号强制SHOUTcast服务器忽略用户代理字符串,并使用MPEG OVERRIDE,而不包含Mozilla并假定为音频播放器。可悲的是,这个技巧迄今为止只适用于Safari。

有没有人有任何想法如何在其他浏览器(铬,火狐等)做到这一点?

回答

1

问题不在于User-Agent嗅探问题,而在于SHOUTcast服务器不发送标准HTTP响应。

一个正常的HTTP响应开始了与看起来像这样的一个状态行:

HTTP/1.0 200 OK 

Shoutcast一样的服务器发送此相反:

ICY 200 OK 

这适用于许多HTTP客户端,但越来越多的HTTP客户端断开这样的响应。

解决方案是停止使用SHOUTcast。 Icecast是一个很好的选择。我编写了自己的AudioPump Server,以帮助浏览器和Android客户端的兼容性。

如果您想播放的电台不是您的,您必须通过您自己的服务器代理该播放才能解决状态行问题。

0

你应该试试这个工具。

http://www.schillmania.com/projects/soundmanager2/

它在任何浏览器为我工作。

它也适用于Android和iOS设备。 Ta-ta现在:)

+0

您是否可以在SHOUTcast上使用此API在所有主流浏览器上播放电台? –

+1

是的,我用这个示例:http://stackoverflow.com/questions/18592400/is-there-a-true-cross-browser-solution-for-shoutcast-streams –

相关问题