Diaporama Video

HappyBlueFrog Messages postés 5 Date d'inscription samedi 31 mars 2007 Statut Membre Dernière intervention 27 juin 2011 - 6 avril 2010 à 21:57
HappyBlueFrog Messages postés 5 Date d'inscription samedi 31 mars 2007 Statut Membre Dernière intervention 27 juin 2011 - 7 avril 2010 à 11:33
Bonjour!

Voila cela fait pas mal de temps que j'essaye de finaliser mon site internet qui me sert de Portfolio:

http://uneinfographiste.free.fr

Mon problème est que je n'arrive tout simplement pas à faire succéder plusieurs vidéos dans un même player.
Dans le .FLA en pièce jointe ou sur: http://ddrlaracroft.free.fr/test/VideoTest_big_1.1.fla
J'ai repris le code du swf qui m'a servi pour mon diaporama d'images (code qu'un ami m'a donné lors d'une formation).
Mais le problème est que les vidéos se retaillent et que lorsque je clique sur la 2nd images (pour lancer la 2nd vidéo) la 1ere continue à tourner dernière.....

En fait j'ai un rendez-vous HYPER important le 9 avril au matin avec une personne très importante, et je n'aurais pas cette chance 2 fois dans la vie.
Je m'y prends un peu tard car la personne censée m'aider m'a posée un vilain lapin et ne me donne plus signe de vie depuis au moins 2 semaines...
(J'aurai sans doute du venir ici avant mais je ne voulais pas que plusieurs personnes consacrent leur temps à m'aider en "doublon", finalement je n'ai rien du tout...)

Alors je tiens à préciser que je suis infographiste 3D et que donc mes connaissances en Actions Script sont malheureusement assez faibles bien que je me sois pas mal penchée dessus.

Merci d'avance!!!! :)

2 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
6 avril 2010 à 23:47
Hello,

peux-tu stp mettre le code de ton player vidéo dans ton post stp ? Sur le lien que tu as mis il n'est pas lisible en sa totalité et ce n'est pas très clair.
En tout cas si lorsque tu lances une nouvelle vidéo la précédente tourne encore c'est que tu dois les charger les unes sur les autres (ce qui induit que tu dois avoir plusieurs "fenêtres" de lecture). Il faudrait que tu n'aies qu'une seule "fenêtre vidéo" dans laquelle lors d'un clic sur l'une des miniatures de ton diaporama vidéo, cela lance la vidéo en question, et au besoin donc, réinitialise le contenu de ta fenêtre vidéo si celle-ci contient déjà une vidéo en lecture.
En gros, tu rédiges ton code pour ton player vidéo (adapté à une vidéo donc), et ensuite dans le code du diaporama de tes miniatures, tu changes de vidéo lors du clic sur une miniature de cette façon par exemple :
btn_miniature.onRelease = function(){
this.newStream.play("la vidéo de la miniature");
}


En espérant t'avoir un peu aider :)

BBFUNK01
0
HappyBlueFrog Messages postés 5 Date d'inscription samedi 31 mars 2007 Statut Membre Dernière intervention 27 juin 2011
7 avril 2010 à 11:33
Re,

Voici donc le code:

//////
// les classes
//////  élément importé de flash, anim déjà crée, http://www.actionscript.org/ permet d'en voir les effets;
import mx.transitions.Tween;
import mx.transition.easing.*;

//////
// variable
//////
vignetteLoader = new MovieClipLoader();
vignettelistener = new Object();
imageChargementMC = this.createEmptyMovieClip("image1", this.getNextHighestDepth());
imageCouranteMC = this.createEmptyMovieClip("image2", this.getNextHighestDepth());
container_mc.swapDepths(9880);
picture = "01.swf";//variable de l'image sur le ftp
loadC_mc._visible = false;//rend la bar de chargement visible
load_txt._visible = false;//rend le champ txt visible
load_txt.html = true;//le champ txt devient compatible et lisible par language html
mask_mc._visible = false;//rend le mask visible
mcLoader = new MovieClipLoader();//il permet de recupere un chargement "espace transitoire d'un élément avant de finir dans container. 
listener = new Object();//un object virtuel vide qui écoute les autres object
cadreImage_mc.swapDepths(9881);

//////
// fonction
//////
flecheR_mc.onPress = function() {
flecheL_mc._visible = true;
conBtn_mc._x -= 85;
trace("conBtn_mc._x = "+conBtn_mc._x);
//trace( conBtn_mc._width)
decalague = (conBtn_mc._width-maskBtn_mc._width);
decalagueNeg = "-"+decalague - (-170);   //pas toucher sauf modif taille vignette (85 pour l'instant)
trace("decalague = "+decalague);
trace("decalagueNeg = "+decalagueNeg);
if (conBtn_mc._x <= decalagueNeg) {
this._visible = false;
}
};

flecheL_mc._visible = false;

flecheL_mc.onPress = function() {
flecheR_mc._visible = true;
conBtn_mc._x += 85;
decalague = (conBtn_mc._width-maskBtn_mc._width);
decalaguePlus = decalague - 340;   //ajouter 85(taille vignette) à chaque images en plus
if (conBtn_mc._x >= decalaguePlus) {
this._visible = false;
}
};

function Redimensionne() {
nRapportWHImage = imageCouranteMC._width/imageCouranteMC._height;
wMax = container_mc._width;
hMax = container_mc._height;
nRapportWHCadre = wMax/hMax;
if (nRapportWHImage>nRapportWHCadre) {
trace("paysage");
// la largeur de l'image prend le max de la largeur de la fenêtre
imageCouranteMC._width = wMax;
imageCouranteMC._height = wMax/nRapportWHImage;
imageCouranteMC._x = container_mc._x;
imageCouranteMC._y = (((hMax-imageCouranteMC._height)/2)+container_mc._y);
} else {
trace("portrait");
// la hauteur de l'image prend le max de la hauteur de la fenêtre
imageCouranteMC._height = hMax;
imageCouranteMC._width = hMax*nRapportWHImage;
imageCouranteMC._x = (((wMax-imageCouranteMC._width)/2)+container_mc._x);
trace("wMax = "+wMax);
trace("imageCouranteMC._width = "+imageCouranteMC._width);
trace("reste = "+imageCouranteMC._x);
imageCouranteMC._y = container_mc._y;
}
}


changeAlpha = function () {
//varible = new Tween(cible, "propriété", classe.paramètre, valeur début propriété, valeur fin propriété, temps, true ou false(en seconde ou non));
changement = new Tween(imageChargementMC, "_alpha", Regular.easeOut, 0, 100, 1, true);
changement2 = new Tween(imageCouranteMC, "_alpha", Regular.easeOut, 100, 0, 1, true);
};

function moveBords() {
Move1 = new Tween(cadreImage_mc, "_height", Regular.easeOut, cadreImage_mc._height, imageCouranteMC._height, 0.3, true);
Move2 = new Tween(cadreImage_mc, "_width", Regular.easeOut, cadreImage_mc._width, imageCouranteMC._width, 0.3, true);
Move3 = new Tween(mask_mc, "_height", Regular.easeOut, mask_mc._height, imageCouranteMC._height, 0.3, true);
Move4 = new Tween(mask_mc, "_width", Regular.easeOut, mask_mc._width, imageCOuranteMC._width, 0.3, true);
}

//une fonction qui pendant la progression du chargement d'un élément "X" permet d'afficher des éléments (load, text, etc) DANS SA cible => "container_mc"

chargement = function () {
listener.onLoadInit = function() {
imageChargementMC.swapDepths(imageCouranteMC);
temp = imageCouranteMC;
imageCouranteMC = imageChargementMC;
imageChargementMC = temp;
imageChargementMC._visible = false;
loadC_mc.swapDepths(9879);
("nRapportWHImage = "+nRapportWHImage);
Redimensionne();
moveBords();

}
listener.onLoadProgress function(imageChargementMC, bytesLoaded, bytesTotal) {//bytesLoader un paramétre de la fonction qui renvois en boucle l'évolutions du chargement d'un élément qui charge.;
container_mc._alpha = 0;
loadC_mc._visible false;                                            //bytesLoader un paramétre de la fonction qui renvois le total de l'élément qui est charger.;
load_txt._visible = false;
pourcentage = Math.round((bytesLoaded*100)/bytesTotal);                //calcul pour le % du temps de chargement qui permet d'afficher l'évolution et de faire annimer la bar de chargement à la bonne vitesse.;
load_txt.htmlText = "loading " +pourcentage+"%";
loadC_mc.play();
}
listener.onLoadComplete = function(imageChargementMC) {     //quand la fonction détecte que l'object virtuel à fini de chargé l'élément elle lance ses actions                       ;
loadC_mc._visible = false;
load_txt._visible = false;
imageChargementMC.setMask(mask_mc);
changeAlpha();
}
mcLoader.addListener(listener);      // l'écouteur écoute aussi ;
mcLoader.loadClip("Videos/"+picture,imageChargementMC); //permet de charger un fichier swf, jpeg, gif non animé;
}
chargement();

//écoute le chargement = go
//écoute si fini = go
//lancement

//////
// bouton
//////
conBtn_mc.marqueur_mc._y = 0;
conBtn_mc.marqueur_mc._x = 0;
conBtn_mc.marqueur_mc.swapDepths(500);
mesImages = ["01", "02", "03", "04"];

for (i=0; i<mesImages.length; i++) {
conBtn_mc.sourceBtn_mc._visible = false;
conBtn_mc.sourceBtn_mc.duplicateMovieClip("base"+i,i);
boutons =conBtn_mc["base"+i];

with (boutons) {
stop();
_y = 0;
_x = 0+(i*85);
boutons._name = mesImages[i]+".swf";
trace("boutons._name = "+boutons._name);
vignettePicture =mesImages[i]+"s"+".jpg";
zoneBtn_mc.loadMovie ("Videos/small/"+vignettePicture);
pouetpouet = "01.swf";
conBtn_mc[pouetpouet].gotoAndStop(3);
conBtn_mc[pouetpouet].enabled = false;
clique = conBtn_mc[pouetpouet]._name;

}
boutons.onRollOver = function() {
this.gotoAndStop(2);
}
boutons.onRollOut = function() {
this.gotoAndStop(1);
};

boutons.onPress = function() {
conBtn_mc[clique].gotoAndStop(1);
conBtn_mc[clique].enabled = false;
conBtn_mc.marqueur_mc._y = 0;
conBtn_mc.marqueur_mc._x = this._x;
clique = this._name;
trace ("clique"+clique)
this.gotoAndStop(3);
this.enabled =true;
picture = this._name;
trace("picture = "+picture);
nivo = loadC_mc.getDepth();
chargement();
};
}


.
.
Oui les vidéos se superposent, mais mes vidéos n'ont pas la même taille alors je ne sais pas si c'est possible de les faire se succéder avec un seul player?
Sinon je suis désolée, merci pour les réponse, je comprends la logique mais malheureusement je n'ai pas assez de connaissances pour l'appliquer en code :s

J'attends impatiemment vos réponses! :)
0
Rejoignez-nous