首页 文章

从用于流媒体的网页在Android上启动音频播放器的方法

提问于
浏览
4

要链接到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 回答

  • 1

    正如评论中所指出的那样,你所要求的是不可能的,至少在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中还没有 .

  • 3

    你的M3U文件包含哪种流?

    例如,您可以跳过M3U并将数据源直接设置为rtsp流 .

    mediaPlayer.setDataSource("rtsp://xxx/stream.stream");
    

    完美的工作

    不要忘记在另一个线程中运行它 .

  • 1

    适用于所有Android的解决方案! (在2.1及更高版本上测试)

    事实证明,这可能是 is . 对于Android,您只需直接链接到流,而不是像在其他平台上那样链接到播放列表 . (这似乎是鲁本斯克拉顿在他的评论中所得到的 . 我希望我之前看过他的评论!)

    浏览器将连接到流,检测 Content-Type ,然后决定将其传递给默认媒体播放器,如果它可以处理它 . 然后媒体播放器将缓冲并开始播放 .

    请注意,如果你希望这个工作,你必须对SHOUTcast进行相当多的黑客操作,如SHOUTcast不提供的 Android requires a valid HTTP resource . 另请注意,分块编码似乎不适用于Android 2.2及更早版本 .

    作为旁注,如果你不想为此编写自己的代码,我已经实现了streaming to Android in AudioPump,我正在研究的流媒体服务器 .

  • -1

    终于找到了解决方案!使用 Opera Web浏览器,它将提示保存m3u文件 . 然后启动 justplaylists . 就像我的HTC Incredible 2上的魅力一样

相关问题