首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5广播流在安卓系统中工作,但不适用于Windows或Linux (听觉月亮)

HTML5广播流在安卓系统中工作,但不适用于Windows或Linux (听觉月亮)
EN

Stack Overflow用户
提问于 2014-01-18 21:39:17
回答 1查看 747关注 0票数 0

网址参考: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源代码摘录:

代码语言:javascript
复制
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);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-19 03:41:02

链接到的流正在运行SHOUTcast服务器。SHOUTcast流有两个常见的问题。您遇到的情况是,SHOUTcast将web /status接口发送给所有具有Mozilla的客户端,这些客户机的User-Agent字符串都是User-Agent。因此,当您尝试与大多数浏览器流,而不是音频数据,您将得到一个网页。

您可以通过在URL末尾添加分号;来告诉服务器覆盖用户代理字符串来解决这个问题:

代码语言:javascript
复制
http://live.str3am.com:2010/;

然后,服务器将用户代理字符串视为MPEG OVERRIDE,给出流。

您将不可避免地遇到的第二个问题是,SHOUTcast服务器没有在其状态线上发送适当的HTTP。而不是:

代码语言:javascript
复制
HTTP/1.0 200 OK

SHOUTcast服务器发送:

代码语言:javascript
复制
ICY 200 OK

大多数浏览器都会接受这一点,但情况却越来越不一样了。出了名的Firefox在一段时间前破坏了与这些破头的兼容性,但后来解决了这个问题(很可能是暂时的)。我怀疑这就是11的问题所在,因为我给您的测试流(纯HTTP)工作得很好。

最后,我要指出,#.mp3的附属物不应该做任何事情。这当然与服务器发送内容无关,浏览器也不关心“文件扩展名”是什么.他们只关心Content-Type响应头。如果这是为你工作,有可能有一些疯狂的黑客在你所使用的播放流,我将在使用它的不同的警惕。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21210218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档