Pacchettoflash.net
Classepublic class NetStream
EreditarietàNetStream Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La classe NetStream apre una connessione streaming a una via tra Flash Player e Flash Media Server, o tra Flash Player e il file system locale. Un oggetto NetStream è come un canale all'interno di un oggetto NetConnection. Questo canale può sia pubblicare uno stream, utilizzando NetStream.publish(), che registrarsi a uno stream pubblicato e riceverne i dati attraverso NetStream.play(). È possibile pubblicare o riprodurre dati dal vivo (in tempo reale) e dati registrati in precedenza. Inoltre, è possibile utilizzare gli oggetti NetStream per inviare messaggi di testo a tutti i client che hanno effettuato il subscribing (vedere il metodo NetStream.send()).

La riproduzione di file video esterni offre diversi vantaggi rispetto all'incorporamento di video in un documento Flash; migliorano, ad esempio, le prestazioni e la gestione della memoria, oltre alle frequenze di fotogrammi video e ai Flash indipendenti.

Per informazioni riguardo ai codec supportati e i formati di file consultare il sito http://www.adobe.com/go/hardware_scaling_it e la documentazione Flash Media Server.

La classe NetStream fornisce una vasta gamma di metodi e proprietà utilizzabili sia per tenere traccia dell'avanzamento del file man mano che viene caricato e riprodotto che per consentire all'utente il controllo della riproduzione (interruzione, pausa ecc.).

Flusso di lavoro generale per lo streaming audio o video. I passaggi seguenti illustrano le azioni necessarie alla pubblicazione di audio e video in tempo reale:

  1. Creare un oggetto NetConnection.
  2. Utilizzare il metodo NetConnection.connect() per connettersi all'istanza dell'applicazione sul server.
  3. Creare un oggetto NetStream per creare uno streaming di dati all'interno della connessione.
  4. Utilizzare il metodo NetStream.attachAudio()per catturare e inviare l’audio attraverso lo stream e il metodo NetStream.attachCamera() per catturare e spedire il video.
  5. Utilizzare il metodo NetStream.publish() per assegnare allo streaming un nome univoco e inviare dati al server mediante lo streaming in modo che possano essere ricevuti da altri utenti. È anche possibile registrare i dati mentre vengono pubblicati, in modo che gli utenti possano riprodurli in un secondo momento.

I file SWF che effettuano il subscribing a questo streaming utilizzano il nome passato a publish() quando effettuano la chiamata a play() e richiamano lo stesso metodo NetConnection.connect() di chi ha effettuato la pubblicazione. Dovranno chiamare il metodo Video.attachNetStream() per effettuare lo streaming del video e il metodo NetStream.play() per riprodurlo.

Utilizzare fotogrammi chiave di dati con Flash Media Server. Dopo aver creato gli oggetti NetConnection e NetStream, è possibile utilizzare NetStream.send() per aggiungere dei metadati agli audio o video live mentre vengono trasmessi in streaming al server. I metadati possono essere delle informazioni quali l’altezza o la larghezza di un video, la sua durata, il nome di chi lo ha creato ecc. Per definire i metadati, utilizzare l’apposito nome del gestore @setDataFrame come primo argomento di NetStream.send(). Il client che riceve lo stream live ha bisogno anche di definire il gestore di eventi onMetaData per poter recuperare i metadati dallo stream; per maggiori dettagli consultare il metodo NetStream.send().

Vedere gli esempi

Vedere anche

flash.media.Video
flash.net.NetConnection
send()
onMetaData
Elementi fondamentali del video


Proprietà pubbliche
 ProprietàDefinito da
  bufferLength: Number
[sola lettura] Il numero di secondi di dati che si trovano attualmente nel buffer.
NetStream
  bufferTime: Number
Specifica per quanto tempo i messaggi devono essere inseriti nel buffer prima che inizi la visualizzazione dello streaming.
NetStream
  bytesLoaded: uint
[sola lettura] Il numero di byte di dati che sono stati caricati in Flash Player.
NetStream
  bytesTotal: uint
[sola lettura] Le dimensioni totali, espresse in byte, del file che si sta caricando in Flash Player.
NetStream
  checkPolicyFile: Boolean
Specifica se Flash Player deve tentare di scaricare un file dei criteri dei domini dal server del file video caricato prima di iniziare a caricare il file video stesso.
NetStream
  client: Object
Specifica l'oggetto su cui vengono chiamati i metodi di callback.
NetStream
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  currentFPS: Number
[sola lettura] Il numero di fotogrammi al secondo visualizzati.
NetStream
  liveDelay: Number
[sola lettura] Il numero di secondi di dati nel buffer dello streaming in subscribing in modalità dal vivo (senza buffer).
NetStream
  objectEncoding: uint
[sola lettura] La codifica oggetto (versione AMF) per questo oggetto NetStream.
NetStream
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
  soundTransform: SoundTransform
Controlla l'audio in questo oggetto NetStream.
NetStream
  time: Number
[sola lettura] La posizione dell'indicatore di riproduzione, espressa in secondi.
NetStream
Metodi pubblici
 MetodoDefinito da
  
Crea uno stream che è possibile utilizzare per riprodurre i file video attraverso l'oggetto NetConnection specificato.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
  
Specifica uno streaming audio inviato mediante l'oggetto NetStream, da un oggetto Microphone passato come origine.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Inizia a catturare il video da una videocamera, oppure interrompe la cattura se l'impostazione theCamera è impostata su null.
NetStream
  
Interrompe la riproduzione di tutti i dati dello streaming, imposta la proprietà time su 0 e rende lo streaming disponibile per un altro uso.
NetStream
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
  
sospende la riproduzione di uno streaming video.
NetStream
  
play(... arguments):void
Avvia la riproduzione dei file video.
NetStream
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
  
publish(name:String = null, type:String = null):void
Invia lo streaming audio, video e dei messaggi di testo da un client a un Flash Media server, con l'opzione di registrazione dello stream nel corso della trasmissione.
NetStream
  
Specifica se l'audio in entrata viene riprodotto nello streaming.
NetStream
  
receiveVideo(flagOrFPS:*):void
Specifica se il video in entrata viene riprodotto nello streaming.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
  
riprende la riproduzione di uno streaming video in pausa.
NetStream
  
seek(offset:Number):void
Cerca il fotogramma chiave (anche chiamato I-frame nell’industria video) più vicino alla posizione specificata.
NetStream
  
send(handlerName:String, ... arguments):void
Invia un messaggio su uno streaming pubblicato a tutti i client che hanno effettuato il subscribing.
NetStream
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
  
mette in pausa o riprende la riproduzione di uno streaming.
NetStream
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo.EventDispatcher
   Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo.NetStream
 Inherited Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo.EventDispatcher
   Inviato quando si verifica un errore di input o di output che impedisce l'operazione di rete.NetStream
   Inviato quando un oggetto NetStream segnala il proprio stato o una condizione di errore.NetStream
   Richiamato quando viene raggiunto un cue point durante la riproduzione di un file video.NetStream
   Inviato quando Flash Player riceve informazioni descrittive incorporate nel file video in riproduzione.NetStream
   Inviato quando un oggetto NetStream ha riprodotto completamente uno streaming.NetStream
