Android MediaPlayer音频流 - 使用哪个URL?

时间:2014-01-16 14:42:03

标签: android android-mediaplayer audio-streaming

我正在学习android编程,并一直在尝试使用音频流媒体播放MediaPlayer。 Android guide很明显,你只需要指定URL,但我很难解决该URL应该实际应该包含在代码中以流式传输各种无线电台的内容。 (我不是想在互联网上的某个地方播放mp3文件,但实际上是使用“真正的”流媒体) 我在下面描述的是我到目前为止所发现的内容,并且我已经让它工作正常,但这一切看起来都很麻烦,我的问题是:有没有更好的方法来确定使用哪些URL? /> 首先,我在Basics of streaming protocols上发现了一篇很好的文章。 其次,我查看了shoutcast,并尝试选择它正在使用的URL。对于我看过的广播电台(例如www.rockradio1.com),它正在发布一个.pls文件(根据维基百科的播放列表文件),VLC解释并开始播放流媒体音乐。 但是,将.pls文件提供给我的android程序不起作用。 然后我查看了.pls文件,找到类似的内容:

[playlist]
numberofentries=5
File1=http://91.121.7.49:8000
Title1=(#1 - 177/400) RockRadio1.Com - Classic Hard Rock and Heavy Metal Mix, 24/7 Live Requests / www.rockradio1.com
Length1=-1
File2=http://91.121.195.222:8000
Title2=(#2 - 186/400) RockRadio1.Com - Classic Hard Rock and Heavy Metal Mix, 24/7 Live Requests / www.rockradio1.com
Length2=-1
File3=http://91.121.75.155:8000
Title3=(#3 - 190/400) RockRadio1.Com - Classic Hard Rock and Heavy Metal Mix, 24/7 Live Requests / www.rockradio1.com
Length3=-1
File4=http://77.74.192.50:8000
Title4=(#4 - 70/100) RockRadio1.Com - Classic Hard Rock and Heavy Metal Mix, 24/7 Live Requests / www.rockradio1.com
Length4=-1
File5=http://176.31.235.147:8000
Title5=(#5 - 351/500) RockRadio1.Com - Classic Hard Rock and Heavy Metal Mix, 24/7 Live Requests / www.rockradio1.com
Length5=-1
Version=2

当我将其中一个网址提供给Android程序时,它运行正常。 同时浏览rockradio1网站,我发现了一个带

的播放列表文件
File1=http://rockradio1-3.mixstream.net 

并插入该URL也可以正常工作。 然而,这些URL看起来都是一个黑客攻击,我猜测可能有一种更复杂的方式来正确的流客户端运行。我个人认为这只是一个学习练习而不是试图开发任何商业软件,但我会对如何更好地确定要使用的URL感兴趣。

1 个答案:

答案 0 :(得分:0)

你能编写一个包装函数,从你定义的URL下载.pls文件,然后从中提取URL吗? This SO question似乎只是在解决这个问题。那里的答案中嵌入了一些可能符合你想要的代码。