Aide - Recherche - Membres - Calendrier
Version complète : Problème chargement-lecture d'un mp3 externe
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Intégration sonore
pierreCh
Bonjour,

Donc voilà mon problème :
la lecture de mon mp3 démarre et le mp3 se charge en même temps, mais lorsque le chargement est terminé, au lieu que la lecture continue et que le morceau se termine, la lecture redémarre. icon_sad.gif

Voici mon code (récupéré sur un tuto) :

Action Script

barrePlaying._width = 0;
//var fichier = "son3.mp3";
var decalage = 0;
var charge = false;
var duree, si;
txt.text = "Tu veux jouer ?";
chanson = new Sound();

chanson.onSoundComplete = function() {
_root.arreter();
};

function arreter() {
chanson.stop();
clearInterval(si);
decalage = 0;
barrePlaying._width = 0;
_root.txt.text = "0/"+duree+" - 0%";
}

function pauser() {
clearInterval(si);
chanson.stop();
}

function majTxt() {
pc = Math.round((chanson.position*100)/chanson.duration);
txt.text = Math.round(chanson.position/1000)+"/"+duree;
txt.text += " - "+pc+"%";
barrePlaying._width = pc;
decalage = chanson.position/1000;
}

function jouer() {
if (charge == false) {
chanson.onLoad = function(ok) {
txt.text = "Chargement...";
if (ok=true) {
charge = true;
duree = Math.round(chanson.duration/1000);
txt.text = "0/"+duree+" - 0%";
chanson.start();
si = setInterval(majTxt, 1000);
}
};
chanson.loadSound(fichier, true);
} else {
chanson.start(decalage);
si = setInterval(majTxt, 1000);
}
}

_root.jouer();


Merci d'avance pour toute aide.
akané
chanson.loadSound(fichier, true);

Ici, tu le charge en mode "streaming". Cla signifie que le mp3 commence a jouer avant la fin du telechargement, quand il y a suffisament de donnees chargees pour commencer la lecture.
Du coup, ton onLoad se lance une fois que tout le mp3 est telechargé, alors que ta lecture avais deja commencé en mode "streaming"

Deux options : soit tu enleve le onLoad, soit tu enleve le mode streaming (ce que je deconseille car il faudra attendre plus longtemps avant d'entendre le son)

Que veux tu faire exactement ?
pierreCh
Citation (akané @ Dec 6 2008, 06:22 PM) *
chanson.loadSound(fichier, true);

Ici, tu le charge en mode "streaming". Cla signifie que le mp3 commence a jouer avant la fin du telechargement, quand il y a suffisament de donnees chargees pour commencer la lecture.
Du coup, ton onLoad se lance une fois que tout le mp3 est telechargé, alors que ta lecture avais deja commencé en mode "streaming"

Deux options : soit tu enleve le onLoad, soit tu enleve le mode streaming (ce que je deconseille car il faudra attendre plus longtemps avant d'entendre le son)

Que veux tu faire exactement ?


Merci beaucoup ! quelles lignes de code devrai-je enlever exactement ?

tout ça ?

Action Script

chanson.onLoad = function(ok) { 
txt.text = "Chargement...";
if (ok=true) {
charge = true;
duree = Math.round(chanson.duration/1000);
txt.text = "0/"+duree+" - 0%";
chanson.start();
si = setInterval(majTxt, 1000);
}
};


soit, ma fonction devrait ressembler à ça ?

Action Script

function jouer() { 
if (charge == false) {
chanson.loadSound(fichier, true);
} else {
chanson.start(decalage);
si = setInterval(majTxt, 1000);
}
}
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.