Descrizione delle proprietà
bufferLengthproprietà
bufferLength:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il numero di secondi di dati che si trovano attualmente nel buffer. È possibile utilizzare questa proprietà con la proprietà bufferTime per stimare quanti secondi mancano al riempimento completo del buffer; ad esempio, per visualizzare un feedback a un utente che attende il caricamento dei dati nel buffer.


Implementazione
    public function get bufferLength():Number

Vedere anche

bufferTimeproprietà 
bufferTime:Number  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica per quanto tempo i messaggi devono essere inseriti nel buffer prima che inizi la visualizzazione dello streaming. Ad esempio, per assicurarsi che i primi 15 secondi dello streaming vengano riprodotti senza interruzioni, impostare bufferTime su 15; la riproduzione dello streaming inizia solo dopo che 15 secondi di dati sono stati inseriti nel buffer.

Il valore predefinito è 0,1, ovvero un decimo di secondo. Per determinare il numero di secondi attualmente presenti nel buffer, utilizzare bufferLength.

Nota: per evitare distorsioni durante lo streaming di contenuto preregistrato (non dal vivo), evitare di impostare il valore di Netstream.bufferTime su 0. Per impostazione predefinita, Flash Player utilizza un buffer di input per il contenuto che inserisce in coda i dati multimediali e riproduce correttamente il contenuto multimediale. Per il contenuto preregistrato, utilizzare l'impostazione predefinita o aumentare il tempo di bufferizzazione.

Flash Media Server. Il comportamento del buffer varia a seconda che il tempo del buffer sia impostato su uno stream di pubblicazione o su uno stream in subscribing. Per uno stream di pubblicazione bufferTime specifica per quanto tempo il buffer in uscita può aumentare di dimensioni prima che Flash cominci a eliminare fotogrammi. Nelle connessioni ad alta velocità, il tempo del buffer non costituisce un problema; i dati verranno inviati ad una velocità quasi pari a quella impiegata da Flash per inviarli al buffer. Nelle connessioni lente, tuttavia, potrebbe esserci una differenza significativa tra la velocità di invio dei dati al buffer da parte di Flash e la velocità di invio al client.

Negli stream in subscribing bufferTime specifica per quanto tempo il buffer deve ritenere i dati prima di avviare la visualizzazione dello stream. Ad esempio, per assicurarsi che i primi 15 secondi dello streaming vengano riprodotti senza interruzioni, impostare bufferTime su 15; Flash comincerà a riprodurre lo stream solo dopo quando 15 secondi di dati saranno stati inseriti nel buffer.

Nel corso della riproduzione di uno stream registrato, se bufferTime è zero, Flash lo imposta a un valore molto basso (di circa 10 millisecondi ). Se gli stream live vengono riprodotti in un secondo momento (ad esempio da una lista di riproduzione) questo tempo del buffer permane. Quindi il valore bufferTime dello stream è diverso da zero.


Implementazione
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Vedere anche

bytesLoadedproprietà 
bytesLoaded:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il numero di byte di dati che sono stati caricati in Flash Player. È possibile utilizzare questa proprietà con la proprietà bytesTotal per stimare quanto manca al riempimento completo del buffer; ad esempio, per visualizzare feedback per un utente che attende il caricamento dei dati nel buffer.


Implementazione
    public function get bytesLoaded():uint

Vedere anche

bytesTotalproprietà 
bytesTotal:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Le dimensioni totali, espresse in byte, del file che si sta caricando in Flash Player.


Implementazione
    public function get bytesTotal():uint

Vedere anche

checkPolicyFileproprietà 
checkPolicyFile:Boolean  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica se Flash Player deve tentare di scaricare un file dei criteri dei domini dal server del file video caricato prima di iniziare a caricare il file video stesso. Questa proprietà è valida quando si utilizza un oggetto NetStream per lo scaricamento video progressivo (file autonomi) o quando si scaricano dei file che si trovano al di fuori del dominio del file SWF chiamante. Questa proprietà viene ignorata quando si utilizza un oggetto NetStream per ottenere una risorsa RTMP.

Impostare questa proprietà su true quando si carica un file video che si trova al di fuori del dominio del file SWF chiamante ed è necessario utilizzare il metodo BitmapData.draw() per l'accesso al video a livello di pixel. Se si chiama BitmapData.draw() senza impostare la proprietà checkPolicyFile su true al momento del caricamento, è possibile ottenere un'eccezione SecurityError, dal momento che il file dei criteri richiesto non è stato scaricato.

Se non è necessario disporre dell'accesso a livello di pixel al video che si sta caricando, evitare di impostare checkPolicyFile su true. La verifica di un file dei criteri consuma l'ampiezza di banda della rete e può ritardare l'avvio dello scaricamento.

Quando si chiama il metodo NetStream.play() con checkPolicyFile impostato su true, Flash Player deve scaricare correttamente un file dei criteri dei domini pertinente oppure determinare che tale file dei criteri non esiste prima di iniziare a scaricare l'oggetto specificato nella chiamata a NetStream.play(). Per verificare l'esistenza di un file dei criteri, Flash Player esegue le azioni seguenti, nell'ordine indicato:

  1. Flash Player prende in considerazione i file dei criteri che sono già stati scaricati.
  2. Flash Player tenta di scaricare gli eventuali file dei criteri in sospeso specificati nelle chiamate al metodo Security.loadPolicyFile().
  3. Flash Player tenta di scaricare un file dei criteri dalla posizione predefinita che corrisponde all'URL che è stato passato a NetStream.play(), che è /crossdomain.xml sullo stesso server dell'URL.

In tutti i casi, Flash Player richiede che esista un file dei criteri appropriati sul server del video, che fornisca accesso all'oggetto in corrispondenza dell'URL che è stato passato a play() in base alla posizione del file dei criteri e che consenta al dominio del file SWF chiamante di accedere al video, per mezzo di uno o più tag <allow-access-from>.

Se si imposta checkPolicyFile su true, prima di scaricare il video Flash Player attende che venga verificato il file dei criteri. Attendere prima di eseguire qualsiasi operazione a livello di pixel sui dati video, ad esempio una chiamata a BitmapData.draw(), fino a quando non si riceve l'evento onMetaData o NetStatus dall'oggetto NetStream.

Se si imposta checkPolicyFile su true ma non viene trovato alcun file dei criteri pertinente, non si riceve un errore finché non si esegue un'operazione che richiede un file dei criteri; a quel punto Flash Player genera un'eccezione SecurityError.

