Salut,
Je débute en action-script donc j'ai repiqué le code d'un lecteur mp3. 
Le problème est que j'essaye de modifier certaines données du code pour
l'adpater à mes besoins et je bloque sur un truc en particulier:
Au départ, tous les sons étaient en attachSound. J'en ai fait des loadSound,
ça me paraissait logique puisque je charge les sons depuis une source externe
spécifiée par un url! De plus, je pensais au début que remplacer des
attachSound par des loadSound ne demandait pas de transformer la structure
du code. C'est du moins ce que je pensais au début parce que j'ai changé d'avis.
Sur la frame d'origine, voici le code (les commentaires sont d'origine aussi, ils ne
sont pas de moi):
/* La plus grande partie du code se trouve sur cette frame, le reste est dans le
bouton pause ainsi que dans la définition du clip curseur ...*/
// new sound = nouveau son, on attribue cette valeur a la variable musique
musique = new Sound(this);
// attachsound sert à attacher un son de la bibliothèque
// par défault aucun son n'est attaché (inutile en fait ;-) )
musique.attachSound("");
// setVolume = réglage du volume du son attaché
// 50 par défault ( sur 100 )
musique.setVolume(50);
// setPan = positionne la balance
// 0 , c-a-d au milieu, par défault
musique.setPan(0);
// position des curseurs servant à regler le volume et la balance,
50 ( au milieu ) par défault
volume.curseur._x = 50;
balance.curseur._x = 50;
// affichage de la durée du son ( en secondes ) dans le champ de texte "pos"
sur la scene
_root.onEnterFrame = function() {
_root.pos = Number(musique.position)/1000;
// affichage de la durée finale du son dans le champ de texte "dur" sur la scene
_root.dur = Number(musique.duration)/1000+" s";
};
// BOUTON PLAY
_root.boutonplay.onRelease = function() {
musique.stop();
musique.start(0, 999);
_root.pause = 0;
_root.boutonpause.gotoAndStop(1);
};
// joue le son précédement attaché, 1 fois .
si on clic sur PLAY, la PAUSE est désactivée
// BOUTON STOP
_root.boutonstop.onRelease = function() {
musique.stop();
};
// BOUTON VOLUME
_root.volume.onEnterFrame = function() {
_root.musique.setVolume(this.curseur._x);
_root.vol = this.curseur._x;
};
// BOUTON BALANCE
_root.balance.onEnterFrame = function() {
_root.musique.setPan((this.curseur._x-50)*2);
_root.bal = this.curseur._x;
};
// CURSEUR
// ce clip va permettre a l'utilisateur de suivre "graphiquement" l'évolution du
son choisi.
_root.curseur.onEnterFrame = function() {
this.barre._x = Number((_root.musique.position/_root.musique.duration))*100;
};
// la position _x ( abcisses ) de la barre du clip est définie par la relation :
( position / duration ) * 100
// Logique !
musique.onSoundComplete = function() {
musique.attachSound("");
musique.start(0, 999);
Personnellement, j'aimerais précharger 3 musiques différentes qui soient audibles
en fondsonore sur mon site. J'aimerais donc que l'utilisateur puisse passer d'une
musique à l'autre en cliquant sur un bouton! C'était déjà faisable sur le lecteur
d'origine. Le code de ces boutons était celui-ci:
on (release) {
_root.musique.stop();
_root.musique.attachSound("son01");
_root.type = "musique 1";
_root.musique.start(0, 99);
}
Voilà pour le code d'origine.
En ce qui me concerne, j'ai rajouté les codes suivant sur la frame:
musique01 = new Sound();
musique02 = new Sound();
musique03 = new Sound();
musique01.loadSound("son01.mp3",false);
musique01.onLoad : function(){
musique01.stop();
}
musique02.loadSound("son02.mp3",false);
musique02.onLoad : function(){
musique02.stop();
}
musique03.loadSound("son01.mp3",false);
musique03.onLoad : function(){
musique03.stop();
}
Ensuite, sur mes boutons, j'ai mis ceci:
bouton1
on (release) {
_root.musique.stop();
_root.type = "musique 1";
_root.musique01.start(0, 99);
}
bouton2
on (release) {
_root.musique.stop();
_root.type = "musique 2";
_root.musique02.start(0, 99);
}
bouton3
on (release) {
_root.musique.stop();
_root.type = "musique 3";
_root.musique03.start(0, 99);
}
Le code fonctionne en ce qui concerne les boutons! Quand je clique dessus,
la musique se met en route mais là où ça foire, c'est que rien n'est géré,
c'est-à-dire: le volume, la balance, les boutons play, stop, pause, etc.
Cela signifie que c'est au niveau du:
musique = new Sound(this);
musique.attachSound("");
...qu'il y a un problème! En tous cas, je suppose que c'est la définition de la
variable qui est inadéquate dans le cas d'un loadSound!
J'ai supposé que le this signifiait que la variable musique correspondait au son
actif dans le clip mais je ne comprend pas bien à quoi sert l'attachSound qui
suit!
Bref, je sais que c'est un peu fastidieux mais si quelqu'un pouvait m'éclairer,
ce serait super sympa! D'avance, merci! 