jan
07

Ce que nous voulons : avoir un player qui, à chaque chargement de la page, load une vidéo différente.

Imaginons que nous ayons 3 vidéos.

  • Pour sauvegarder ma bande passante, je fais une pause au début de la vidéo après avoir joué 2 secondes.
  • Pour lire les vidéos nous allons utiliser la classe NetStream vu dans un précédent article.
  • La liste des vidéos sera conservée dans un tableau avec la classe Array.
  • Pour choisir une vidéo au hasard, on utilisera la méthode Math.random() qui renvoie un entier aléatoire compris entre 0 et le nombre entier spécifié.
  • Et enfin j’utilise la superbe classe mc tweens de Zeh Fernando pour effectuer les tweens de mon contrôle (play et stop).

Voici le code commenté suivi de l’exemple et du fla.



Stage.scaleMode = "noScale"; // pas de redimmensionnement de la fenêtre
Stage.align = "TL"; // on aligne la video : Haut Gauche

// on inclus la classe pour les tweens
#include "mc_tween2.as"

// Attention, il faut que le flv soit encodé avec flash 8, les versions précédentes n'incluant pas les métadatas
// on ouvre la connexion (dans le vide) puis on l'associera plus tard
var connection:NetConnection = new NetConnection();
connection.connect(null);
// chargement et contrôle de la video
var flux:NetStream = new NetStream (connection);

var nosVideos = new Array("effetText1.flv", "effetText2.flv", "effetText3.flv"); // création d'un tableau avec la liste des vidéos
i = nosVideos.length;  //  compte le nombre d'éléments dans le tableau (on commence à 0 : ici 0, 1, 2)
var hasard = Math.floor(Math.random()*i); // la variable hasard choisi un nombre au hasard
var videoSelection:Object = nosVideos[hasard]; // on choisit donc un nombre au hasard dans le tableau

	// attach movie pour faire le lien entre l’objet video sur la scene et le flux video netStream
	video.attachVideo(flux);
	// donnons le chemin vers la video
	flux.setBufferTime(2);
	flux.play(videoSelection);
	flux.seek(0);
	flux.pause()
trace (videoSelection);

	controle_mc.alphaTo(10,3,linear); // on rend le contrôle transparent.

// Lecture   ##################################################################
controle_mc.play_mc.onPress=function(){
	flux.pause();
}

controle_mc.play_mc.onRollOver=function  () {
	this.colorTo(0×990000, 0.5, linear);
	this._parent.alphaTo(100,1,linear);
}

controle_mc.play_mc.onRollOut=function  () {
	this.colorTo(null, 1);
	this._parent.alphaTo(10,1,linear);
}

// stop ##################################################################
controle_mc.stop_mc.onRelease = function() {
        flux.seek(0);
        flux.pause(true);
};
controle_mc.stop_mc.onRollOver=function  () {
	this.colorTo(0×990000, 0.5, linear);
	this._parent.alphaTo(100,1,linear);
}

controle_mc.stop_mc.onRollOut=function  () {
	this.colorTo(null, 1);
	this._parent.alphaTo(10,1,linear);
}


Voir l’exemple
Télécharger le fla



Charger une vidéo au hasard dans votre player flash
Inscrivez vous aux flux RSS pour rester informé des news du site.

Social Bookmarking
AJOUTER A: Digg AJOUTER A: Del.icio.us AJOUTER A: Technorati AJOUTER A: StumbleUpon AJOUTER A: Reddit AJOUTER A: Slashdot AJOUTER A: Netscape AJOUTER A: Furl AJOUTER A: Newsvine AJOUTER A: Yahoo AJOUTER A: Google AJOUTER A: Blinklist AJOUTER A: Spurl AJOUTER A: Diigo AJOUTER A: Ma.Gnolia





Quelque chose à dire? Dites-le ci-dessous.