Plusieurs players et fonction stop ?

Ernestine11 Messages postés 1 Date d'inscription mardi 26 juillet 2011 Statut Membre Dernière intervention 26 juillet 2011 - 26 juil. 2011 à 21:21
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 - 29 juil. 2011 à 02:21
Bonjour,

Je m'arrache les cheveux depuis plusieurs heures sans trouver de réponse, et viens donc à vous...
Pour vous expliquer, je ne connais vraiment rien à flash : je m'y replonge à chaque mise à jour de mon site, et c'est toujours compliqué, surtout quand plusieurs mois se sont écoulés ! Et donc, en voulant faire une mise à jour, j'ai vu un pépin : j'ai deux players vidéo sur lesquels on est susceptible d'arriver. Si on en lance un, puis qu'on le ferme, on ne peut plus le lire à nouveau, ni lancer le second.
J'imagine donc qu'il devrait y avoir un genre de fonction stop quelque part, mais tout ce que j'essaie ne donne rien.

Le site : madame-oreille.com
Le premier player se trouve sur la croix "vietnam" et le second sur "usa".

Et voici le bout de code que j'utilise :


//Import du fichier XML
Chemin = new Array();
Titre = new Array();
no_1 = 0;
nb_art = 0;
NB = this;
Pfd = 50;

var myXML = new XML();
myXML.ignoreWhite = true;

myXML.onLoad = function(flag) {
if (flag) {
i = 0;
x = myXML.firstChild;
y = 10;
while (x.childNodes[i] != undefined && i<20) {
Chemin[i] = x.childNodes[i].childNodes[0].attributes.value;
Titre[i] = x.childNodes[i].childNodes[1].attributes.value;
attachMovie("MenuVid","menu_"+i,i,{_x:440,_y:y,t_vid:Titre[i],c_vid:Chemin[i]});
y+=20;
i++;
}
nb_art = i;
}
play();
//Lance la première vidéo au démarage
ns.pause(Chemin[no_1]);
pauseBut._visible = false;
playBut._visible = true;
videoDisplay._visible = true;

//oups


};
myXML.load("vietnam.xml");
stop();



//--------------------------------------------------------------------------
// stream setup and functions
//--------------------------------------------------------------------------

// create and set netstream
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.setBufferTime(5);

// create and set sound object
this.createEmptyMovieClip("snd", 0);
snd.attachAudio(ns);
audio = new Sound(snd);
audio.setVolume(80);


videoDisplay.attachVideo(ns);

// Retrieve duration meta data from netstream
ns.onMetaData = function(obj) {
this.totalTime = obj.duration;
// these three lines were used for automatically sizing
// it is now done by sizing the video to stage dimensions
//if(obj.height > 0 && obj.height < Stage.height) {
//setDims(obj.height, obj.width);
//}

};



//--------------------------------------------------------------------------
// controlbar functionality
//--------------------------------------------------------------------------

// play the movie and hide playbutton
function playMovie() {
if(!isStarted) {
ns.play(Chemin[no_1]);
isStarted = true;
} else {
ns.pause(Chemin[no_1]);
}
pauseBut._visible = true;
playBut._visible = false;
videoDisplay._visible = true;
}

// pause the movie and hide pausebutton
function pauseMovie() {
ns.pause(Chemin[no_1]);
playBut._visible = true;
pauseBut._visible = false;
}


function suivant() {
pauseBut._visible = true;
playBut._visible = false;
ns.seek(0);
ns.pause(true);
if (no_1<nb_art-1) {
no_1++;
} else {
no_1 = 0;
}
ns.play(Chemin[no_1]);
}

function precedent() {
pauseBut._visible = true;
playBut._visible = false;
ns.seek(0);
ns.pause(true);
if (no_1>0) {
no_1--;
} else {
no_1 = nb_art-1;
}
ns.play(Chemin[no_1]);
};

function stopMovie() {
ns.seek(0);
ns.pause(true);
ns.pause(Chemin[no_1]);
}

// pause button action
pauseBut.onRelease = function() {
pauseMovie();
};

// play button action
playBut.onRelease = function() {
playMovie();
};

suivBut.onRelease = function() {
suivant();
vidtexte.nextFrame();
};

// play button action
precedBut.onRelease = function() {
precedent();
vidtexte.prevFrame();
};



// file load progress
progressBar.onEnterFrame = function() {
loaded = this._parent.ns.bytesLoaded;
total = this._parent.ns.bytesTotal;
if (loaded == total && loaded > 1000) {
this.loa._xscale = 100;
delete this.onEnterFrame;
} else {
this.loa._xscale = int(loaded/total*100);
}
};

// play progress function
progressBar.tme.onEnterFrame = function() {
this._xscale = ns.time/ns.totalTime*100;

};

// start playhead scrubbing
progressBar.loa.onRelease = function() {
this.onEnterFrame = function() {
scl = (this._xmouse/this._width)*(this._xscale/100)*(this._xscale/100);
if(scl < 0.02) { scl = 0; }
ns.seek(scl*ns.totalTime);
};
};

// stop playhead scrubbing
progressBar.loa.onRelease progressBar.loa.onReleaseOutside function () {
delete this.onEnterFrame;
pauseBut._visible == false ? videoDisplay.pause(Chemin[no_1]) : null;
};


// volume scrubbing
volumeBar.back.onRelease = function() {
this.onEnterFrame = function() {
var xm = this._xmouse;
if(xm>=0 && xm <= 20) {
this._parent.mask._width = this._xmouse;
this._parent._parent.audio.setVolume(this._xmouse*5);
}
};
}
volumeBar.back.onRelease volumeBar.back.onReleaseOutside function() {
delete this.onEnterFrame;
}

function setDims(w,h) {
// set videodisplay dimensions
videoDisplay._width videoBg._width w;
videoDisplay._height videoBg._height h-1;
playText._x = w/2-120;
playText._y = h/2-20;

}

// here you can ovverride the dimensions of the video
setDims(w,h);


//couper la vidéo en sortie
btn_fermer.onRelease = function() {
ns.close();
gotoAndPlay("accueil");
};





btn_fermer correspond à la fermeture du player (retour aux cartes). J'imagine que c'est là qu'il faut changer quelque chose, mais mes connaissances sont vraiment trop sommaires, et plus basées sur du bidouillage que sur une réelle compréhension du code ("bon, et ça marche si je change ça ?" )

En espérant que l'un de vous saura m'aider,

Merci d'avance pour votre temps !

1 réponse

aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
29 juil. 2011 à 02:21
Bonjour,
il te reste une solution c'est de te plonger sérieusement dans le code.

Il ne suffit pas de ctrl+c et ctrl+v pour que tout fonctionne avec un petit passage sur le fofo pour corriger les pbs.

Le montage est flagrant, maintenant il faut mettre les mains dans le camboui.

Cordialement
0
Rejoignez-nous