Problème de définition d'une variable...enfin, je crois!
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 2022
-
1 avril 2005 à 21:44
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 2011
-
2 avril 2005 à 13:58
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.
// 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:
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!
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 1 avril 2005 à 22:04
heu, tu devrais peut-être demander des renseignements à la personne qui a mis la source à dispo, là où tu l'as trouvée, tu ne crois pas ?
Il est le plus à même de te renseigner sur sa propre source...
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 1 avril 2005 à 23:15
Déjà...évite ces gros caractères...ça fait mal aux zieux!!! lol
Sinon, ben tu vois pas que le volume est géré sur l'objet Sound créé au début? J'ai pas trop d'expérience dans les players MP3, mais je ferai mes loadSound dans l'objet "musique", et j'en créerai pas un différent pour chaque son (pour 3 ça va, mais quand t'en auras 50???).
Voilà...donc à mon avis, y'a du remaniement de code à faire en profondeur! Faire le loadSound par exemple sur release du bouton...enfin là c'est une idée, j'sais pas si c'est la bonne façon de faire!
Donc comme l'a dit Peg' , tu peux toujours demander au créateur de la source qui doit être plus au courant de la chose (player MP3!)
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 2 avril 2005 à 11:15
Mettre le loadsound sur les boutons, c'est ce que j'avais fais au départ mais faire ça signifie que le son va commencer à se charger seulement quand l'utilisateur appuyera sur le bouton, ce qui signife qu'il va entendre un son saccadé, qui se coupera par certains moments! J'aurais voulu éviter ça!
Le lecteur que j'ai utilisé, je crois qu'il est fourni par Macromédia, c'est un modèle officiel, quoi! Mais je ne suis plus sûr, je vais chercher où je l'ai trouvé!