Je joue un fichier son en utilisant ce code dans une activité de récepteur de diffusion:
notification.sound = Uri.parse("Android.resource://emad.app/raw/seven_chimes");
Je voudrais détecter la fin de la lecture de ce fichier.
J'ai essayé une boucle comme celle-ci mais je pense que cela n'est bon que pour le lecteur multimédia car elle est toujours = false même si j'ai vérifié que le fichier son était toujours en cours de lecture:
/*
* Stay here until the chime sound is finished.
*/
while (manager.isMusicActive()){
}
Pouvez-vous me montrer ce que je devrais utiliser au lieu de manager.isMusicActive()
?
Vous pouvez utiliser la classe MediaPlayer et ajouter un écouteur Achèvement à activer lorsque le son se termine
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();
essayez d'utiliser le service pour lire la musique .. après l'avoir lu une fois, puis arrêtez votre service et vous pouvez ajouter votre programme sur la méthode de service onDestroy () .. j'espère que cela aide :)