网址参考:http://m.gooplusplus.com/?radio 音频网址(公共):http://live.str3am.com:2010/#.mp3 HTML5播放器源代码:http://www.terrillthompson.com/music/aap/
当使用Android平板电脑或智能手机或使用Windows或Linux媒体程序(如VLC )时,在我参考的radio站点上很容易播放公共听觉月亮MP3广播流。
该站点不会在参考网站上的任何Linux或Windows浏览器中播放。
冒充安卓浏览器欺骗navigator.userAgent字符串没有效果。
广播电台是(P1)。有什么建议吗?

更新相关的Terrill Thompson源代码摘录:
this.audio.addEventListener('error', function() {
var errorCode, networkState, errorMsg;
document.title = 'Error';
errorCode = $this.audio.error.code;
networkState = $this.audio.networkState;
if (errorCode == 1) {
errorMsg = 'Waiting'; //actually, aborted I think
} else if (errorCode == 2) {
errorMsg = 'Network error';
} else if (errorCode == 3) {
errorMsg = 'Media decoding error';
} else if (errorCode == 4) { //4 = media source not supported
if (networkState == 4) {
errorMsg = 'Firefox 3.x File Load Error! ';
} else { //if it's not Firefox 3.x, then it must really be a media source problem
errorMsg = 'Error reading media source';
}
} else {
errorMsg = 'Unknown error: ' + errorCode;
}
document.title = errorMsg;
}, false);发布于 2014-01-19 03:41:02
链接到的流正在运行SHOUTcast服务器。SHOUTcast流有两个常见的问题。您遇到的情况是,SHOUTcast将web /status接口发送给所有具有Mozilla的客户端,这些客户机的User-Agent字符串都是User-Agent。因此,当您尝试与大多数浏览器流,而不是音频数据,您将得到一个网页。
您可以通过在URL末尾添加分号;来告诉服务器覆盖用户代理字符串来解决这个问题:
http://live.str3am.com:2010/;然后,服务器将用户代理字符串视为MPEG OVERRIDE,给出流。
您将不可避免地遇到的第二个问题是,SHOUTcast服务器没有在其状态线上发送适当的HTTP。而不是:
HTTP/1.0 200 OKSHOUTcast服务器发送:
ICY 200 OK大多数浏览器都会接受这一点,但情况却越来越不一样了。出了名的Firefox在一段时间前破坏了与这些破头的兼容性,但后来解决了这个问题(很可能是暂时的)。我怀疑这就是11的问题所在,因为我给您的测试流(纯HTTP)工作得很好。
最后,我要指出,#.mp3的附属物不应该做任何事情。这当然与服务器发送内容无关,浏览器也不关心“文件扩展名”是什么.他们只关心Content-Type响应头。如果这是为你工作,有可能有一些疯狂的黑客在你所使用的播放流,我将在使用它的不同的警惕。
https://stackoverflow.com/questions/21210218
复制相似问题