【发布时间】:2015-06-26 06:24:45
【问题描述】:
我正在使用流媒体的 Android 中制作类似 Radio 的应用,这里我需要从链接中流式传输音频
http://sc-ccountry.1.fm:7806/listen.pls
在后台。这个链接是我从 JSON 响应中得到的。我可以在 MediaPlayer 中播放 MP3 类型的音频,但无法播放“.pls”。
这有什么问题?我该如何克服呢?
【问题讨论】:
我正在使用流媒体的 Android 中制作类似 Radio 的应用,这里我需要从链接中流式传输音频
http://sc-ccountry.1.fm:7806/listen.pls
在后台。这个链接是我从 JSON 响应中得到的。我可以在 MediaPlayer 中播放 MP3 类型的音频,但无法播放“.pls”。
这有什么问题?我该如何克服呢?
【问题讨论】:
根据Wikipedia,.pls 文件是 SHOUTcast 和 Icecast 用于流媒体的文件格式。 Android 媒体播放器本身绝对不支持它。但是解析自己看起来非常容易。文件格式是一个基本的 .ini 文件,编写解析器很简单。您必须自己弄清楚各种标签是什么。
在这样做之前,您可能应该请求要传递给媒体播放器的任何文件的 HTTP 标头,以确保流的内容类型是合理的。如果您从网络广播电台抓取内容,除了 .pls 文件之外,您还会看到很多内容包装格式(例如 M3U 文件也很常见)。
您可以使用 HTTP HEADER 动词而不是 GET 动词来查看标头是什么,而无需获取内容。或者,也许他们很乐意为您提供 JSON 中的 MIME 类型。
【讨论】: