Realizziamo un FLVplayer dinamico associando una playlist, con parametri presi da files di testo esterni.

 FLVplayer

Per poter caricare un video all’interno del nostro Stage, prima di tutto dobbiamo creare dalla Libreria un nuovo oggetto video : Nuovo Video.

Inserisci 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/

  • video = path del primo video FLV, puo essere nella stessa directory oppure esterno inserendo l’indirrizzo http://
  • autoplay = si o no il video a seconda dei parametri partirà o no un autoplay
  • autore = è possibile inserire una scritta sul video in questo caso Julius
  • posizioney = avvole il video ha gia dei loghi quindi ho voluto inserire la possibilità di segliere la posizione della scritta autore: 1 in alto, 2 in basso
  • url = url di riferimento che verrà assegnato alla scritta autore

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>

  • descrizione: nome del video
  • valore: nome dei video .flv oppure l’indirizzo completo http:// 

NB: La playlist è raggiungibile cliccando l’icona “enter” affianco al pulsante play

Andiamo ad analizzare il codice principale

  • Carichiamo i parametri dal file di testo esterno:

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
 }
};

  • Creiamo le basi per intereagire col video

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

  • Eseguo possibili DEBUG: con la funzione infoObject

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;
}

  • Gestiamo i controlli per il video

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

Condividi su:
  • del.icio.us
  • Digg
  • Facebook
  • Upnews
  • Wikio IT
  • Segnalo
  • Sphinn
  • StumbleUpon