4

我想在我的 android 应用程序中播放这台收音机:http : //www.voadeewaradio.com/ 上面写着“LIVE AUDIO”

我查看了该页面的源代码,找到了播放收音机的链接,它的 .asx 格式:

  <a href="http://www.voanews.com/wm/live/radiodeewa.asx">Live Audio</a>

我使用 Cocsoft StreamDown 将 .asx 格式更改为普通的 url:port,然后将被读取

player.setDataSource("mms://a1314.l211036239.c2110.g.lm.akamaistream.net/D/1314/2110/v0001/reflector:36239");

正如您所看到的,Cocsoft StreamDown 给了我上面的链接,当我将其粘贴到浏览器中时,它会在媒体播放器中打开收音机。虽然在 android 中这个链接不起作用。

4

2 回答 2

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

于 2013-02-20T21:46:14.170 回答
1

首先,无需将 URL 硬编码到您的应用程序中,只需读取.asx-file 并从中解析 URL,它是一种简单的 XML 格式。

这样,如果流 URL 发生变化,您就不需要更新您的应用程序。


对于彩信流的播放,Android 的MediaPlayer. 您需要第三方库来执行此操作:Java library to read a Microsoft Media Server (MMS) stream

于 2012-12-26T01:32:21.940 回答