Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Caricare un video FLV, gestire un NetStream con ActionScript 3

Lanciare la riproduzione di un video all'interno del filmato flash
Lanciare la riproduzione di un video all'interno del filmato flash
Link copiato negli appunti

L'FLV è un formato molto diffuso sul Web, basti pensare che è quello utilizzato da YouTube e molti altri aggregatori video.

In questa lezione vediamo come caricare un video FLV all'interno di un filmato Flash.

Come sempre la tecnica non è difficile, ma eviteremo di scendere nei dettagli e ci limiteremo ad osservare il funzionamento di un piccolo frammento di codice. Come al solito iniziamo presentando i nuovi oggetti.

L'oggetto Video

Cominciamo dall'oggetto Video. Si tratta di un contenitore che permette di visualizzare una fonte video, appunto, come ad esempio una webcam o uno stream da internet. Possiamo definire un nuovo video decidendone le dimensioni:

var mioVideo:Video = new Video(320, 240);
this.addChild(mioVideo);

Una volta definito il nostro video possiamo associarlo ad un MovieClip, con addChild. Nel nostro caso abbiamo associato il video mioVideo al MovieClip contenitore (this).

NetStream

Sia che si tratti di un file sul nostro PC, sia che ci venga fornito da Web server, possiamo considreare un file video come uno "stream". Quindi possiamo associare l'idea di un oggetto netStream ad un video esterno (o audio esterno).

Detto questo vediamo come lavorare con netStream. Anzitutto creiamo una connessione sfruttando un oggetto NetConnection, questa connessione può essere stabilita con un Media Server ma non è questo il caso, quindi inseriamo null nel metodo connect().

var nc:NetConnection = new NetConnection();
nc.connect(null);

Infine creiamo il nostro oggetto NetStream, lo colleghiamo al contenitore mioVideo e facciamo partire la riproduzione del file con l'azione play(), nella quale specifichiamo l'URL del file da visualizzare.

// definiamo lo stream
var mioStream:NetStream = new NetStream(nc);

// colleghiamo lo stream al contenitore Video
mioVideo.attachNetStream(mioStream);

// diamo il vie alla riproduzione
mioStream.play("sample.flv");

I Metadati

Se lanciamo l'applicazione vediamo che il Flash Player ci risponde con una eccezione: non abbiamo provveduto a gestire l'evento della lettura dei Metadati.

I metadati sono informazioni a contorno del video, come ad esempio la durata e il bitrate. Flash si aspetta la definizione di un client e di una funzione, onMetaData, che gestisca queste informazioni.

var mioClient:Object = new Object();

netClient.onMetaData = function(meta:Object)
{
	trace(meta.duration);
};

ns.client = netClient;

Fatto anche questo possiamo lanciare il nostro filmato che include l'FLV.

L'esempio finito

È possibile scaricare l'esempio completo, con il video e il sorgente (.fla) da qui.

Ti consigliamo anche