Как играть в mms: // ссылку в Android-плеер

Я хочу играть на этом радио в приложении для Android: 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 эта ссылка не работает.

Во-первых, вместо жесткого кодирования URL-адреса в вашем приложении просто прочитайте .asx -файл и проанализируйте URL-адрес из него, это простой формат XML.

Таким образом, вам не нужно обновлять приложение, если изменяется URL-адрес потока.


Для воспроизведения потоков MMS это не поддерживается MediaPlayer от Android . Для этого вам понадобится сторонняя библиотека: библиотека Java для чтения потока Microsoft Media Server (MMS)

Мне повезло с программным обеспечением 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