Prestare particolare attenzione con checkPolicyFile se si scarica un file da un URL che utilizza i reindirizzamenti HTTP lato server. Flash Player tenta di recuperare i file dei criteri che corrispondono all'URL iniziale specificato in NetStream.play(). Se il file finale proviene da un URL diverso a causa dei reindirizzamenti HTTP, il file dei criteri inizialmente scaricato potrebbe non essere valido per l'URL finale del file, cioè l'URL che viene considerato nelle decisioni relative alla sicurezza.

Per ulteriori informazioni sui file dei criteri, consultare il capitolo Sicurezza di Flash Player nel manuale Programmazione in ActionScript 3.0.


Implementazione
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Vedere anche

clientproprietà 
client:Object  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica l'oggetto su cui vengono chiamati i metodi di callback. L'oggetto predefinito è this, l'oggetto NetStream che si sta creando. Se si imposta la proprietà client su un altro oggetto, i metodi di callback vengono chiamati su tale oggetto.


Implementazione
    public function get client():Object
    public function set client(value:Object):void

Genera
TypeError — La proprietà client deve essere impostata su un oggetto diverso da null.
currentFPSproprietà 
currentFPS:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il numero di fotogrammi al secondo visualizzati. Se si esportano dei file video da riprodurre su una certa quantità di sistemi, è possibile verificare questo valore durante la fase di prova per determinare la quantità di compressione da applicare durante l'esportazione del file.


Implementazione
    public function get currentFPS():Number
liveDelayproprietà 
liveDelay:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il numero di secondi di dati nel buffer dello streaming in subscribing in modalità dal vivo (senza buffer). Questa proprietà specifica il ritardo nella trasmissione di rete corrente (lag time).

Questa proprietà è destinata principalmente all'utilizzo con un server, quale Flash Media Server; per ulteriori informazioni, consultare la descrizione della classe.

È possibile ottenere il valore di questa proprietà per misurare in modo approssimativo la qualità di trasmissione dello streaming e comunicarla all'utente.


Implementazione
    public function get liveDelay():Number
objectEncodingproprietà 
objectEncoding:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La codifica oggetto (versione AMF) per questo oggetto NetStream. L'oggetto NetStream eredita il proprio valore objectEncoding dall'oggetto NetConnection associato. È importante comprendere questa proprietà se si desidera che un file SWF di ActionScript 3.0 comunichi con i server rilasciati prima di Flash Player 9. Per ulteriori informazioni, vedere la descrizione della proprietà objectEncoding nella classe NetConnection.

Il valore di questa proprietà dipende dal fatto che lo streaming sia locale o remoto. Gli streaming locali, in cui null è stato passato al metodo NetConnection.connect(), restituiscono il valore di NetConnection.defaultObjectEncoding. Gli streaming remoti, in cui ci si connette a un server, restituiscono la codifica oggetto della connessione al server.

Se si tenta di leggere questa proprietà quando non si è connessi o se si tenta di modificarla, Flash Player genera un'eccezione.


Implementazione
    public function get objectEncoding():uint

Vedere anche

soundTransformproprietà 
soundTransform:SoundTransform  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Controlla l'audio in questo oggetto NetStream. Per ulteriori informazioni, vedere la classe SoundTransform.


Implementazione
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

Vedere anche

timeproprietà 
time:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La posizione dell'indicatore di riproduzione, espressa in secondi.

Flash Media Server Per uno stream in subscribing, il numero di secondi durante il quale lo stream è stato riprodotto. Per uno stream pubblicato, il numero di secondi durante il quale lo stream è stato in pubblicazione. La precisione di tale valore è al millesimo per cui occorre moltiplicare per 1000 per ottenere il numero di millisecondi durante il quale lo stream è stato riprodotto.

Negli stream in subscribing se il server interrompe l'invio di dati ma lo stream rimane aperto, viene interrotto anche l'incremento del valore di time. Quando l'invio di dati da parte del server riprende, l'incremento del valore continua dal punto in cui si era interrotto aggiungendo anche l'intervallo di tempo durante l'invio di dati era interrotto.

Il valore di time continua ad aumentare anche quando lo stream passa da un elemento della lista di riproduzione a un altro. Questa proprietà viene impostata su 0 quando viene richiamato NetStream.play() e reset è impostato a 1 o true, oppure quando viene richiamato NetStream.close().


Implementazione
    public function get time():Number

Vedere anche

Descrizione della funzione di costruzione
NetStream()Funzione di costruzione
public function NetStream(connection:NetConnection)

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea uno stream che è possibile utilizzare per riprodurre i file video attraverso l'oggetto NetConnection specificato.

Per informazioni riguardo ai codec supportati e i formati di file consultare il sito http://www.adobe.com/go/hardware_scaling_it e la documentazione Flash Media Server.

Parametri
connection:NetConnection — Un oggetto NetConnection.

Genera
ArgumentError — L'istanza NetConnection non è connessa.

Vedere anche

Descrizione dei metodi
attachAudio()metodo
public function attachAudio(microphone:Microphone):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica uno streaming audio inviato mediante l'oggetto NetStream, da un oggetto Microphone passato come origine. Questo metodo è disponibile solo per chi pubblica lo streaming specificato.

Il metodo attachAudio deve essere utilizzato con Flash Media Server. Questo metodo viene spesso richiamato da un utente che invia un audio live (o un video live con audio) da un computer client al server.

Questo metodo può essere chiamato prima o dopo la chiamata al metodo publish() e l'effettivo inizio della trasmissione. Gli utenti che hanno effettuato il subscribing e desiderano ascoltare l'audio devono chiamare il metodo NetStream.play(). È possibile controllare le proprietà audio di questo streaming audio mediante la proprietà soundTransform dell'oggetto Microphone specificato.

Parametri

microphone:Microphone — L'origine dello streaming audio da trasmettere.

Vedere anche

attachCamera()metodo 
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inizia a catturare il video da una videocamera, oppure interrompe la cattura se l’impostazione theCamera è impostata su null. Questo metodo è disponibile solo per chi pubblica lo streaming specificato.

Questo evento è destinato principalmente all'utilizzo con Flash Media server; per ulteriori informazioni, consultare la descrizione della classe.

Dopo aver associato l'origine video, è necessario chiamare NetStream.publish() per iniziare la trasmissione. Gli utenti che hanno effettuato il subscribing e desiderano visualizzare il video devono chiamare i metodi NetStream.play() e Video.attachCamera() per visualizzare il video sullo stage.

È possibile utilizzare snapshotMilliseconds per inviare una sola istantanea (fornendo il valore 0) o una serie di istantanee (di fatto, una ripresa "time-lapse") fornendo un numero positivo che aggiunge alla sorgente video un trailer del numero di millisecondi specificato. Il trailer estende il tempo di visualizzazione del messaggio video. Se si chiama ripetutamente attachCamera() con un valore positivo per snapshotMilliseconds, la sequenza di istantanee e trailer alternati crea una ripresa "time-lapse". Ad esempio, è possibile catturare un fotogramma al giorno e aggiungerlo a un file video. Quando un utente che ha effettuato il subscribing riproduce il file, ogni fotogramma rimane sullo schermo per il numero di millisecondi specificato, quindi viene visualizzato il fotogramma successivo.

