android - reproductor - ¿Cómo se detecta cuando un archivo de sonido ha terminado?
reproducir audio android studio (2)
Estoy reproduciendo un archivo de sonido usando este código dentro de una actividad de receptor de difusión:
notification.sound = Uri.parse("android.resource://emad.app/raw/seven_chimes");
Me gustaría detectar cuando este archivo ha terminado de reproducirse.
Probé un ciclo como este, pero creo que esto solo es bueno para el reproductor de medios porque siempre es = falso, aunque me aseguré de que el archivo de sonido aún se estaba reproduciendo:
/*
* Stay here until the chime sound is finished.
*/
while (manager.isMusicActive()){
}
¿Puede mostrarme qué debo usar en lugar de manager.isMusicActive()
?
Puede usar la clase MediaPlayer y agregar un oyente de finalización para que se active cuando el sonido termine de reproducirse
MediaPlayer mp = MediaPlayer.create(this,Uri.parse("android.resource://emad.app/raw/seven_chimes"));
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
performOnEnd();
}
});
mp.start();
intenta usar el servicio para reproducir la música ... después de que se reproduzca una vez, luego detén tu servicio y puedes agregar tu programa en el método de servicio onDestroy (). Espero que ayude :)