【发布时间】:2011-06-26 15:12:33
【问题描述】:
要链接到 SHOUTcast/HTTP 互联网广播流,通常您会链接到播放列表文件,例如 M3U 或 PLS。从那里,浏览器将启动注册来处理播放列表的音频播放器。这适用于任何 PC、Palm、Blackberry 和 iPhone。
此方法在不安装额外软件的情况下不在 Android 中工作。当然,Just Playlists 或 StreamFurious 可以很好地处理它,但我假设必须有一种方法来调用通常默认安装在 Android 安装上的音频或视频播放器.
默认情况下,没有音频播放器能够处理 M3U 或 PLS。播放器似乎打开了它,但显示“不支持的媒体类型”。
为了让这更烦人,浏览器能够通过 HTTP 流式传输 MP3 音频,只需打开 MP3 文件的链接即可。我尝试直接链接到 SHOUTcast 托管的 MP3 流,结果应该相同,但 SHOUTcast 在用户代理字符串中检测到“Mozilla”,而不是发送流,而是发送信息页面车站。
我应该如何从普通的移动网站链接到 Android 上的 SHOUTcast 流,而不使用额外的应用程序?
【问题讨论】:
-
没有单一的“通常默认安装在 Android 安装上的音频或视频播放器”。 Android 开源项目中的一个不支持播放列表,至少在 Android 2.3 中是这样。根据预览版 SDK,在 Android 3.0 中,“应用程序现在可以将 M3U 播放列表 URL 传递给媒体框架,以开始 HTTP Live 流会话。”这意味着 Android 开源项目媒体播放器应用可能支持播放列表,尽管我们需要几周时间才能发现。
-
感谢 CommonsWare 的洞察。当我在我的手机和我见过的任何其他运行 Android 的手机上打开“音乐”时,它会打开一个音频播放器,并且在我见过的每部手机上看起来都是一样的。是你说的那个音频播放器吗?它有特定的名称吗?当我打开“Internet”时,浏览器呢?它有名字吗?我知道这些并非在每个 Android 设备上都可用,但我再次尝试针对最常见的设备。当我在该浏览器中打开 MP3 时,它会开始流式传输。这是网络浏览器的功能还是其他什么?
-
Android 开源项目 (AOSP) 包括许多标准应用程序,包括音乐播放器。它的来源在这里:android.git.kernel.org/?p=platform/packages/apps/…。当浏览器打开 MP3 或其他内容时,它不会按名称运行程序,而是要求 Android 的 Intents 框架来处理它。它有效地告诉操作系统“将此数据提供给可以处理 MIME 类型 'audio/mpeg' 的程序”。请参阅developer.android.com/guide/topics/intents/intents-filters.html,尤其是“数据”部分。
标签: android shoutcast android-browser m3u android-music-player