Realizziamo un FLVplayer dinamico associando una playlist, con parametri presi da files di testo esterni.
Per poter caricare un video all’interno del nostro Stage, prima di tutto dobbiamo creare dalla Libreria un nuovo oggetto video : Nuovo Video.

Trasciniamo questo elemento sulla timeline e gli assegniamo un nome d’istanza.
Nel nostro caso ”video“.
Il file per i parametri principale si chiama dati.txt ed è composto da:
video=video.flv&autoplay=si&autore=Julius&posizioney=1
&url=http://juliusdesign.wordpress.com/
Il file per inserire i vari video FLV nella playlist si chiama playlist.xml ed è strutturato:
<?xml version="1.0" encoding="iso-8859-1"?>
<elenco>
<item descrizione="Mucca" valore="mucca.flv"></item>
<item descrizione="Scappa" valore="scappa.flv"></item>
</elenco>
NB: La playlist è raggiungibile cliccando l’icona “enter” affianco al pulsante play
Andiamo ad analizzare il codice principale
dati = new LoadVars(); // carico i parametri
dati.load("dati.txt"); // dal file dati.txt
dati.onLoad = function() {
if (this.autore != undefined) { // se autore esiste
clip_autore.autore.text = this.autore; //associo l'autore
url = this.url; // associo il parametro url a variabile url
clip_autore.onRelease = function() {
getURL(url, "_blank"); // inserisco l'url con getURL
};
clip_autore.onRollOver = function() { //cambio colore al RollOver
my_color = new Color(this);
my_color.setRGB(0x55A0FF);
};
clip_autore.onRollOut = function() { //cambio colore al RollOut
my_color = new Color(this);
my_color.setRGB(0xffffff);
};
}
if ((this.autoplay == undefined) || (this.autoplay == "si")) { // se autoplay è uguale a si o nullo
ns.play(this.video); // il video parte da solo
} else { //altrimenti
stato.gotoAndStop("played"); // clip stato si ferma sul played
controlli.btnPlay._visible = true; // rendo visibile play
controlli.btnPause._visible = false; // rendo invisibile pausa
controlli.load_bar.stop(); //fermo la barra di loading
ns.play(this.video); // associo il video da far partire
ns.seek(0); // lo imposto all'inizio
ns.pause(true); // inserisco un pausa
}
if ((this.posizioney == undefined) || (this.pozizioney == "1")) { // parametro y di clip autore
clip_autore._y = 15; // in alto se = 1 o undefined
} else {
clip_autore._y = 254; // in basso se = 2
}
};
var nc:NetConnection = new NetConnection(); // creo istanza NetConnection
nc.connect(null); // richiamo connect
sound = new Sound(snd); // creo un nuovo suono
snd.attachAudio(stream); // associo il suono del video
var ns:NetStream = new NetStream(nc); // associo NetStream a nc
video.attachVideo(ns); // richiamo video per nc
ns.setBufferTime(5); // assegno il tempo di buffer a 5 secondi
controlli.s._visible = false; // icona no suono invisibile
stato.play_ante.useHandCursor = false; // plyed stato no manina
ns.onStatus = function(infoObject) {
if (infoObject.code == "NetStream.Play.Stop") {
//controlli.statusCode_txt.text = "La riproduzione è stata interrotta";
stato.gotoAndStop("played");
controlli.btnPlay._visible = true;
controlli.btnPause._visible = false;
ns.seek(0);
ns.play(this.video);
ns.pause(true);
}
if (infoObject.code == "NetStream.Play.StreamNotFound") {
controlli.statusCode_txt.text = "Impossibile trovare il file .flv";
}
// end if
};
controlli.time_txt.text = "loading";
var time_interval:Number = setInterval(checkTime, 500, ns);
function checkTime(ns:NetStream) {
var ns_seconds:Number = ns.time;
var minutes:Number = Math.floor(ns_seconds/60);
var seconds = Math.floor(ns_seconds%60);
if (seconds<10) {
seconds = "0"+seconds;
}
controlli.time_txt.text = minutes+":"+seconds;
}
controlli.btnPlay.onRelease = function() {
ns.pause(false);
controlli.btnPlay._visible = false;
controlli.btnPause._visible = true;
controlli.load_bar.play();
stato.gotoAndPlay("play");
};
controlli.btnPause.onRelease = function() {
ns.pause(true);
controlli.btnPlay._visible = true;
controlli.btnPause._visible = false;
controlli.load_bar.stop();
stato.gotoAndPlay("pausa");
};
controlli.btn_audio.onRelease = function() {
if (sound.getVolume() == 0) {
sound.setVolume(100);
controlli.s._visible = false;
} else {
sound.setVolume(0);
controlli.s._visible = true;
}
// end else if
};
Scarica il sorgente
Guarda il Tutorial
ABC, Blog, Design, Flash, Immagini, Musica, podcasting, Sviluppo, Tools, Tutorial, Video

