我对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玩家根本不工作。原因是,该URL导致SHOUTCAST。显然,问题出在内容类型上。有人可以建议哪些contentType用于shoutcast流,或者至少为此提供一些解决方法?
谢谢。
答案 0 :(得分:1)
而不是http://shoutcast2.index.uz.zgora.pl:8000/
,请使用http://shoutcast2.index.uz.zgora.pl:8000/;
。请注意末尾的分号。
SHOUTcast服务器将在Mozilla
请求标头中查找User-Agent
,作为检测浏览器与媒体播放器的方式。如果服务器认为客户端是浏览器,它将发送管理页面而不是流。通过在请求URI中传递;
,SHOUTcast服务器将使用MPEG OVERRIDE
的用户代理字符串,并将发送实际的流数据。
您还应该知道SHOUTcast并不真正与HTTP兼容。它足够接近它可能会起作用,但可能在将来停止工作。 Icecast是几种更好的选择之一。
答案 1 :(得分:0)
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();