SHOUTcast 流媒体广播电台

Posted

技术标签:

【中文标题】SHOUTcast 流媒体广播电台【英文标题】:SHOUTcast Streaming Radio Stations 【发布时间】:2014-02-22 18:50:39 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

HTTP/1.0 200 OK

SHOUTcast 服务器改为发送此内容:

ICY 200 OK

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

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

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

【讨论】:

【参考方案2】:

你应该试试这个工具。

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

它适用于任何浏览器。

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

【讨论】:

您能否在所有主流浏览器上使用此 API 从 SHOUTcast 播放广播电台? 是的,我使用了这个示例:***.com/questions/18592400/…

以上是关于SHOUTcast 流媒体广播电台的主要内容,如果未能解决你的问题,请参考以下文章

在Android上从流媒体网页启动音频播放器的方法

使用流媒体广播 URL 开发商业应用程序是不是合法? [关闭]

Flutter 中的流媒体广播

通过网络服务暂停流媒体广播

在 python 中录制流媒体和保存网络广播

windows phone 上的流媒体广播