Android Media Player перезагрузите аудиозапись после выключения

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

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

Начать играть

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

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

mediaPlayer.stop

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

* PATH - это URL-адрес непрерывной радиостанции.

Ответ 1

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

mp.reset();
mp.setDataSource(MEDIA_PATH);
mp.prepare();
mp.start();

Ответ 2

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

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

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

mp.start();

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

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

Ответ 3

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