Estoy tratando de usar la clase android MediaPlayer para reproducir algunos sonidos.No se puede obtener Android MediaPlayer onCompletion para disparar
Aquí está el código
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();
Este código se ejecuta en un servicio, pero por alguna razón el sonido se reproduce bien, pero nada se coloca en la onCompletion no parece al fuego. Luego recibo un mensaje en el logcat que dice que el reproductor multimedia no fue lanzado. No entiendo por qué me equivoqué con esto.
Estoy ejecutando esta prueba en una galaxia nexus 4.0.4 stock rom.
También observo que el sonido puede cortarse al final.
Supongo que "video" es una instancia de MediaPlayer? y que tienes un "implemento MediaPlayer.OnCompletionListener" en tu clase? He intentado este método también pero no funcionó. – Andrew
@Andrew ¿Cómo se acepta la respuesta, si no funcionó? ¿Lo hiciste funcionar? Si es así, ¿cómo? – hendrix
@smitalm call start() antes de configurar su oyente. – ajacian81