关于Google Cast的MediaInfo.Builder,我有一个问题。我使用了以下代码:
MediaInfo mediaInfo = new MediaInfo.Builder("http://shoutcast2.index.uz.zgora.pl:8000")
.setStreamType(MediaInfo.STREAM_TYPE_LIVE)
.setContentType("audio/mpeg")
.build();但是Cast player根本不起作用。原因是,该URL指向SHOUTCAST。显然,问题出在内容类型上。有人可以建议将哪个contentType用于shoutcast流,或者至少提供一些解决方法吗?
谢谢。
发布于 2017-05-25 08:23:46
使用http://shoutcast2.index.uz.zgora.pl:8000/;而不是http://shoutcast2.index.uz.zgora.pl:8000/。注意末尾的分号。
SHOUTcast服务器将在User-Agent请求报头中查找Mozilla,作为检测浏览器与媒体播放器的一种方式。如果服务器认为客户端是浏览器,它将发送管理页面而不是流。通过在请求URI中传递;,SHOUTcast服务器将使用MPEG OVERRIDE的用户代理字符串并发送实际的流数据。
你还应该知道SHOUTcast并不是真正兼容超文本传输协议的。它足够接近,可能会工作,但在未来可能会停止工作。Icecast是几个更好的选择之一。
发布于 2017-06-06 03:14:09
布拉德的解决方案对我很有效。只是在端口后面添加了斜杠和分号。我还将内容类型从audio/mpeg更改为audio/mp3。我的工作代码如下所示。
MediaInfo mediaInfo = new MediaInfo.Builder("http://shoutcast2.index.uz.zgora.pl:8000/;")
.setStreamType(MediaInfo.STREAM_TYPE_LIVE)
.setContentType("audio/mp3")
.build();https://stackoverflow.com/questions/44167708
复制相似问题