Прямая трансляция через медиаплеер в Android - PullRequest
3 голосов
/ 18 ноября 2011

Может ли какое-либо тело помочь, как транслировать живой URL-адрес в Android MediaPlayer ... Я пробовал такой длинный, но тот же результат .... Пожалуйста, помогите, если какой-либо орган сделал раньше

Ответы [ 5 ]

5 голосов
/ 03 декабря 2012

В основном вам необходимо сделать следующее, если вы используете класс Android MediaPlayer:

MediaPlayer mediaPlayer = new MediaPlayer();

mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
    public boolean onError(MediaPlayer mp, int what, int extra) {
        mp.reset();
        return false;
    }
});

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    public void onPrepared(MediaPlayer mp) {
        mp.start();
    }
});

try {
    mediaPlayer.setDataSource("http://someurl");
    mediaPlayer.prepareAsync();
} catch (IllegalArgumentException e) {
} catch (IllegalStateException e) {
} catch (IOException e) {
}

Помните, что класс Android MediaPlayer будет воспроизводить только поддерживаемые форматы: http://developer.android.com/guide/appendix/media-formats.html

1 голос
/ 21 декабря 2018

Работая на меня в API 28

   MediaPlayer mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource("http://209.188.21.202:8016/stream");
            mediaPlayer.prepare();
            mediaPlayer.start();

Пожалуйста, не забудьте добавить разрешения для манифеста при использовании ИНТЕРНЕТ

    <uses-permission android:name="android.permission.INTERNET" />

Также осторожно с useCleartextTraffic

Начиная с Android 9.0 (уровень API 28), поддержка открытого текста по умолчанию отключена.

В моем случае я добавляю -> android: используетCleartextTraffic = "true" в манифесте

Справочник ->

Android 8: HTTP-трафик в открытом тексте запрещен

1 голос
/ 14 июля 2015
public class MainActivity extends ActionBarActivity {
    String vidAddress ="your http link";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        VideoView vidView = (VideoView)findViewById(R.id.myVideo);
        Uri vidUri = Uri.parse(vidAddress);
        vidView.setVideoURI(vidUri);
        MediaController vidControl = new MediaController(this);
        vidControl.setAnchorView(vidView);
        vidView.setMediaController(vidControl);
        vidView.start();


    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
1 голос
/ 18 ноября 2011

Вы можете использовать это:

    MediaPlayer mediaPlayer = MediaPlayer.create(this, Uri.parse("YOUR URL HERE"));
    mediaPlayer.start();
0 голосов
/ 29 ноября 2012

MediaPlayer глючит, если вы транслируете аудио с удаленного URL.Иногда работает, но зависает в основном для удаленного.

Попробовал ниже который зависает

   mediaPlayer = MediaPlayer.create(this, Uri.parse("YOUR URL HERE"));
        mediaPlayer.start();

также пробовал mediaPlayer.prepareAsync ();и внедрить готового слушателя.Не работает .. Используемое устройство - Samsung galaxy mini

. Пытался вручную прочитать содержимое URL-адреса и обновить источник данных MediaPlayer с помощью буферизованного содержимого.Работает в основном, но пока не выяснил, как переключать URL-адреса и т. Д.

Пример здесь для VideoPlayer, но должен быть такой же концепции и для аудиоплеера

http://davanum.wordpress.com/2007/12/29/android-videomusic-player-sample-from-local-disk-as-well-as-remote-urls/

Редактировать

А, только что нашел это http://launch -code.blogspot.co.uk / 2012/01 / android-play-audio-asyncplayer.html
Кажется, чтобы обернутьприятно звонит MediaPlayer: http://www.netmite.com/android/mydroid/frameworks/base/media/java/android/media/AsyncPlayer.java

...