matteo
16 Novembre 2007 alle 20:10 pm
ciao julius bello il tuo blog!complimenti..volevo chiederti come mai mi integra il secondo video nella time line.. cioè io trascino il clip video ma niente nn va..ti ringrazio in anticipo!
Julius
17 Novembre 2007 alle 13:18 pm
Ciao matteo non devi trascinare il video nel player…
I video flv devono essere esterni…
Pasquale
19 Novembre 2007 alle 11:45 am
Salve Julius, complimenti per il sito è davvero ben fatto!
Avrei un piccolo problema da risolvere, “almeno lo spero”. Ho realizzato due video in formato flv, il primo l’ho nominato Loop.flv e deve funzionare in loop, mentre il secondo video Aktion.flv dovrà partire solo se si clicca sul primo video, alla fine di questo secondo video dovrà ripartire di nuovo dal primo video “sempre in loop”…
Spero di essermi spiegato bene
Potresti darmi una mano? Grazie mille
Pasquale
alexgr1383
27 Novembre 2007 alle 21:55 pm
How can i download?
Julius
27 Novembre 2007 alle 22:04 pm
HI alex,
In this blog there are some blue links for download at end tutorials
Scarica il sorgente >> for download the tutorial
Guarda il Tutorial >> for try the tutorial
Jo
18 Febbraio 2008 alle 18:42 pm
Ciao Julius, volevo chiederti, sarebbe possibile inserire nel tuo player un sistema di buffering che si riempia tanto quando il rapporto tra durata del filmato e banda dell’utente?
Puoi darmi una mano?
Grazie Jo
Luca
13 Giugno 2008 alle 23:55 pm
Ciao Julius
spero leggerai ancora questi post….
non son riuscito a capire perché il tuo player terminata la riproduzione del primo flv non mi si posiziona sul secondo…..
approffitoo ancora, se è possibile terminato un flv farlo poszionare su quello successivo della playlist è anche possibile far partire automaticamnete questa clip successiva?
grazie
Luca
Julius
13 Giugno 2008 alle 23:56 pm
devi intercettare la fine del video in questo modo
nel frame
var myListener = new Object();myListener.complete = function(eventObject) {
//QUI LA TUA AZIONE
};
myMediaControl.addEventListener("complete", myListener);
Dove il tuo video ha nome istanza myMediaControl
e inserire il play del secondo video dove c’è scritto QUI LA TUA AZIONE
Luca
15 Giugno 2008 alle 23:27 pm
intanto grazie per la risposta, ma perdona la mia ignoranza in AS, che significa nel frame? non riesco a capire in che punto devo inserire questo pezzo di AS…
Frà
18 Giugno 2008 alle 20:01 pm
Cia Julius…complimenti per i tuoi lavori….sono fantastici…Senti volevo sapere se cè modo ,una volta caricata un playlist,di far partire i video in modo casuale piuttosto che in una sequnza precisa.
Ciao Frà