1

几天来,我一直在寻找一种无需使用 Flash Player 即可在所有主要浏览器中进行 SHOUTcast Streaming 的方法,但我一直无法这样做(Safari 除外):

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

“src”属性末尾的分号强制 SHOUTcast 服务器忽略用户代理字符串并使用 MPEG OVERRIDE 代替,它不包含 Mozilla 并被假定为音频播放器。可悲的是,到目前为止,这个技巧只对我在 Safari 上有效。

有谁知道如何在其他浏览器(Chrome、Firefox 等)中执行此操作?

4

2 回答 2

1

问题不是用户代理嗅探的问题,而是 SHOUTcast 服务器不发送标准 HTTP 响应的事实。

正常的 HTTP 响应以如下所示的状态行开始:

HTTP/1.0 200 OK

SHOUTcast 服务器改为发送这个:

ICY 200 OK

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

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

如果您要播放的电台不是您的,您将不得不通过您自己的服务器代理该播放以解决状态行问题。

于 2014-02-22T19:31:32.503 回答
0

你应该试试这个工具。

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

它适用于任何浏览器。

它也适用于 Android 和 iOS 设备。塔塔现在:)

于 2014-03-07T23:53:52.547 回答