Intégrer une barre de progression de lect mp3 dans mon fla

cs_zered Messages postés 9 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 10 mars 2006 - 4 mars 2006 à 01:43
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008 - 5 mars 2006 à 23:42
Salut,

Je précise tout de suite : je travaille avec flashMX.

Voilà, j'ai concocté un player mp3 qui marche à peu près comme je veux.

Je ne maitrise que mal l'outil flash, mais suffisamment pour faire de la récup et bricoler un peu. Vous verrez plus bas ce que ça donne...

Sinon, je souhaite simplement dessiner une barre, non pas de préload, mais qui suit juste la lecture de mon mp3.

J'ai déjà une variable qui me donne le pourcentage de lecture. J'imagine qu'il suffit donc de récupérer cette variable et l'affecter a un _xscale, mais voilà, c'est là que je je plante...

C'est certainement hyper simple, et j'ai beau me dire que "il faudrait faire ça..." ben, je ne sais pas le faire

HEEEEEEEEEEELP

Je vous mets mon .fla et le mp3 (court) utilisé par le premier bouton, ici : http://maltosh.free.fr/Echange/Maj/Site/aideplayer/

Merci d'avance

7 réponses

cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
4 mars 2006 à 03:31
comment charges tu ton mp3?


Peace from Mars
to all human beings
0
cs_zered Messages postés 9 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 10 mars 2006
4 mars 2006 à 13:05
J'ai une liste de boutons qui chargent chacun un mp3, comme ça :
on (release) {
chanson.text = "Hibernations";
mysound.stop();
function playa() {
mysound.stop();
mysound = new Sound();
mysound.loadSound("musique.mp3", true);
mysound.start((_root.pos)/1000, 1);
if (mysound.duration != 0) {
playing = true;
}
}
}

C'est le bouton "play" qui déclenche la fonction "playa".
0
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
4 mars 2006 à 19:05
y'a un exempletous fait dans la doc...

// Créez un nouvel objet Sound pour lire le son.
var songTrack:Sound = new Sound();
// Crée la fonction d'interrogation qui suit la progression du téléchargement.
// Il s'agit de la fonction qui est « interrogée ». Elle vérifie
// la progression du téléchargement de l'objet Sound transmis comme référence.
function checkProgress (soundObj:Object):Void {
var numBytesLoaded:Number = soundObj.getBytesLoaded();
var numBytesTotal:Number = soundObj.getBytesTotal();
var numPercentLoaded:Number = Math.floor(numBytesLoaded / numBytesTotal * 100);
if (!isNaN(numPercentLoaded)) {
trace(numPercentLoaded + "% loaded.");
}
};
// Lorsque le chargement du fichier est terminé, supprimez l'intervalle d'interrogation.
songTrack.onLoad = function ():Void {
trace("load complete");
clearInterval(poll);
};
// Charge le fichier MP3 en flux continu et commence à appeler checkProgress(),
songTrack.loadSound("http://www.helpexamples.com/flash/sound/song1.mp3", true);
var poll:Number = setInterval(checkProgress, 100, songTrack);

ActionScript Experience
0
cs_zered Messages postés 9 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 10 mars 2006
5 mars 2006 à 16:54
Salut,

D'abord, merci, mais,
1. je ne comprends pas comment intégrer ce bout de code au mien
2. je ne suis pas sur qu'on se soit bien compris : c'est n'est pas une barre de préchargement que je veux, mais une barre qui suive simplement la progression de la lecture du Mp3 streamé.

Re-merci pour les éclaircissements.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
5 mars 2006 à 18:03
tu peux utiliser la methode .position, qui te renvoie un nombre, en mille seconde, fais attention, et la methode beginFill si tu utilises un rectangle, et la methode lineStyle si tu utilises une ligne et moveTo pour dessiner ta barre de progression, en fonction de la position de ton mp3.-

var TonSon:Sound = new Sound ( )
Son.loadSound( " tonMp3.mp3 " , true )
this.createEmptyMovieclip( " ZeLine " , 0 )
function BarreTemps() {
var Xpos:Number = Math.floor ( ( Son.position ) /1000 )
this.ZeLine.lineStyle ( 5, 0xFFCC00, 100 )
this.ZeLine.moveTo ( Xpos, 350 )
this.ZeLine.lineTo ( 0 , 350 )
if ( Son.position > Son.duration ) {
clearInterval ( inter )
}
}

inter = setInterval ( BarreTemps , 1000 )

bien sur, les valeurs sont arbitraires.



Peace from Mars
to all human beings
0
cs_zered Messages postés 9 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 10 mars 2006
5 mars 2006 à 23:37
Super, ça a l'air d'être exactement ça !
Seulement...

Tu pourrais me dire exactement comment je dois créer ma barre ?

Et puis, comme c'est un lecteur "à choix multiple", je ne suis pas bien sur de où je dois placer cette fonction ...

Merci encore
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
5 mars 2006 à 23:42
ta barre: elle est la: this.createEmptyMovieclip( " ZeLine " , 0 ) j'ai utilise un ligne epaisse, ca le fait aussi. normalement, la fonction de creation de ta barre est independante du mp3. simplement, elle sera differente en longueur a chaque mp3, faut faire un petit travail de conversion.


Peace from Mars
to all human beings
0
Rejoignez-nous