要链接到SHOUTcast / HTTP互联网广播流,传统上您会链接到播放列表文件,例如M3U或PLS . 从那里,浏览器将启动注册的音频播放器以处理播放列表 . 这适用于任何PC,Palm,Blackberry和iPhone .
如果不安装额外的软件,此方法在Android中不起作用 . 当然,Just Playlists或StreamFurious可以很好地处理它,但我假设必须有一种方法来调用默认安装在Android安装上的音频或视频播放器 .
默认情况下,没有音频播放器能够处理M3U或PLS . 玩家似乎打开它,但说“不支持的媒体类型” .
为了使这更加烦人,浏览器能够通过HTTP流式传输MP3音频,只需打开MP3文件的链接即可 . 我曾尝试直接链接到SHOUTcast托管的MP3流,最终会产生相同的结果,但SHOUTcast在用户代理字符串中检测到“Mozilla”,而不是发送流,而是发送信息页面 . 站 .
How should I link to a SHOUTcast stream on Android, from a normal mobile site, without using extra applications?
4 回答
正如评论中所指出的那样,你所要求的是不可能的,至少在3.0出现之前,即使这样,大多数设备上的功能都需要很长时间 . “没有额外的应用程序”限制是非常有限的 . 以下是一些违反此约束的替代方案,我敦促您考虑:
Ask users to install an app
是的's not what you want, but it'是最简单的事情 . Just Playlists(正如您所发现的)将是一个很好的推荐 .
Use flash
不是每个人都有闪光灯,但对于那些你可以嵌入Flash小部件来播放播放列表的人 . 我发现one that sounds like it'll work来自一个快速的谷歌 . SHOUTcast有它自己的Flash播放器吗?
Wait
基本上你唯一的其他选择,因为这个功能在Android中还没有 .
你的M3U文件包含哪种流?
例如,您可以跳过M3U并将数据源直接设置为rtsp流 .
完美的工作
不要忘记在另一个线程中运行它 .
适用于所有Android的解决方案! (在2.1及更高版本上测试)
事实证明,这可能是 is . 对于Android,您只需直接链接到流,而不是像在其他平台上那样链接到播放列表 . (这似乎是鲁本斯克拉顿在他的评论中所得到的 . 我希望我之前看过他的评论!)
浏览器将连接到流,检测
Content-Type
,然后决定将其传递给默认媒体播放器,如果它可以处理它 . 然后媒体播放器将缓冲并开始播放 .请注意,如果你希望这个工作,你必须对SHOUTcast进行相当多的黑客操作,如SHOUTcast不提供的 Android requires a valid HTTP resource . 另请注意,分块编码似乎不适用于Android 2.2及更早版本 .
作为旁注,如果你不想为此编写自己的代码,我已经实现了streaming to Android in AudioPump,我正在研究的流媒体服务器 .
终于找到了解决方案!使用 Opera Web浏览器,它将提示保存m3u文件 . 然后启动 justplaylists . 就像我的HTC Incredible 2上的魅力一样