Если я не ошибаюсь, вы не можете использовать onPrepare, потому что mp.prepare () вызывается внутри MediaPlayer.create (). Самый простой код может быть примерно таким:
MediaPlayer mp = MediaPlayer.create(this, streamUri);
mp.start();
Если вы хотите что-то более сложное, вы можете попробовать это:
MediaPlayer mp = MediaPlayer.create(this, streamUri);
if(mp == null) {
Log.v(this.toString(), "Create() on MediaPlayer failed.");
} else {
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//here you should call the methods to release memory
mp.stop();
mp.release();
}
});
mp.start();
}
Скажите, помогло ли это вам.
PD: лучше, если вы используете устройство для тестирования, а не симулятор. Некоторые классы там не работают должным образом (MediaPlayer не может воспроизводить видео в симуляторах), и я не помню, поддерживает ли он аудио.