| Pacchetto | flash.net |
| Classe | public class NetStream |
| Ereditarietà | NetStream EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
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:
NetConnection.connect() per connettersi all'istanza dell'applicazione sul server.NetStream.attachAudio()per catturare e inviare l’audio attraverso lo stream e il metodo NetStream.attachCamera() per catturare e spedire il video.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 anche
| 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 | ||
![]() | constructor: 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 | ||
![]() | prototype: 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 | ||
| Metodo | Definito da | ||
|---|---|---|---|
|
NetStream(connection:NetConnection)
Crea uno stream che è possibile utilizzare per riprodurre i file video attraverso l'oggetto NetConnection specificato.
| NetStream | ||
![]() |
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 | ||
|
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 | ||
![]() |
Invia un evento nel flusso di eventi.
| EventDispatcher | |
![]() |
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
| EventDispatcher | |
![]() |
Indica se per un oggetto è definita una proprietà specifica.
| Object | |
![]() |
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 | ||
|
Avvia la riproduzione dei file video.
| NetStream | ||
![]() |
Indica se la proprietà specificata esiste ed è enumerabile.
| Object | |
|
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 | ||
|
Specifica se il video in entrata viene riprodotto nello streaming.
| NetStream | ||
![]() |
Rimuove un listener dall'oggetto EventDispatcher.
| EventDispatcher | |
|
riprende la riproduzione di uno streaming video in pausa.
| NetStream | ||
|
Cerca il fotogramma chiave (anche chiamato I-frame nell’industria video) più vicino alla posizione specificata.
| NetStream | ||
|
Invia un messaggio su uno streaming pubblicato a tutti i client che hanno effettuato il subscribing.
| NetStream | ||
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
| Object | |
|
mette in pausa o riprende la riproduzione di uno streaming.
| NetStream | ||
![]() |
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
| Object | |
![]() |
Restituisce il valore di base dell'oggetto specificato.
| Object | |
![]() |
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
| EventDispatcher | |
| Evento | Riepilogo | Definito da | ||
|---|---|---|---|---|
![]() | 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 | |||
![]() | 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 | |||
| bufferLength | proprietà |
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.
public function get bufferLength():Number
Vedere anche
| bufferTime | proprietà |
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.
public function get bufferTime():Number
public function set bufferTime(value:Number):void
Vedere anche
| bytesLoaded | proprietà |
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.
public function get bytesLoaded():uint
Vedere anche
| bytesTotal | proprietà |
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.
public function get bytesTotal():uint
Vedere anche
| checkPolicyFile | proprietà |
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:
Security.loadPolicyFile().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.
public function get checkPolicyFile():Boolean
public function set checkPolicyFile(value:Boolean):void
Vedere anche
| client | proprietà |
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.
public function get client():Object
public function set client(value:Object):void
TypeError — La proprietà client deve essere impostata su un oggetto diverso da null.
|
| currentFPS | proprietà |
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.
public function get currentFPS():Number
| liveDelay | proprietà |
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.
public function get liveDelay():Number
| objectEncoding | proprietà |
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.
public function get objectEncoding():uint
Vedere anche
| soundTransform | proprietà |
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.
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
Vedere anche
| time | proprietà |
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().
public function get time():Number
Vedere anche
| 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.
Parametriconnection:NetConnection — Un oggetto NetConnection.
|
ArgumentError — L'istanza NetConnection non è connessa.
|
Vedere anche
| 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:
NetStream.attachCamera(myCamera, 500) 100 volte, uno ogni 5 minuti. La registrazione richiede 500 minuti, ma il file risultante viene riprodotto in 50 secondi (100 fotogrammi con un intervallo di 500 millisecondi tra un fotogramma e l'altro).Camera.setMode() con un valore fps di 1/300 (uno per 300 secondi, o uno ogni 5 minuti), quindi emettere un comando NetStream.attachCamera(source), che lascia la videocamera riprendere in modo continuo per 500 minuti. Il file risultante viene riprodotto in 500 minuti, lo stesso tempo richiesto dalla registrazione, durante i quali ogni fotogramma viene visualizzato per 5 minuti.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".
|
| 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:
close() da uno stream in pubblicazione, la pubblicazione stessa viene interrotta e chi la sta effettuando può utilizzare quello stesso stream ad altri scopi. Chi stava ricevendo quello stream smette di ricevere i dati in pubblicazione perché lo streaming è stato interrotto.
close() da uno stream in ricezione, la ricezione viene interrotte e lo stream può essere utilizzato ad altri scopi. Gli altri utenti in ricezione non sono influenzati da questa operazione.
flash.net.NetStream.play(false).
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:
Netstream.checkPolicyFile.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
Con Flash Media Server,
|
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
ns.play("record1", 0, 100, true);
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".
|
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.
|
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
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);
}
}
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() );
}
}
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);
}
// 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);
//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
| asyncError | Evento |
flash.events.AsyncErrorEvent
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 costanteAsyncErrorEvent.ASYNC_ERROR definisce il valore della proprietà type di un oggetto evento asyncError.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto interessato da un errore di funzionamento di rete. |
error | L'errore che ha attivato l'evento. |
Vedere anche
| ioError | Evento |
flash.events.IOErrorEvent
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 |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete interessato dall'errore di input/output. |
text | Testo da visualizzare come messaggio di errore. |
| netStatus | Evento |
flash.events.NetStatusEvent
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.
type di un oggetto evento netStatus.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
info | Un oggetto con proprietà che ne descrivono lo stato o la condizione di errore. |
target | L'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:
client di un'istanza NetStream.I seguenti tipi di cue point possono essere incorporati in un file video:
time del cue point corrisponde proprio a tale fotogramma chiave. I cue point di navigazione vengono spesso utilizzati come segnalibri o punti di entrata per consentire agli utenti di navigare all'interno del file video.L'oggetto evento onCuePoint ha le proprietà seguenti:
| Proprietà | Descrizione |
|---|---|
name | Nome assegnato al cue point quando è stato incorporato nel file video. |
parametri | Un 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. |
time | Il momento temporale espresso in secondi in corrispondenza del quale si è verificato il cue point nel file video durante la riproduzione. |
type | Il 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:
client di un'istanza NetStream.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:
client di un'istanza NetStream.Questo evento può restituire un oggetto informazione con le proprietà seguenti:
| Proprietà di codice | Proprietà di livello | Significato |
|---|---|---|
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
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