Ответ 1
Добавьте это:
mp.reset();
mp.setDataSource(MEDIA_PATH);
mp.prepare();
mp.start();
Я могу передавать аудио и останавливать его без каких-либо проблем, но когда я пытаюсь запустить его снова после остановки, он не запускается, и я получаю исключение IllegalState.
Вот что я делаю:
Начать играть
mediaPlayer.setDataSource(PATH);
mediaPlayer.prepare();
mediaPlayer.start();
Остановить воспроизведение
mediaPlayer.stop
Теперь, если я хочу снова начать воспроизведение того же носителя, что мне делать?
* PATH - это URL-адрес непрерывной радиостанции.
Добавьте это:
mp.reset();
mp.setDataSource(MEDIA_PATH);
mp.prepare();
mp.start();
Если у вас нет доступа к источнику данных в текущей области, вы можете сделать:
mp.pause();
mp.seekTo(0);
Затем, когда вы делаете
mp.start();
воспроизведение начнется с начала снова.
Мне это нужно, потому что у меня была кнопка, которая переключила игру. У меня был метод togglePlayer, в котором источник данных был недоступен.
вы можете проверить диаграмму состояний медиаплеера http://developer.android.com/reference/android/media/MediaPlayer.html после того, как медиаплеер остановился, необходимо вызвать "подготовить", когда он будет подготовлен, а затем вы можете вызвать метод start.