Lo scopo del parametro snapshotMilliseconds è diverso da quello del parametro fps che è possibile impostare con Camera.setMode(). Quando si specifica snapshotMilliseconds, si controlla quanto tempo trascorre tra i fotogrammi registrati. Quando si specifica fps utilizzando Camera.setMode(), si controlla quanto tempo trascorre durante la registrazione e la riproduzione.

Ad esempio, si supponga di voler scattare un'istantanea ogni 5 minuti per un totale di 100 istantanee. È possibile effettuare questa operazione in due modi:

Entrambi i metodi catturano gli stessi 500 fotogrammi e hanno lo stesso livello di utilità; la scelta del metodo dipende principalmente dai requisiti di riproduzione. Ad esempio, nel secondo caso è possibile registrare l'audio per tutto il tempo. Inoltre, le dimensioni dei due file risultano circa uguali.

Parametri

theCamera:Camera — L'origine della trasmissione video. I valori validi sono un oggetto Camera (che inizia la cattura del video) e null. Se si passa null, Flash Player interrompe la cattura del video e tutti gli eventuali parametri aggiuntivi inviati vengono ignorati.
 
snapshotMilliseconds:int (default = -1) — Specifica se lo streaming video è continuo, un fotogramma singolo o una serie di fotogrammi singoli utilizzati per creare riprese "time-lapse".
  • Se si omette questo parametro, Flash Player cattura tutto il video finché non si passa un valore null a attachCamera.
  • Se si passa 0, Flash Player cattura solo un fotogramma video singolo. Utilizzare questo valore per trasmettere "istantanee" all'interno di uno streaming preesistente. Flash interpreta come 0 gli argomenti non validi, negativi o non numerici.
  • Se si passa un numero positivo, Flash cattura un fotogramma video singolo quindi aggiunge una pausa di lunghezza specificata come trailer dell'istantanea. Utilizzare questo valore per creare effetti di ripresa "time-lapse".

close()metodo 
public function close():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Interrompe la riproduzione di tutti i dati dello streaming, imposta la proprietà time su 0 e rende lo streaming disponibile per un altro uso. Questo metodo elimina anche la copia locale di un file video scaricato mediante HTTP. Benché Flash Player elimini la copia locale del file, è possibile che una copia del video permanga nella directory cache del browser. Se è necessario impedire completamente la memorizzazione nella cache o locale del file video, utilizzare Flash Media Server.

Quando si utilizza Flash Media Server, questo metodo viene richiamato automaticamente quando si richiama NetStream.play() dallo stream di pubblicazione o NetStream.publish() da uno stream a registrazione. Notare che:

Vedere anche

pause()metodo 
public function pause():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

sospende la riproduzione di uno streaming video. La chiamata a questo metodo non ha alcun effetto se il video è già in pausa. Per riprendere la riproduzione del video dopo una pausa richiamare resume(). Per passare da pausa a riproduzione e viceversa (effettuando prima la pausa e poi la riproduzione) richiamare togglePause().

Vedere anche

play()metodo 
public function play(... arguments):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Avvia la riproduzione dei file video.

Per informazioni riguardo ai codec supportati e i formati di file consultare il sito http://www.adobe.com/go/hardware_scaling_it e la documentazione Flash Media Server.

Per visualizzare i dati video, creare un oggetto Video o chiamare il metodo Video.attachNetStream(); l'audio trasmesso in streaming con il video o un file contenente solo audio vengono riprodotti automaticamente. Per trasmettere in streaming l'audio di un microfono, utilizzare il metodo NetStream.attachAudio() e controllare alcuni aspetti dell'audio mediante l'oggetto Microphone.

Per controllare l'audio associato a un file video, è possibile utilizzare il metodo DisplayObjectContainer.addChild() così da instradare l'audio a un oggetto nell'elenco di visualizzazione; quindi è possibile creare un oggetto Sound per controllare alcuni aspetti dell'audio. Per ulteriori informazioni, vedere il metodo DisplayObjectContainer.addChild().

Se non è possibile trovare il file videoo, viene inviato l'evento netStatus. Per interrompere lo streaming in corso di riproduzione, utilizzare il metodo close().

Quando si utilizza questo metodo senza Flash Media Server, considerare il modello di sicurezza di Flash Player. A un file SWF che si trova nella sandbox locale affidabile o nella sandbox locale con collegamento di rete è consentito caricare ed eseguire un file video dalla sandbox remota, ma non di accedere ai dati del file remoto senza un'autorizzazione esplicita sotto forma di file di criteri validi per più domini. È inoltre possibile impedire a un file SWF di utilizzare questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML in cui è presente il contenuto SWF.

Per ulteriori informazioni, vedere i seguenti riferimenti:

Parametri

... arguments — Posizione del file video da riprodurre, sotto forma di oggetto URLRequest o di stringa. È possibile riprodurre i file video locali che sono memorizzati nella stessa directory del file SWF o in una sottodirectory; tuttavia, non è possibile passare a una directory di livello superiore.

Flash Media Server Per riprodurre file video sul Flash Media Server, specificare il nome dello stream senza l’estensione del file (per esempio bolero). Per riprodurre file MP3, utilizzare mp3: prima del nome dello stream. Per riprodurre i tag ID3 dei file MP3, utilizzare id3: prima del nome dello stream.

Con Flash Media Server, play() necessita dei seguenti argomenti:

NameRequiredDescrizione
name:ObjectRequired Nome di un file registrato senza l’estensione del file, un identificatore per dati live pubblicati tramite NetStream.publish(), o false. Per riprodurre file MP3, utilizzare mp3: prima del nome. Per riprodurre i tag ID3 di un file MP3, utilizzare id3: prima del nome. Se è false, lo stream interrompe la riproduzione e tutti gli ulteriori parametri vengono ignorati.
start:NumberOpzionale Il momento dell’avvio, espresso in secondi. I valori consentiti sono -2, -1, 0 o un numero positivo. Il valore predefinito è -2, che effettua la ricerca di uno stream live, quindi di uno stream registrato e se non ottiene alcun risultato apre uno stream live. Se il valore è -1, riproduce solamente uno stream live. Se il valore è 0 o un qualsiasi numero positivo, riproduce uno stream registrato a partire dal numero di secondi indicato in start.
len:Number È opzionale se è stato specificato start. Durata della riproduzione, espressa in secondi. I valori consentiti sono -1, -0, o un numero positivo. Il valore predefinito è -1 che riproduce uno stream live o registrato fino alla fine. Se il valore è 0 riproduce un fotogramma singolo situato in corrispondenza del numero di secondi, a partire dall’inizio dello stream registrato, indicato in start. Se il valore è un numero positivo, riproduce uno stream live o registrato per un numero di secondi pari a len.
reset:Object È opzionale se è stato specificato len. Indica se svuotare una lista di riproduzione. Il valore predefinito è 1 o true, che cancella tutte le chiamate play precedenti e riproduce immediatamente name. Se il valore è 0 o false, aggiunge lo stream alla lista di riproduzione. Se il valore è 2 mantiene intatta la lista di riproduzione e restituisce tutti i messaggi dello stream contemporaneamente, invece che ad intervalli. Se il valore è 3, svuota la lista di riproduzione e restituisce tutti i messaggi dello stream contemporaneamente.


