Bonjour,

Je suis nouveau dans la programmation en action script 3. J'ai un problème avec SOUND_COMPLETE et SoundChannel.

Voila ce que je veux faire :
Dans mon animation j'ai deux boutons (a et b) quand je clique sur l'un ou sur l'autre, il y a un son qui est joué.

Durant la lecture, je veux modifier l'apparence du bouton, puis à la fin du son je veux que le bouton redeviens comme au début.

Pour savoir si le son est finit de joué j'utilise l'évènement SOUND_COMPLETE, pour les deux évènements j'utilise la même fonction.
Comment je peux savoir quel est le son qui viens de se finir pour rétablir l'apparence du bouton associé ?

Dans les propriétés currentTarget et target je récupère l'objet soundChannel.
Est-il possible d'exploiter quelque chose dans les propriétés de l'objet soundChannel

Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
//Gestion du bouton A
var bouton_a: scene_bouton_a;
var bouton_a_lecture:scene_bouton_a_lecture;
 
bouton_a = new scene_bouton_a();
bouton_a_lecture = new scene_bouton_a_lecture();
addChild(bouton_a);
bouton_a.x = 150;
bouton_a.y = 150;
//Gestion du son A
var chemin_son_a:URLRequest = new URLRequest("a.mp3");
var son_a = new Sound();
var piste_a:SoundChannel;
son_a.load(chemin_son_a);
 
//Gestion du bouton B
var bouton_b: scene_bouton_b;
var bouton_b_lecture:scene_bouton_b_lecture;
 
bouton_b = new scene_bouton_b();
bouton_b_lecture = new scene_bouton_b_lecture();
addChild(bouton_b);
bouton_b.x = 250;
bouton_b.y = 250;
 
//Gestion du son B
var chemin_son_b:URLRequest = new URLRequest("b.mp3");
var son_b = new Sound();
var piste_b:SoundChannel;
son_b.load(chemin_son_b);
 
//Evenement CLICK
bouton_a.addEventListener(MouseEvent.CLICK,lanceSonA);
bouton_b.addEventListener(MouseEvent.CLICK,lanceSonB);
 
 
 
function lanceSonA(evt:MouseEvent):void {
 
        piste_a = a_son.play();         
        removeChild(bouton_a);
        addChild(bouton_a_lecture);
        bouton_a_lecture.x=bouton_a.x;
        bouton_a_lecture.y=bouton_a.y;
 
        piste_a.addEventListener(Event.SOUND_COMPLETE,sonTerminee);
 
}
function lanceSonB(evt:MouseEvent):void {
 
        piste_b = a_son.play();         
        removeChild(bouton_a);
        addChild(bouton_a_lecture);
        bouton_a_lecture.x=bouton_b.x;
        bouton_b_lecture.y=bouton_b.y;
 
        piste_b.addEventListener(Event.SOUND_COMPLETE,sonTerminee);
 
}
 
 
function sonTerminee(evt:Event):void
{
        trace("fin musique");
        //Comment savoir si c'est piste_a ou piste_b 
}
Merci d'avance