我想在我的Android应用中播放这个收音机:http://www.voadeewaradio.com/ 在哪里说“现场音频”
我进入了该页面的源代码,我找到了播放收音机的链接,其.asx格式:
<a href="http://www.voanews.com/wm/live/radiodeewa.asx">Live Audio</a>
我使用Cocsoft StreamDown将.asx格式转换为普通的url:端口,然后由
读取player.setDataSource("mms://a1314.l211036239.c2110.g.lm.akamaistream.net/D/1314/2110/v0001/reflector:36239");
正如你所看到的,Cocsoft StreamDown给了我上面的链接,当我在浏览器中粘贴时,它会在媒体播放器中打开收音机。虽然在Android中这个链接不起作用。
答案 0 :(得分:1)
首先,不要将URL硬编码到应用程序中,只需阅读.asx
- 文件并从中解析URL,它就是一种简单的XML格式。
这样,如果流URL更改,则无需更新应用程序。
对于MMS流的播放,这是not supported by Android's MediaPlayer
。您需要第三方库才能执行此操作:Java library to read a Microsoft Media Server (MMS) stream
答案 1 :(得分:1)
我对http://vitamio.org软件感到满意。
我从他们的网站下载了vitamio-Android-3.0.7z并创建了一个包含以下内容的测试项目:
import io.vov.vitamio.MediaPlayer;
...
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
String mms_url = "mms://streaming.radionz.co.nz/national-mbr";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))
return;
Button button = new Button(this);
button.setText("Hit me");
setContentView(button);
final MediaPlayer player = new MediaPlayer(MainActivity.this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "playing a mms stream ...");
try {
player.setDataSource(mms_url);
player.prepare();
player.start();
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
}
}
});
}
}
我在基于Android4.2 armeabi-v7a的模拟器上进行了测试。
他们没有编译的演示应用程序,而是用于播放视频。
以下是我创建的演示应用程序:https://www.dropbox.com/s/u2ub1jwne3qjuxd/vitamio_mms_test.tar.bz2?n=127293939