Genera
SecurityError — I file SWF non attendibili locali potrebbero non essere in grado di comunicare con Internet. Questa limitazione può essere risolta riclassificando il file SWF come file locale con utilizzo in rete o come attendibile.
 
ArgumentError — È necessario specificare almeno un parametro.
 
Error — L'oggetto NetStream non è valido. Ciò può dipendere da una NetConnection non riuscita.

Vedere anche


Esempio
Flash Media Server Questo esempio riproduce uno stream registrato partendo dall’inizio e per una durata di 100 secondi:
  ns.play("record1", 0, 100, true);
  
Flash Media Server Questo esempio riproduce uno stream live pubblicato da un client, dall’inizio alla fine con avvio immediato e cancellando tutti gli stream precedenti:
  ns.play("stephen");
  
publish()metodo 
public function publish(name:String = null, type:String = null):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Invia lo streaming audio, video e dei messaggi di testo da un client a un Flash Media server, con l'opzione di registrazione dello stream nel corso della trasmissione. Questo metodo è disponibile solo per chi pubblica lo streaming specificato.

Non utilizzare questo metodo per consentire a un client di riprodurre uno streaming che sia già stato pubblicato o registrato. Piuttosto, creare un'istanza NetStream per il client e chiamare il metodo play():

  var subscribeNS:NetStream = new NetStream(myNetConnection);
  subscribeNS.play("streamToPlay");
  

Nel registrare uno stream utilizzando Flash Media Server, il server crea un file e lo memorizza in una sottodirectory all'interno della directory dell'applicazione sul server. Tutti gli stream vengono memorizzati in una directory il cui nome corrisponde al nome dell'istanza inserita in NetConnection.connect(). Il server crea queste directory automaticamente; non è necessario crearne una per ogni istanza dell'applicazione. Ad esempio, il codice seguente mostra come connettersi a un'istanza specifica di un'applicazione che è memorizzata in una directory di nome lectureSeries presente nella directory delle applicazioni. Un file di nome lecture.flv viene memorizzato in una sottodirectory di nome /yourAppsFolder/lectureSeries/streams/Monday:

  var myNC:NetConnection = new NetConnection();
  myNC.connect("rtmp://server.domain.com/lectureSeries/Monday");
  var myNS:NetStream = new NetStream(myNC);
  myNS.publish("lecture", "record");
  

Nell'esempio seguente viene illustrato come connettersi a un'istanza diversa della stessa applicazione, ma emettendo un comando publish identico. Un file di nome lecture.flv viene memorizzato in una sottodirectory di nome /yourAppsFolder/lectureSeries/streams/Tuesday.

  var myNC:NetConnection = new NetConnection();
  myNC.connect("rtmp://server.domain.com/lectureSeries/Tuesday");
  var myNS:NetStream = new NetStream(my_nc);
  myNS.publish("lecture", "record");
  

Se non si passa un valore per il nome di istanza, quello che corrisponde al valore passato alla proprietà name viene memorizzato in una sottodirectory di nome /yourAppsFolder/appName/streams/_definst_ (abbreviazione di "default instance", istanza predefinita). Per ulteriori informazioni sull'uso dei nomi di istanza, vedere il metodo NetConnection.connect(). Per informazioni sulla riproduzione dei file video, vedere il metodo NetStream.play().

Quando un client dell'applicazione Flash Media Server richiama publish(), l'applicazione riceve un evento onPublish. L'applicazione deve gestire l'evento in uno script dal lato server. Quando il client interrompe la pubblicazione, l'applicazione riceve l'evento onUnpublish. Per maggiori informazioni consultare la Guida di riferimento linguaggio ActionScript per applicazioni lato server su Flash Media Server .

Questo metodo è in grado di inviare un evento netStatus con più oggetti informazione diversi. Ad esempio, se qualcuno sta già pubblicando in uno streaming con il nome specificato, l'evento netStatus viene inviato con una proprietà di codice NetStream.Publish.BadName. Per ulteriori informazioni, vedere l'evento netStatus.

Parametri

name:String (default = null) — Una stringa che identifica lo streaming. Se si passa false, l'operazione di pubblicazione si interrompe. I client che effettuano il subscribing a questo streaming devono passare questo stesso nome quando effettuano la chiamata a NetStream.play(). Non è necessario includere un'estensione di file per il nome dello streaming. Non far seguire il nome dello stream da una "/". Non utilizzare per uno stream un nome quale ad esempio "bolero/".
 
type:String (default = null) — Una stringa che specifica come pubblicare lo streaming. I valori accettati sono "record", "append" e "live". Il valore predefinito è "live".
  • Se si passa "record", Flash Player pubblica e registra i dati dal vivo, salvando i dati registrati in un nuovo file con un nome che corrisponde al valore passato al parametro name. Il file viene memorizzato sul server in una sottodirectory della directory che contiene l'applicazione server. Se il file esiste già, viene sovrascritto.
  • Se si inserisce "append", Flash Player pubblica e registra i dati live, aggiungendo i dati registrati a un file con un nome che corrisponde al valore inserito nel parametro name, memorizzato sul server in una sottodirectory all'interno della directory contenente l'applicazione server. Se non viene trovato alcun file con un nome corrispondente al parametro name, viene creato.
  • Se si omette questo parametro o si passa "live", Flash Player pubblica i dati dal vivo senza registrarli. Se esiste un file con un nome corrispondente al valore passato al parametro name, viene eliminato.

Vedere anche

receiveAudio()metodo 
public function receiveAudio(flag:Boolean):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica se l'audio in entrata viene riprodotto nello streaming. Questo metodo è disponibile solo per i client che hanno effettuato il subscribing allo streaming specificato, non a chi ha pubblicato lo streaming.

Questo metodo è destinato principalmente all'utilizzo con Flash Media server; per ulteriori informazioni, consultare la descrizione della classe.

Questo metodo può essere chiamato prima o dopo la chiamata al metodo NetStream.play() e l'effettivo inizio della ricezione dello streaming. Ad esempio, è possibile associare questi metodi a un pulsante che l'utente può selezionare per attivare o disattivare l'audio dello streaming audio in entrata.

Se lo streaming specificato contiene solo dati audio, quando si passa il valore false a questo metodo, si interrompe qualsiasi ulteriore incremento di NetStream.time.

