Проигрыватель Android Media перезапускает звук после завершения вызова - PullRequest
12 голосов
/ 20 декабря 2010

Я могу потоковое аудио и остановить его без каких-либо проблем, но когда я пытаюсь запустить его снова после остановки, он не запускается и я получаю исключение IllegalState.

Вот что яЯ делаю:

Начать воспроизведение

mediaPlayer.setDataSource(PATH);
mediaPlayer.prepare();
mediaPlayer.start();

Остановить воспроизведение

mediaPlayer.stop

Теперь, если я хочу снова начать воспроизведение того же носителя, что мне нужноdo?

* PATH - это URL-адрес постоянно работающей радиостанции.

Ответы [ 3 ]

28 голосов
/ 01 июня 2014

Если у вас нет доступа к источнику данных в текущей области, вы можете сделать:

mp.pause();
mp.seekTo(0);

Затем, когда вы выполните

mp.start();

, воспроизведение начнется сначало снова.

Мне это нужно, потому что у меня была кнопка, которая переключала игру.У меня был метод togglePlayer, в котором источник данных находился вне области видимости.

9 голосов
/ 20 декабря 2010

Добавить это:

mp.reset();
mp.setDataSource(MEDIA_PATH);
mp.prepare();
mp.start();
5 голосов
/ 20 декабря 2010

вы можете проверить диаграмму состояния медиаплеера http://developer.android.com/reference/android/media/MediaPlayer.html после того, как медиаплеер остановился, должен вызвать метод prepare, когда он подготовлен, а затем вы можете вызвать метод start.

...