Я пытаюсь использовать класс android MediaPlayer для воспроизведения некоторых звуков.
Здесь код
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(context, Uri.parse(soundUrl));
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setLooping(false);
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i(LOGTAG, "onComplete hit");
mp.stop();
mp.release();
}
});
mp.prepare();
mp.start();
Этот код работает в службе, но по какой-то причине звук воспроизводится нормально, но все, что помещается в onCompletion, похоже, не срабатывает. Затем я получаю сообщение в logcat, что медиаплеер не был выпущен. Я в недоумении, что у меня с этим не получается.
Я выполняю это тестирование на галактике nexus 4.0.4.
Я также замечаю, что звук может быть сжат в конце.