Parametri

flag:Boolean — Specifica se l'audio in entrata viene riprodotto (true) o meno (false) nello streaming. Il valore predefinito è true.

receiveVideo()metodo 
public function receiveVideo(flagOrFPS:*):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica se il video in entrata viene riprodotto nello streaming. Questo metodo è disponibile solo per i client che hanno effettuato il subscribing allo streaming specificato, non a chi ha pubblicato lo streaming.

Questo metodo è destinato principalmente all'utilizzo con Flash Media server; per ulteriori informazioni, consultare la descrizione della classe.

Questo metodo può essere chiamato prima o dopo la chiamata al metodo NetStream.play() e l'effettivo inizio della ricezione dello streaming. Ad esempio, è possibile associare questi metodi a un pulsante che l'utente può selezionare per mostrare o nascondere lo streaming video in entrata.

Se lo streaming specificato contiene solo dati video, quando si passa il valore false a questo metodo, si interrompe qualsiasi ulteriore incremento di NetStream.time.

Parametri

flagOrFPS:* — Specifica se il video in entrata viene riprodotto (true) o meno (false) in questo streaming. Il valore predefinito è true. È inoltre possibile utilizzare un numero intero per specificare la frequenza dei fotogrammi per secondo del video in entrata. Se non viene specificata alcuna frequenza fotogrammi, verrà utilizzata quella del video live o registrato in riproduzione.

resume()metodo 
public function resume():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

riprende la riproduzione di uno streaming video in pausa. Se il video è già in fase di riproduzione, la chiamata a questo metodo non ha alcun effetto.

Vedere anche

seek()metodo 
public function seek(offset:Number):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Cerca il fotogramma chiave (anche chiamato I-frame nell’industria video) più vicino alla posizione specificata. Il fotogramma chiave viene situato in corrispondenza di un offset, espresso in secondi, rispetto all’inizio dello stream.

Gli stream video sono solitamente codificati attraverso due tipi di fotogrammi: fotogrammi chiave (o I-frame) e fotogrammi P (P-frame). Un fotogramma chiave contiene un’immagine intera, mentre un fotogramma P è un fotogramma provvisorio che fornisce delle informazioni aggiuntive tra fotogrammi chiave. L’intervallo di fotogrammi tra un fotogramma chiave e l’altro in uno stream è solitamente compreso tra 10 e 50 fotogrammi.

Su un Flash Media Server, il comportamento di seek() viene controllato dal valore dell’elemento EnhancedSeek nel file di configurazione Application.xml.

Se EnhancedSeek è false, il server utilizzerà la modalità di avanzamento normale. Nella modalità di avanzamento normale, il server avvia lo streaming dal più vicino fotogramma chiave. Se, ad esempio, un video ha dei fotogrammi chiave a 0 e a 10 secondi, un avviamento a 4 secondi causa una riproduzione a partire dal fotogramma chiave situato su 0 secondi. Il video rimane immobile finché non raggiunge il successivo fotogramma chiave posto sui 10 secondi. Per ottenere una migliore esperienza di avanzamento è necessario ridurre l’intervallo tra i fotogrammi chiave. Nella modalità di avanzamento normale non è possibile avviare un video in un punto situato tra due fotogrammi chiave.

Se EnhancedSeek ha come valore predefinito true, il server genera un nuovo fotogramma chiave in corrispondenza dell’offset basato sul fotogramma chiave precedente e sul più vicino fotogramma P. Tuttavia, questa operazione, causa un elevato carico di elaborazione sul server per cui nel fotogramma chiave generato potrebbe verificarsi una distorsione. Se il codec video è On2, il fotogramma chiave prima del punto di avanzamento e tutti i fotogrammi P situati tra il fotogramma chiave e il punto di avanzamento vengono inviati al client.

Parametri

offset:Number — Valore approssimativo, espresso in secondi, per il passaggio a un file video. Con Flash Media Server, se <EnhancedSeek> è impostato su true nel file di configurazione Application.xml (che è quello predefinito), il server genera un fotogramma chiave nell’offset.
  • Per tornare all'inizio dello streaming, passare 0 per offset.
  • Per eseguire la ricerca a partire dall'inizio dello streaming, passare il numero di secondi di avanzamento. Per esempio per situare l’indicatore di riproduzione a 15 secondi dall’inizio (ovvero situare il fotogramma chiave dopo 15 secondi), utilizzare myStream.seek(15).
  • Per eseguire la ricerca in relazione alla posizione corrente, inserire NetStream.time + n o NetStream.time - n per spostarsi di n secondi, rispettivamente, avanti o indietro rispetto alla posizione corrente. Ad esempio, per il riavvolgimento di 20 secondi dalla posizione corrente, utilizzare NetStream.seek(NetStream.time - 20).

Vedere anche

send()metodo 
public function send(handlerName:String, ... arguments):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Invia un messaggio su uno streaming pubblicato a tutti i client che hanno effettuato il subscribing. Questo metodo è disponibile solo per chi ha pubblicato lo streaming specificato e deve essere utilizzato con Flash Media Server. Per elaborare e dare una risposta a questo messaggio, creare un gestore sull’oggetto NetStream come ad esempio ns.HandlerName.

Flash Player non serializza i metodi o i relativi dati, le variabili del prototipo dell'oggetto o le variabili non enumerabili. Per gli oggetti di visualizzazione, Flash Player serializza il percorso ma nessun dato.

È possibile richiamare il metodo send() per aggiungere dati ai fotogrammi chiave di uno stream live inviato al Flash Media Server. Un fotogramma chiave di dati è un messaggio che chi pubblica lo stream aggiunge allo stesso. I fotogrammi chiave di dati vengono utilizzati solitamente per aggiungere dei metadati a uno stream live prima che i dati vengano catturato per lo stream stesso da una camera e da un microfono. Chi pubblica può aggiungere un fotogramma chiave di dati in qualsiasi momento nel corso della pubblicazione dello stream live. Il fotogramma chiave di dati viene salvato nella memoria del server fino a quando chi pubblica è connesso al server.

I client che hanno effettuato il subscribing allo stream live prima che il fotogramma chiave di dati venisse aggiunto lo ricevono nel momento stesso in cui viene aggiunto. I client che effettuano il subscribing allo stream live dopo che il fotogramma chiave di dati è stato aggiunto lo ricevono al momento del subscribing.

Per aggiungere un fotogramma chiave di metadati a uno stream live inviato a Flash Media Server utilizzare @setDataFrame come nome del gestore, seguito da due ulteriori argomenti, come ad esempio:

  var ns:NetStream = new NetStream(nc);
  ns.send("@setDataFrame", "onMetaData", metaData);
  

