【问题标题】:How do I play mms:// link in android media player如何在 android 媒体播放器中播放 mms:// 链接
【发布时间】:2014-06-03 16:01:26
【问题描述】:

我想在我的安卓应用中播放这个收音机:http://www.voadeewaradio.com/ 上面写着“现场音频”

我查看了该页面的源代码,找到了播放收音机的链接,它的 .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 中这个链接不起作用。

【问题讨论】:

    标签: android radio


    【解决方案1】:

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

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


    对于彩信流的播放,这是not supported by Android's MediaPlayer。你需要一个第三方库来做到这一点:Java library to read a Microsoft Media Server (MMS) stream

    【讨论】:

    • +1 流 url 应该位于文件中的/asx/entry/ref
    【解决方案2】:

    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

    【讨论】:

      猜你喜欢
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多