4

要链接到 SHOUTcast/HTTP 互联网广播流,通常您会链接到播放列表文件,例如 M3U 或 PLS。从那里,浏览器将启动注册来处理播放列表的音频播放器。这适用于任何 PC、Palm、Blackberry 和 iPhone。

如果不安装额外的软件,此方法在 Android 中不起作用。当然,Just PlaylistsStreamFurious可以很好地处理它,但我假设必须有一种方法来调用通常默认安装在 Android 安装上的音频或视频播放器。

默认情况下,没有音频播放器能够处理 M3U 或 PLS。播放器似乎打开它,但显示“不支持的媒体类型”。

更烦人的是,浏览器能够通过 HTTP 流式传输 MP3 音频,只需打开指向 MP3 文件的链接即可。我尝试直接链接到 SHOUTcast 托管的 MP3 流,结果应该相同,但 SHOUTcast 在用户代理字符串中检测到“Mozilla”,而不是发送流,而是发送信息页面车站。

我应该如何从普通的移动网站链接到 Android 上的 SHOUTcast 流,而不使用额外的应用程序?

4

4 回答 4

3

正如评论中所指出的,您所问的问题是不可能的,至少在 3.0 出现之前,即使这样,大多数设备上的功能也需要很长时间。“没有额外的应用程序”的限制太有限了。以下是一些违反此约束的替代方案,我敦促您考虑:

  • 要求用户安装应用程序
    是的,这不是您想要的,但这是最简单的事情。Just Playlists(正如您所发现的)将是一个很好的推荐。

  • 使用 flash
    不是每个人都有 flash,但对于那些你可以嵌入 flash 小部件来播放播放列表的人。我找到了一个听起来像是可以通过快速谷歌搜索的。SHOUTcast 有自己的 Flash 播放器吗?

  • 等等
    基本上你唯一的选择,因为这个功能在 Android 中还没有。

于 2011-02-17T17:31:18.633 回答
1

您的 M3U 文件包含哪种流?

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

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

完美运行

不要忘记在不同的线程中运行它。

于 2011-02-24T13:28:49.767 回答
1

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

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

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

请注意,如果你想让它工作,你必须对 SHOUTcast 做很多黑客攻击,因为Android 需要一个有效的 HTTP 资源,而 SHOUTcast 不提供。另请注意,分块编码似乎不适用于 Android 2.2 及更早版本。

附带说明一下,如果您不想为此编写自己的代码,我已经在我正在开发的流媒体服务器AudioPump 中实现了流式传输到 Android 。

于 2012-07-29T07:46:55.250 回答
-1

终于找到解决办法了!使用Opera网络浏览器,它会提示保存 m3u 文件。然后启动justplaylists。在我的 HTC Incredible 2 上工作就像一个魅力

于 2011-06-15T14:27:09.323 回答