L’argomento @setDataFrame si riferisce a uno speciale gestore incorporato in Flash Media Server. L’argomento onMetaData è il nome di una funzione di callback nell’applicazione client che ascolta l’evento onMetaData event e recupera i metadati. Il terzo elemento, metaData, è un’istanza di Object o di Array le cui proprietà definiscono i valori dei metadati. Chi pubblica deve impostare dei nomi di proprietà che gli utenti in subscribing possano facilmente comprendere; nella documentazione Flash Media Server è possibile consultare un elenco di nomi di proprietà consigliati.

Utilizzare @clearDataFrame per cancellare i metadati di un fotogramma chiave che è stato già inserito nello stream:

  ns.send("@clearDataFrame", "onMetaData");
  

Parametri

handlerName:String — Il messaggio da inviare, oltre al nome del gestore ActionScript che deve ricevere il messaggio. Il nome del gestore può avere una profondità di un solo livello (cioè, non può essere di tipo principale/secondario) ed è relativo all'oggetto stream. Non utilizzare un termine riservato per il nome di un gestore. Ad esempio, se si utilizza "close" come nome del gestore, il metodo non funziona. Con Flash Media Server, utilizzare @setDataFrame per aggiungere un fotogramma chiave di metadati a uno stream live o @clearDataFrame per rimuovere il fotogramma chiave.
 
... arguments — Gli argomenti opzionali possono essere di qualsiasi tipo. Vengono serializzati e inviati sulla connessione e il gestore di ricezione li riceve nello stesso ordine. Se un parametro è un oggetto circolare (ad esempio, un elenco collegato che è circolare), la funzione di serializzazione gestisce i riferimenti correttamente. Con Flash Media Server, se @setDataFrame è il primo argomento, utilizzare onMetaData come secondo argomento; come terzo argomento inserire un’istanza di Object o Array che abbia i metadati impostati come proprietà. All’interno della documentazione Flash Media Server è possibile consultare un elenco di nomi di proprietà consigliati. Con @clearDataFrame come primo argomento utilizzare onMetaData come secondo argomento e non inserire alcun terzo argomento.

Vedere anche


Esempio
Flash Media Server Il seguente esempio crea due oggetti NetStream. Il primo viene utilizzato per pubblicare uno stream live sul server, mentre l’altro per effettuare il subscribing allo stream.
  package {
       import flash.display.Sprite;
       import flash.net.NetConnection;
       import flash.net.NetStream;
       import flash.events.NetStatusEvent;
       import flash.media.Video;
       import flash.utils.setTimeout;
          
       public class TestExample extends Sprite
       {
         var nc:NetConnection = new NetConnection();
         var ns1:NetStream;
         var ns2:NetStream;
         var vid:Video = new Video(300,300);
         var obj:Object = new Object();
     
         public function TestExample() {
            nc.objectEncoding = 0;
            nc.addEventListener("netStatus", onNCStatus);
            nc.connect("rtmp://localhost/FlashVideoApp");
            addChild(vid); 
         }
      
         function onNCStatus(event:NetStatusEvent):void {
           switch (event.info.code) {
               case "NetConnection.Connect.Success":
                   trace("You've connected successfully");
                   ns1 = new NetStream(nc);
                   ns2 = new NetStream(nc);
                   
                   ns1.client = new CustomClient();
                   ns1.publish("dummy", "live");
        
                   ns2.play("dummy");
                   ns2.client = new CustomClient();
                   vid.attachNetStream(ns2);
                   setTimeout(sendHello, 3000);
                   break;
                  
               case "NetStream.Publish.BadName":
                   trace("Please check the name of the publishing stream" );
                   break;
            }   
         }
              function sendHello():void {
             ns1.send("myFunction", "hello");
         }       
       }
     }
     
     class CustomClient {
        public function myFunction(event:String):void {
           trace(event);
        }
     }
  
Flash Media Server Il seguente esempio crea dei metadati e li aggiunge allo stream:
  private function netStatusHandler(event:NetStatusEvent):void {
         switch (event.info.code) {  
            case "NetStream.Publish.Start":
                var metaData:Object = new Object();
                metaData.title = "myStream";
                metaData.width = 400;
                metaData.height = 200;
                ns.send("@setDataFrame", "onMetaData", metaData);
                ns.attachCamera( Camera.getCamera() );
                ns.attachAudio( Microphone.getMicrophone() );  
            }
         }
  
Flash Media Server Per rispondere al fotogramma chiave di dati aggiunto a un video, il client deve definire un gestore di eventi onMetaData. Il gestore di eventi onMetaData non è registrato in addEventListener(); si tratta, invece di un funzione di callback il cui nome è onMetaData, per esempio:
  public function onMetaData(info:Object):void {
     trace("width: " + info.width);
     trace("height: " + info.height);
  }
  
Flash Media Server Questo esempio mostra come creare una lista di riproduzione sul server:
  // Create a NetStream for playing
  var my_ns:NetStream = new NetStream(my_nc);
  my_video.attachNetStream(my_ns);
  
  // Play the stream record1
  my_ns.play("record1", 0, -1, true);
  
  // Switch to the stream live1 and play for 5 seconds.  
  // Since reset is false, live1 will start to play after record1 is done.
  my_ns.play("live1", -1 , 5, false);
  
Flash Media Server Se il file video registrato contiene solo dei messaggi dati è possibile sia eseguire il file video alla stessa velocità con la quale era stato registrato, che ottenere i messaggi di dati tutti in una volta.
  //To play at normal speed
  var my_ns:NetStream = new NetStream(my_nc);
  my_ns.play("log", 0, -1);
  
  //To get the data messages all at once
  my_ns.play("log", 0, -1, 3);
  
togglePause()metodo 
public function togglePause():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

mette in pausa o riprende la riproduzione di uno streaming. La prima volta che viene chiamato questo metodo, la riproduzione viene messa in pausa; la volta successiva la riproduzione viene ripresa. È possibile utilizzare questo metodo per consentire agli utenti di mettere in pausa o riprendere la riproduzione premendo un solo pulsante.

Vedere anche

Descrizione degli eventi
asyncError Evento
Tipo di oggetto evento: flash.events.AsyncErrorEvent
AsyncErrorEvent.type property = flash.events.AsyncErrorEvent.ASYNC_ERROR

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo. Questo evento viene inviato quando un server chiama un metodo sul client che non è definito.

La costante AsyncErrorEvent.ASYNC_ERROR definisce il valore della proprietà type di un oggetto evento asyncError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto interessato da un errore di funzionamento di rete.
errorL'errore che ha attivato l'evento.

Vedere anche

ioError Evento  
Tipo di oggetto evento: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando si verifica un errore di input o di output che impedisce l'operazione di rete.

Definisce il valore della proprietà type di un oggetto evento ioError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete interessato dall'errore di input/output.
textTesto da visualizzare come messaggio di errore.
netStatus Evento  
Tipo di oggetto evento: flash.events.NetStatusEvent
NetStatusEvent.type property = flash.events.NetStatusEvent.NET_STATUS

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando un oggetto NetStream segnala il proprio stato o una condizione di errore. L'evento netStatus contiene una proprietà info, che è un oggetto informazione contenente informazioni specifiche sull'evento, ad esempio se un tentativo di connessione è riuscito o fallito.

