// le streaming VIDEO sans peine.
// pour les non-comprenants
//
// Créer un objet NetConnection : c'est obligé ; sans ça point de FLV.
var Ma_Connection:NetConnection = new NetConnection();
// Créer une connexion en flux continu :
// pour l'instant elle est vide, juste on l'ouvre
Ma_Connection.connect(null);
//Créer un objet NetStream qui permettra de choisir
//notre media via la connection ouverte
Mon_Flux = new NetStream(Ma_Connection);
/////////////////////////////
// preloader ///
/////////////////////////////
// nota : il existe un handler onStatus() :
// onStatus() ça permet de controler ce qui se passe pendant que ça charge
// ou s'il y a une erreur mais bon... passons
this.onEnterFrame = function(){
//Mon_Flux.bytesTotal; = le poids total du flv en octets
//Mon_Flux.bytesLoaded; = le nombre d'octets chargés
tot = Mon_Flux.bytesTotal; //récupère le poids total du FLV
lod = Mon_Flux.bytesLoaded; //récupère le poids déjà chargé
pourcent = lod/tot; //rapport : déja chargé / restant à charger
fait = int(pourcent*100);//pourcentage de chargement
// tant que tout n'est pas chragé
if (fait <100)
{
//la barre de progression... heu... progresse
progbar.bar._width = fait*2.9;// la taille finale de la progressbar est 290px
progbar._alpha = 100;
// sortie pour voir la progression en chiffres
// trace(pourcent +" "+progbar.bar._width);
}else{
//si c'est fini
if (fait == 100)
{
//estompe la progbar
progbar._alpha =10;
}
}
};
// associer la vidéo qui sort de Mon_Flux à l'objet Video sur la scène :
ma_video.attachVideo(Mon_Flux);
// définir la durée du tampon :
// un tampon ça sert à ne pas interrompre le flim quand il est diffusé.
// C'est comme quand on grave un CD.
// dilemne : on doit choisir entre un gros tampon bien confortable
// mais inchargeable et un petit tampon tout con qui s'essouffle très vite.
// faut essayer... la valeur est en dizièmes de secondes.
Mon_Flux.setBufferTime(5);
// lire quel fichier ?
Mon_Flux.play("http://nicoptere.land.free.fr/tutos/02/2.flv");
/////////////////////////////
function lecture() {
// afficher la position de la tête de lecture en secondes
tmp = Mon_Flux.time; // récupère le temps actuel via netstream
sec = Math.round(tmp);//arrondit pour faire des secondes sans virgule
temps.text = sec+" secs";// affichage de la seconde en cours de lecture
bl.text = Mon_Flux.bufferLength;// données effectivement chargées dans le tampon
bt.text = Mon_Flux.bufferTime;// taille du tampon en diièmes de secondes
}
// rafraichit toutes les secondes
setInterval( lecture, 1000 );
/////////////////////////////
// boutons 'aller à' ///
/////////////////////////////
/// surement optimisable...
function aller(qui){
// indique la seconde dans le champ de texte
// en fonction des 2 caractères finaux du nom du clip
qui.onRollOver =function(){
_root.texte.text = qui._name.substr(3,2);
}
qui.onPress = function(){
// atteindre la seconde voulue
Mon_Flux.seek(qui._name.substr(3,2));
}
}
aller(_root.seg0);
aller(_root.seg19);
aller(_root.seg30);
aller(_root.seg52);
/////////////////////////////
// bouton play_pause ///
/////////////////////////////
/// surement optimisable...
function arret(qui){
qui.onPress = function()
{
if (f==1){
qui.gotoAndPlay(1);
Mon_Flux.pause(false);
}else{
qui.gotoAndPlay(2);
Mon_Flux.pause();
}
}
}
arret(play_pause);
// cette exemple est principalement extrait de l'aide (=F1 :) ) de Flash
// mots-clés : NetStream / NetConnectionn / FLV
// le pti film est à moi, tu peux le montrer à tes amis
// mais pas le vendre contre du bon pognon :)
// voila bonnes expériences à toutes et à tous.
// nicoptere@free.fr