Bonjour,

comme projet personnel, j'ai décidé de réaliser un lecteur mp3 qui utilise une playlist en xml. J'ai donc une liste déroulante pour permettre de choisir une chanson, puis un bouton play, pause et stop.

Le souci que j'ai ce que je n'arrive pas à dire à flash de changer la musique si j'en choisie une autre il reste bloquer sur la première choisie.

Si quelqu'un pouvait m'aider je pense que c'est un tout petit problème de rien du tout.

Mon 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
//Déclarations des variables
var decalage = 0;
var charge = false;
var temps, si;
 
//Les proprietes du son joue
var chanson = new Sound();
chanson.onSoundComplete = function() {
  _root.stop();
};
 
//Conserver la position lors d'une pause
function memoire() {
  decalage = chanson.position/1000;
}
 
//Bouton play
this.mc_play.onPress = function()
{
     if (charge == false) //Si la chanson n'est pas chargee
     {
    	chanson.onLoad = function(ok) //On la charge
        {
      		if (ok=true)//si la musique est chargée
         	{
        		charge = true;
        		temps = Math.round(chanson.duration/1000);
        		chanson.start();//lancement de la chanson
        		si = setInterval(memoire, 1000);
      		}
    	};
 
    	//L'utilisateur n'a pas choisi dans la liste
    	if(fichier == undefined) { fichier = cb_playlist.selectedItem.data; }
    	chanson.loadSound(fichier, false);
     }
     else
     {
    	chanson.start(decalage);
    	si = setInterval(memoire, 1000);
     }
}
 
//Définir un ecouteur sur l'evenement onChange de la combobox
var listenerObject:Object = new Object();
listenerObject.change = function(eventObject:Object) 
{		
	//chanson = new Sound();
	fichier = cb_playlist.selectedItem.data;
	//chanson.loadSound(fichier, false);
};
cb_playlist.addEventListener("change", listenerObject);
 
this.mc_pause.onPress = function()
{
	clearInterval(si);
  	chanson.stop();
}
 
this.mc_stop.onPress = function()
{
	clearInterval(si);
  	chanson.stop();
  	decalage = 0;
}
 
//Gestion du XML contenant la playlist
playlist_xml = new XML();
playlist_xml.ignoreWhite = true;
playlist_xml.onLoad = function(ok)
{
  if (ok = true)
  {
 
   var nbChanson = playlist_xml.firstChild.childNodes.length;
    for (i = 0; i < nbChanson; i++)
    {
	  etiquette = playlist_xml.firstChild.childNodes[i].attributes.artiste;
	  donnee = playlist_xml.firstChild.childNodes[i].attributes.fichier;
	  cb_playlist.addItem(etiquette,donnee);	  
    }
	cb_playlist.sortItemsBy("label", "ASC");//trier la liste sur le "label"
  }
};
playlist_xml.load("playlist.xml")
;