Definisce il valore della proprietà type di un oggetto evento netStatus.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
infoUn oggetto con proprietà che ne descrivono lo stato o la condizione di errore.
targetL'oggetto NetConnection o NetStream che ne riporta lo stato.

Vedere anche

onCuePoint Evento  

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Richiamato quando viene raggiunto un cue point durante la riproduzione di un file video. È possibile utilizzare questo gestore per attivare le azioni nel codice quando il video raggiunge un cue point specifico, che consente di sincronizzare altre azioni nell'applicazione con eventi di riproduzione video. Per informazioni riguardo ai formati video supportati da Flash Media Server, consultare la documentazione Flash Media Server.

Questo evento deve essere utilizzato con Flash Media Server. Non fa parte dell'API Flash Player, ma viene incluso in questa guida di riferimento per comodità dell'utente. Non è possibile utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare questo evento. Piuttosto, è necessario definire una funzione di callback singola e associarla direttamente a uno degli oggetti seguenti:

I seguenti tipi di cue point possono essere incorporati in un file video:

L'oggetto evento onCuePoint ha le proprietà seguenti:

ProprietàDescrizione
nameNome assegnato al cue point quando è stato incorporato nel file video.
parametriUn array associativo di stringhe di coppie nome/valore specificato per il cue point. Per il nome o il valore del parametro è possibile utilizzare qualunque stringa valida.
timeIl momento temporale espresso in secondi in corrispondenza del quale si è verificato il cue point nel file video durante la riproduzione.
typeIl tipo di cue point raggiunto: di navigazione o di evento.

È possibile definire i cue point in un file video quando si codifica il file o quando si importa un video clip nello strumento di creazione di Flash mediante la procedura guidata Importa video.

L'evento onMetaData recupera anche le informazioni sui cue point in un file video. Tuttavia, l'evento onMetaData ottiene le informazioni relative a tutti i cue point prima che inizi la riproduzione del video. L'evento onCuePoint riceve le informazioni su un singolo cue point nel momento temporale specificato per tale cue point durante la riproduzione.

In generale, per fare in modo che il codice risponda a uno specifico cue point nel momento in cui si verifica, utilizzare l'evento onCuePoint per attivare delle azioni nel codice.

È possibile utilizzare l'elenco dei cue point fornito dall'evento onMetaData per consentire all'utente di avviare la riproduzione del video in corrispondenza di alcuni punti predefiniti nel corso dello streaming del video. Passare il valore della proprietà time del cue point al metodo NetStream.seek() per riprodurre il video a partire da tale cue point.

Vedere anche

onMetaData Evento  

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando Flash Player riceve informazioni descrittive incorporate nel file video in riproduzione. Per informazioni riguardo ai formati video supportati da Flash Media Server, consultare la documentazione Flash Media Server.

Questo evento è destinato principalmente all'utilizzo con Flash Media server; per ulteriori informazioni, consultare la descrizione della classe. Non fa tecnicamente parte dell'API Flash Player, ma viene incluso in questa guida di riferimento per comodità dell'utente. Non è possibile utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare questo evento. Piuttosto, è necessario definire una funzione di callback singola e associarla direttamente a uno degli oggetti seguenti:

L'utilità Flash Video Exporter (versione 1.1 o successiva) incorpora la durata, la data di creazione, i trasferimenti dati e altre informazioni relative al video nel video stesso. Encoder video diversi incorporano serie di metadati diverse.

L'evento viene attivato dopo una chiamata al metodo NetStream.play(), ma prima che l'indicatore di riproduzione del video avanzi.

In molti casi il valore di durata incorporato nei metadati FLV si avvicina alla durata effettiva ma non corrisponde esattamente. In altre parole non corrisponde sempre al valore della proprietà NetStream.time quando l'indicatore di riproduzione si trova alla fine dello streaming video.

Vedere anche

onPlayStatus Evento  

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando un oggetto NetStream ha riprodotto completamente uno streaming. Questo gestore restituisce gli oggetti informazione che forniscono informazioni aggiuntive rispetto a ciò che viene restituito dall'evento netStatus. Questo gestore può essere utilizzato per attivare delle azioni nel codice quando un oggetto NetStream è passato da uno streaming a un altro in una sequenza di brani (come indicato dell'oggetto informazione NetStream.Play.Switch) o quando un oggetto NetStream ha effettuato la riproduzione fino alla fine (come indicato dall'oggetto informazione NetStream.Play.Complete). Per rispondere a questo evento, creare una funzione che elabori l'oggetto informazione inviato dal server.

Questo evento è destinato principalmente all'utilizzo con Flash Media server; per ulteriori informazioni, consultare la descrizione della classe. Non fa parte dell'API Flash Player, ma viene incluso in questa guida di riferimento per comodità dell'utente. Non è possibile utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare questo evento. Piuttosto, è necessario definire una funzione di callback singola e associarla direttamente a uno degli oggetti seguenti:

Questo evento può restituire un oggetto informazione con le proprietà seguenti:

Proprietà di codiceProprietà di livelloSignificato
NetStream.Play.Switch"status"Il subscriber passa da uno streaming a un altro all'interno di una sequenza di brani.
NetStream.Play.Complete"status"La riproduzione è stata completata.

Vedere anche

Esempi Come utilizzare gli esempi
NetConnectionExample.as

Nell'esempio seguente viene utilizzato un oggetto Video con le classi NetConnection e NetStream per caricare ed eseguire un file FLV. Per provare questo esempio, è necessario un file FLV con un nome e una posizione che corrispondono alla variabile passata a videoURL; in questo caso, si tratta di un file FLV denominato Video.flv che si trova nella stessa directory del file SWF.

In questo esempio, il codice che crea gli oggetti Video e NetStream e chiama i metodi Video.attachNetStream() e NetStream.play() viene collocato in una funzione gestore. Il gestore viene chiamato solo se il tentativo di connessione all'oggetto NetConnection ha esito positivo; cioè quando l'evento netStatus restituisce un oggetto info con una proprietà code che indica l'esito positivo. È consigliabile attendere la riuscita della connessione prima di effettuare la chiamata aNetStream.play().


package {
    import flash.display.Sprite;
    import flash.events.NetStatusEvent;
    import flash.events.SecurityErrorEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.events.Event;

    public class NetConnectionExample extends Sprite {
        private var videoURL:String = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        public function NetConnectionExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Stream not found: " + videoURL);
                    break;
            }
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function connectStream():void {
            stream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.client = new CustomClient();
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }
    }
}

class CustomClient {
    public function onMetaData(info:Object):void {
        trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
    }
    public function onCuePoint(info:Object):void {
        trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/net/NetStream.html