geek space web solutions

Écouter l'événement SOUND_COMPLETE de SoundChannel

Samedi, 16 Avril 2011 14:38
as3 sound
En développant un petit lecteur MP3 en AS3, en voulant gérer le passage automatique aux morceaux suivants, je devais détecter l'événement de "fin de lecture" du morceau pour lire le morceau suivant. L'événement Event.SOUND_COMPLETE existe bien cependant je ne comprenais pas pourquoi je ne le détectais pas cet événement.

La classe SoundChannel contrôle un son dans une application.
Chaque son est attribué à un canal audio, et l'application peut avoir plusieurs canaux audio mélangés.
La classe SoundChannel contient une méthode stop(), des propriétés permettant de contrôler du volume du canal et une propriété servant à affecter un objet SoundTransform au canal.

Evénement Synthèse Défini par
soundComplete
Distribué au terme de la lecture d'un son. SoundChannel

En faisant quelques recherches sur Internet, certainement comme vous en lisant ces lignes :-), je suis tombé sur un forum où une personne explique qu'il faut rajouter l'écouteur à chaque fois que l'on fait à nouveau appel à la fonction play() de la Class Sound...

Mon problème n'était donc pas que l'événement n'était pas déclenché mais qu'il n'était plus écouté... Pour résoudre mon problème il fallait que je rajoute l'écouteur de SOUND_COMPLETE après chaque nouvel appel à la fonction play() comme ci-dessous :
soundChannel = sound.play();

soundChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);

(...)

private function soundCompleteHandler(event:Event):void {
trace("soundCompleteHandler: " + event);
next();
}

C'est finalement très logique puisqu'à chaque fois qu'on fait appel à la fonction play() de la Class Sound, un nouveau SoundChannel est renvoyé, il faut donc lui ajouter à nouveau l'écouteur pour détecter la "fin de la lecture" (Event.SOUND_COMPLETE)
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Sections

Éditeur de fichier XML en ligne


"XML Manager" est un éditeur sécurisé permettant d'administrer en ligne un fichier XML.
Il fournit des fonctions avancées de recadrage et de redimensionnement des images...

Sondages

Pensez-vous que le HTML5 puisse complètement remplacer Flash ?
 
Seriez-vous intéressé par un éditeur d'XML en ligne ?
 

Paypal

paypal

Code du plugin Joomla AutoSEO 1.2 par www.geek-space.fr