ActionScript 3 – Programmation séquentielle et orientée objet
254
Elles sont très courtes et très simples car elles se limitent au lancement et à l’arrêt du son.
Comme nous le mentionnions plus haut, nous avons utilisé l’instance de la classe SoundChannel() dans la ligne d’instruction de lecture du son.
En conclusion, pour arrêter un son vous devez non seulement faire appel à la méthode
stop(), mais également assigner la lecture d’un son à une piste son, que vous créez à l’aide
la classe SoundChannel().
Exemple
Si vous utilisez correctement le fichier son2.fla, vous n’aurez pas de surprise. Mais
essayez de cliquer plusieurs fois sur le bouton Lecture et de cliquer sur le bouton Arrêt
sans avoir préalablement cliqué sur le bouton Lecture. Que constatez-vous ? La lecture
du son est démultipliée à chaque clic sur le bouton Lecture et un message d’erreur apparaît
si le premier clic se fait sur le bouton Arrêt ! Pour pallier ces problèmes, voici un nouveau
script qui gère également l’apparence des boutons Lecture et Arrêt.
Fichier de référence : Chapitre12/son3.fla
btArret.alpha=0.5;
var cheminSon:URLRequest = new URLRequest("Instru4.mp3");
var enceinte = new Sound(cheminSon);
var piste1:SoundChannel;
btLecture.addEventListener(MouseEvent.MOUSE_DOWN,lireSon);
function lireSon(evt:MouseEvent) {
piste1 = enceinte.play();
btLecture.mouseEnabled = false;
evt.currentTarget.alpha=0.5;
btArret.alpha=1;
btArret.addEventListener(MouseEvent.MOUSE_DOWN,arreterSon);
}
function arreterSon(evt:MouseEvent) {
piste1.stop();
btLecture.mouseEnabled = true;
btLecture.alpha=1;
btArret.alpha=0.5;
}
L’analyse de ce script est intéressante car sa construction est particulière. Voici quelques
remarques à son sujet :
• Tout d’abord, vous noterez que nous avons rendu le bouton Arrêt transparent pour
exprimer le fait qu’il n’est pas cliquable.
• Nous créons un écouteur qui gère la fonction arreterSon() seulement à partir du moment
où l’utilisateur à cliqué sur le bouton Lecture.
• Nous utilisons la propriété mouseEnabled pour interdire le clic sur le bouton Lecture lorsque
la lecture du son est en cours.
Précédent

- 282/426

Suivant