Pacchetto | flash.media |
Classe | public final class Camera |
Ereditarietà | Camera EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un'istanza Camera acquisisce il video con orientamento orizzontale. Nei dispositivi che sono in grado di cambiare l'orientamento dello schermo, come i telefoni cellulari, un oggetto Video associato alla fotocamera mostrerà l'immagine correttamente solo con l'orientamento orizzontale. Pertanto, le applicazioni per dispositivi mobili devono utilizzare l'orientamento orizzontale per la visualizzazione dei video e non eseguire la rotazione automatica.
Su iOS, il video della videocamera anteriore viene rispecchiato, su Android no.
Nei dispositivi mobili dotati di fotocamera con messa a fuoco automatica, tale funzione è attivata automaticamente. Se la videocamera non supporta la messa a fuoco automatica continua, come accade su molti dispositivi, la videocamera verrà messa a fuoco quando l'oggetto Camera viene collegato a un flusso video e ogni volta che si chiama il metodo setMode()
. Sui computer desktop, la messa a fuoco automatica dipende dal driver e dalle impostazioni della fotocamera.
In un'applicazione AIR su Android e iOS, la fotocamera non acquisisce le immagini video se AIR non è l'applicazione attiva in primo piano. È inoltre possibile che si perdano le connessioni in streaming quando l'applicazione è in esecuzione in background. Su iOS, le immagini video della fotocamera non vengono visualizzate se un'applicazione usa la modalità di rendering tramite GPU. Le immagini video della fotocamera possono comunque essere trasmesse in streaming a un server.
Supporto profili AIR: questa funzione non è supportata nei dispositivi AIR per TV. Per ulteriori informazioni sul supporto delle API tra più profili, vedete Supporto dei profili AIR. Nota: nei dispositivi AIR per TV, Camera.isSupported
è true
ma Camera.getCamera()
restituisce sempre null
. L'accesso alla videocamera non è supportato nei browser per dispositivi mobili.
Per informazioni sull'acquisizione audio, vedete la classe Microphone.
Importante: il runtime visualizza una finestra di dialogo relativa alla privacy che consente all'utente di scegliere se consentire o negare l'accesso alla videocamera. Accertatevi che le dimensioni della finestra dell'applicazione siano almeno di 215 x 138 pixel, ovvero le dimensioni minime richieste per visualizzare la finestra di dialogo.
Per creare un riferimento a un oggetto Camera, utilizzate il metodo getCamera()
.
Altri esempi
Verifica dell'installazione delle videocamere
Rilevamento delle autorizzazioni per l'accesso alla videocamera
Ottimizzazione della qualità video della videocamera
Monitoraggio stato videocamera
Altre informazioni
Nozioni fondamentali sui formati video
Compatibilità Flash Player e AIR con i file video codificati
Nozioni fondamentali sui formati di file video F4V e FLV Adobe
Argomenti avanzati per i file video
Esempio video: Video Jukebox
Nozioni fondamentali sulla classe Camera
Visualizzazione sullo schermo del contenuto della videocamera
Progettazione di un'applicazione per la videocamera
Cristophe Coenraets: chat video per Android in 30 righe di codice
Michael Chaize: Android, AIR e la videocamera
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
activityLevel : Number [sola lettura]
La quantità di movimento rilevata dalla videocamera. | Camera | ||
bandwidth : int [sola lettura]
La quantità massima di ampiezza di banda utilizzabile dal feed video in uscita corrente, espressa in byte. | Camera | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
currentFPS : Number [sola lettura]
La velocità con cui la videocamera sta catturando i dati, espressa in fotogrammi al secondo. | Camera | ||
fps : Number [sola lettura]
La velocità massima con cui la videocamera cattura i dati, espressa in fotogrammi al secondo. | Camera | ||
height : int [sola lettura]
L'altezza della cattura corrente, espressa in pixel. | Camera | ||
index : int [sola lettura]
Un indice basato su zero che specifica la posizione della videocamera nell'array Camera.names, che elenca tutte le videocamere disponibili. | Camera | ||
isSupported : Boolean [statico] [sola lettura]
La proprietà isSupported è impostata su true se la classe Camera è supportata nella piattaforma corrente, altrimenti è impostata su false. | Camera | ||
keyFrameInterval : int [sola lettura]
Il numero di fotogrammi video trasmessi per intero (i fotogrammi chiave) anziché essere interpolati dall'algoritmo di compressione video. | Camera | ||
loopback : Boolean [sola lettura]
Indica se una visualizzazione locale delle immagini catturate dalla videocamera viene compressa e decompressa (true), come accadrebbe per la trasmissione dal vivo mediante Flash Media Server, o se la compressione non viene effettuata (false). | Camera | ||
motionLevel : int [sola lettura]
La quantità di movimento necessaria per richiamare l'evento activity. | Camera | ||
motionTimeout : int [sola lettura]
Il numero di millisecondi che trascorrono tra il momento in cui la videocamera interrompe il rilevamento del movimento e quello in cui viene richiamato l'evento activity. | Camera | ||
muted : Boolean [sola lettura]
Un valore booleano che indica se l'utente ha negato (true) o consentito (false) l'accesso alla videocamera nella finestra di dialogo Privacy di Flash Player. | Camera | ||
name : String [sola lettura]
Il nome della videocamera corrente, restituito dall'hardaware della videocamera. | Camera | ||
names : Array [statico] [sola lettura]
Serie di stringhe contenente i nomi di tutte le videocamere disponibili. | Camera | ||
permissionStatus : String [statico] [sola lettura]
Consente di determinare se l’applicazione ha ottenuto l’autorizzazione per l’uso della fotocamera. | Camera | ||
position : String [sola lettura]
Specifica il lato del dispositivo su cui si trova la videocamera. | Camera | ||
quality : int [sola lettura]
Il livello di qualità immagine richiesto, determinato dall'entità della compressione applicata a ciascun fotogramma video. | Camera | ||
width : int [sola lettura]
La larghezza della cattura corrente, espressa in pixel. | Camera |
Metodo | Definito da | ||
---|---|---|---|
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 | ||
Riempie un array di byte da un’area rettangolare di dati pixel. Scrive nell’array di byte un numero intero senza segno (un valore di pixel a 32 bit non moltiplicato) per ogni pixel. | Camera | ||
Genera un vettore da un'area rettangolare di dati pixel. | Camera | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Copia l’ultimo fotogramma in una bitmap. | Camera | ||
[statico]
Restituisce un riferimento a un oggetto Camera per la cattura del video. | Camera | ||
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 | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Richiede l’autorizzazione per l’uso della fotocamera da parte dell’applicazione. | Camera | ||
Specifica quali fotogrammi video vengono trasmessi per intero (i fotogrammi chiave) anziché essere interpolati dall’algoritmo di compressione video. | Camera | ||
Specifica se deve essere utilizzato uno streaming video compresso per una visualizzazione locale della videocamera. | Camera | ||
Imposta la videocamera sulla modalità di cattura che soddisfa al meglio i requisiti specificati. | Camera | ||
Specifica la quantità di movimento necessaria per inviare l'evento activity. | Camera | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Imposta la quantità massima di ampiezza di banda al secondo o la qualità di immagine richiesta del feed video in uscita corrente. | Camera | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
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 | ||
---|---|---|---|---|
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo. | EventDispatcher | |||
Inviato quando una videocamera inizia o termina una sessione. | Camera | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
Inviato quando l’applicazione richiede l’autorizzazione per l’utilizzo della fotocamera del dispositivo. | Camera | |||
Inviato quando una videocamera segnala il proprio stato. | Camera | |||
Inviato dopo che un nuovo fotogramma della videocamera è stato elaborato dal runtime ed è disponibile per essere copiato. | Camera |
activityLevel | proprietà |
activityLevel:Number
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La quantità di movimento rilevata dalla videocamera. I valori accettabili sono compresi tra 0 (non viene rilevato alcun movimento) e 100 (viene rilevata una grande quantità di movimento). Il valore di questa proprietà può essere utile per determinare se è necessario passare un'impostazione al metodo setMotionLevel()
.
Se la videocamera è disponibile ma non viene ancora utilizzata perché non è stata effettuata una chiamata al metodo Video.attachCamera()
, questa proprietà viene impostata su -1.
Se si effettua lo streaming solo di video locale non compresso, questa proprietà viene impostata solo se è stata assegnata una funzione al gestore di eventi. In caso contrario, è undefined.
Implementazione
public function get activityLevel():Number
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
bandwidth | proprietà |
bandwidth:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La quantità massima di ampiezza di banda utilizzabile dal feed video in uscita corrente, espressa in byte. Il valore 0 indica che il feed può utilizzare tutta l'ampiezza di banda necessaria per mantenere la qualità desiderata.
Per impostare questa proprietà, utilizzate il metodo setQuality()
.
Implementazione
public function get bandwidth():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
currentFPS | proprietà |
currentFPS:Number
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La velocità con cui la videocamera sta catturando i dati, espressa in fotogrammi al secondo. Questa proprietà non può essere impostata; tuttavia è possibile utilizzare il metodo setMode()
per impostare una proprietà correlata - fps
- che specifica la frequenza massima dei fotogrammi con cui si desidera che la videocamera catturi i dati.
Implementazione
public function get currentFPS():Number
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
fps | proprietà |
fps:Number
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La velocità massima con cui la videocamera cattura i dati, espressa in fotogrammi al secondo. La velocità massima possibile dipende dalle capacità della videocamera; questa frequenza dei fotogrammi non può essere raggiunta.
- Per impostare un valore per questa proprietà, utilizzate il metodo
setMode()
. - Per determinare la velocità corrente con cui la videocamera cattura i dati, utilizzate la proprietà
currentFPS
.
Implementazione
public function get fps():Number
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
height | proprietà |
height:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
L'altezza della cattura corrente, espressa in pixel. Per impostare un valore per questa proprietà, utilizzate il metodo setMode()
.
Implementazione
public function get height():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
index | proprietà |
index:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un indice basato su zero che specifica la posizione della videocamera nell'array Camera.names
, che elenca tutte le videocamere disponibili.
Implementazione
public function get index():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
isSupported | proprietà |
isSupported:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10.1, AIR 2 |
La proprietà isSupported
è impostata su true
se la classe Camera è supportata nella piattaforma corrente, altrimenti è impostata su false
.
Implementazione
public static function get isSupported():Boolean
keyFrameInterval | proprietà |
keyFrameInterval:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il numero di fotogrammi video trasmessi per intero (i fotogrammi chiave) anziché essere interpolati dall'algoritmo di compressione video. Il valore predefinito è 15, che indica che un fotogramma su 15 è un fotogramma chiave. Un valore di 1 significa che ogni fotogramma è un fotogramma chiave. I valori consentiti sono 1-300.
Implementazione
public function get keyFrameInterval():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
loopback | proprietà |
loopback:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Indica se una visualizzazione locale delle immagini catturate dalla videocamera viene compressa e decompressa (true
), come accadrebbe per la trasmissione dal vivo mediante Flash Media Server, o se la compressione non viene effettuata (false
). Il valore predefinito è false
.
Sebbene uno streaming compresso sia utile come prova, ad esempio durante l'anteprima delle impostazioni di qualità del video, ha dei costi di elaborazione significativi. La visualizzazione locale è compressa, modificata la trasmissione come se si trattasse di un collegamento dal vivo e quindi decompressa per la visualizzazione in locale.
Per impostare questo valore, utilizzate Camera.setLoopback()
. Per impostare l'entità della compressione utilizzata quando questa proprietà è impostata su true, utilizzate Camera.setQuality()
.
Implementazione
public function get loopback():Boolean
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
motionLevel | proprietà |
motionLevel:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La quantità di movimento necessaria per richiamare l'evento activity
. I valori accettabili sono compresi tra 0 e 100. Il valore predefinito è 50.
È possibile visualizzare il video a prescindere dal valore della proprietà motionLevel
. Per ulteriori informazioni, vedete setMotionLevel()
.
Implementazione
public function get motionLevel():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
motionTimeout | proprietà |
motionTimeout:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il numero di millisecondi che trascorrono tra il momento in cui la videocamera interrompe il rilevamento del movimento e quello in cui viene richiamato l'evento activity
. Il valore predefinito è 2000 (2 secondi).
Per impostare questo valore, utilizzate setMotionLevel()
.
Implementazione
public function get motionTimeout():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
muted | proprietà |
muted:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Un valore booleano che indica se l'utente ha negato (true
) o consentito (false
) l'accesso alla videocamera nella finestra di dialogo Privacy di Flash Player. Quando questo valore cambia viene inviato l'evento status
.
Implementazione
public function get muted():Boolean
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
name | proprietà |
name:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il nome della videocamera corrente, restituito dall'hardaware della videocamera.
Implementazione
public function get name():String
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
names | proprietà |
names:Array
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Serie di stringhe contenente i nomi di tutte le videocamere disponibili. Se si accede a questo array non viene visualizzata la finestra di dialogo della privacy di Flash Player. L'array fornisce l'indice basato su zero di ogni videocamera e il numero di videocamere del sistema (per mezzo di names.length
).
La chiamata alla proprietà names
richiede un'ampia analisi dell'hardware. Nella maggior parte dei casi è possibile utilizzare semplicemente la videocamera predefinita.
Implementazione
public static function get names():Array
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
permissionStatus | proprietà |
position | proprietà |
position:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 3.0 |
Specifica il lato del dispositivo su cui si trova la videocamera.
Utilizzate la proprietà position
per determinare se una videocamera si trova sul lato anteriore o posteriore di un dispositivo mobile. La funzione seguente verifica tutte le videocamere disponibili fino a quando non trova la videocamera che si trova nella posizione desiderata. Se nessuna videocamera si trova nella posizione desiderata, viene restituita la videocamera predefinita.
function getCamera( position:String ):Camera { var camera:Camera; var cameraCount:uint = Camera.names.length; for ( var i:uint = 0; i < cameraCount; ++i ) { camera = Camera.getCamera( String(i) ); if ( camera.position == position ) return camera; } return Camera.getCamera();
Nei dispositivi mobili, la posizione della videocamera corrisponde generalmente a CameraPosition.FRONT
o CameraPosition.BACK
. Se non è possibile determinare la posizione della videocamera, la posizione viene segnalata come CameraPosition.UNKNOWN
.Nelle piattaforme desktop, la posizione della videocamera è sempre CameraPosition.UNKNOWN
.
Le costanti per i valori validi di questa proprietà sono definite nella classe CameraPosition
Implementazione
public function get position():String
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
quality | proprietà |
quality:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il livello di qualità immagine richiesto, determinato dall'entità della compressione applicata a ciascun fotogramma video. I valori accettabili per la qualità sono compresi tra 1 (qualità minima, compressione massima) e 100 (qualità massima, nessuna compressione). Il valore predefinito è 0 e indica che, se necessario, la qualità dell'immagine può variare per evitare di superare l'ampiezza di banda disponibile.
Per impostare questa proprietà, utilizzate il metodo setQuality()
.
Implementazione
public function get quality():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
width | proprietà |
width:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La larghezza della cattura corrente, espressa in pixel. Per impostare un valore per questa proprietà, utilizzate il metodo setMode()
.
Implementazione
public function get width():int
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
copyToByteArray | () | metodo |
public function copyToByteArray(rect:Rectangle, destination:ByteArray):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11.4, AIR 3.4 |
Riempie un array di byte da un’area rettangolare di dati pixel
Scrive nell’array di byte un numero intero senza segno (un valore di pixel a 32 bit non moltiplicato) per ogni pixel. L’array viene ridimensionato al numero di byte necessario per contenere tutti i pixel.
Parametri
rect:Rectangle — Un’area rettangolare dell’oggetto BitmapData corrente.
| |
destination:ByteArray — Un array di byte (ByteArray) che rappresenta i pixel del rettangolo (Rectangle) specificato.
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
| |
TypeError — rect è null.
| |
TypeError — La destinazione è null
|
Elementi API correlati
copyToVector | () | metodo |
public function copyToVector(rect:Rectangle, destination:Vector.<uint>):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11.4, AIR 3.4 |
Genera un vettore da un'area rettangolare di dati pixel.
Scrive nel vettore un numero intero senza segno (un valore di pixel a 32 bit non moltiplicato) per ogni pixel. Il vettore viene ridimensionato al numero di elementi necessario per contenere tutti i pixel.
Parametri
rect:Rectangle — Un’area rettangolare dell’oggetto BitmapData corrente.
| |
destination:Vector.<uint> — Un vettore.<uint> che rappresenta i pixel del rettangolo specificato.
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
| |
TypeError — rect è null.
| |
TypeError — La destinazione è null
|
Elementi API correlati
drawToBitmapData | () | metodo |
public function drawToBitmapData(destination:BitmapData):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11.4, AIR 3.4 |
Copia l’ultimo fotogramma in una bitmap.
Questo metodo copia il contenuto dell’ultimo fotogramma su un’istanza BitmapData.
Parametri
destination:BitmapData — Un oggetto di istanza BitmapData per contenere l’ultimo fotogramma.
|
Genera
ArgumentError — kInvalidBitmapDataError se destination è troppo piccolo
|
Elementi API correlati
getCamera | () | metodo |
public static function getCamera(name:String = null):Camera
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Restituisce un riferimento a un oggetto Camera per la cattura del video. Per iniziare l'acquisizione del video, associate l'oggetto Camera a un oggetto Video (vedete Video.attachCamera()
). Per trasmettere il video a Flash Media Server, chiamate NetStream.attachCamera()
per associare l'oggetto Camera a un oggetto NetStream.
Più chiamate al metodo getCamera()
fanno riferimento allo stesso driver della videocamera. Pertanto, se il codice contiene firstCam:Camera = getCamera()
e secondCam:Camera = getCamera()
, sia firstCam
che secondCam
fanno riferimento alla stessa videocamera (predefinita).
Sui dispositivi mobili con una videocamera sul lato anteriore e posteriore, potete acquisire immagini video da una sola videocamera per volta.
In generale, non è necessario passare un valore per il parametro name
; è sufficiente utilizzare getCamera()
per restituire un riferimento alla videocamera predefinita. Mediante il pannello delle impostazioni Videocamera (descritto più avanti in questa sezione), l'utente può specificare la videocamera predefinita da utilizzare.
Non potete utilizzare ActionScript per configurare l'impostazione Consenti o Nega di un utente per l'accesso alla videocamera, tuttavia, potete visualizzare la finestra di dialogo delle impostazioni videocamera di Adobe Flash Player, in cui l'utente può impostare le autorizzazioni della videocamera. Quando un file SWF, mediante il metodo attachCamera()
, tenta di collegare la videocamera restituita dal metodo getCamera()
a un oggetto Video o NetStream, Flash Player visualizza una finestra di dialogo che consente all'utente di selezionare se consentire o negare l'accesso alla videocamera. Assicuratevi che le dimensioni della finestra dell'applicazione siano almeno di 215 x 138 pixel, ovvero le dimensioni minime richieste da Flash Player per visualizzare la finestra di dialogo. Quando l'utente risponde alla finestra di dialogo di impostazione videocamera, Flash Player restituisce un oggetto informazioni nell'evento status
che indica la risposta: Camera.muted
indica che l'utente ha negato l'accesso a una videocamera; Camera.unmuted
indica che l'accesso è stato accordato. Per determinare se l'utente ha negato o consentito l'accesso alla videocamera senza gestire l'evento status
, utilizzate la proprietà muted
.
In Flash Player, l'utente può specificare delle impostazioni di privacy permanenti per un determinato dominio facendo clic con il pulsante destro del mouse (Windows e Linux) o facendo clic tenendo premuto il tasto Ctrl (Macintosh) mentre viene riprodotto un file SWF, selezionando Impostazioni, aprendo la finestra di dialogo Privacy e selezionando Ricorda. Se l'utente seleziona Ricorda, non gli viene più chiesto se consentire o negare l'accesso alla videocamera dai file SWF del dominio in uso.
Nota: il metodo attachCamera()
non richiamerà la finestra di dialogo per consentire o negare l'accesso alla videocamera se l'utente ha già negato l'accesso selezionando Ricorda nella finestra di dialogo Impostazioni di Flash Player. In questo caso, potete chiedere all'utente di modificare l'impostazione Consenti o Nega visualizzando il pannello delle impostazioni di privacy di Flash Player per utenti che impiegano Security.showSettings(SecurityPanel.PRIVACY)
.
Se getCamera()
restituisce il valore null
significa che la videocamera è attualmente utilizzata da un'altra applicazione o che nel sistema non è installata alcuna videocamera. Per determinare se è installata una videocamera, utilizzate la proprietà names.length
. Per visualizzare il pannello delle impostazioni Videocamera di Flash Player che consente all'utente di scegliere la videocamera a cui fa riferimento getCamera()
, utilizzate System.showSettings(SecurityPanel.CAMERA)
.
Il rilevamento delle videocamere nell'hardware è un'operazione che richiede tempo. Quando il runtime rileva almeno una videocamera, non viene eseguita un'altra ricerca dell'hardware finché l'istanza del lettore è in esecuzione. Se invece il runtime non rileva videocamere, la ricerca viene eseguita ogni volta che viene effettuata la chiamata a getCamera
. Questa è una funzione utile se la videocamera è presente ma disattivata; se il file SWF è dotato di un pulsante di tipo Riprova che chiama getCamera
, è possibile rilevare la videocamera senza che sia necessario chiudere e riaprire il file SWF.
Parametri
name:String (default = null ) — Specifica quale videocamera ottenere in base all'array restituito dalla proprietà names . Per la maggior parte delle applicazioni viene ottenuta la videocamera predefinita se si omette questo parametro. Per specificare un valore per questo parametro, utilizzate la rappresentazione della stringa della posizione di indice con base zero nell'array Camera.names. Ad esempio, per specificare la terza videocamera nell'array, utilizzate Camera.getCamera("2") .
|
Camera — Se il parametro name non è specificato, questo metodo restituisce un riferimento alla videocamera predefinita oppure, se questa è utilizzata da un'altra applicazione, alla prima videocamera disponibile. (Se è installata più di una videocamera, l'utente deve specificare la videocamera predefinita nel pannello delle impostazioni Videocamera di Flash Player.) Se non è installata o disponibile alcuna videocamera, il metodo restituisce il valore null .
|
Eventi
status: — Inviato quando una videocamera segnala il proprio stato. Prima di accedere a una videocamera, in Flash Player viene visualizzata una finestra di dialogo relativa alla privacy che consente all'utente di scegliere se consentire o negare l'accesso alla videocamera. Se il valore della proprietà code è "Camera.Muted" , viene impedito al file SWF di accedere alla videocamera dell'utente. Se il valore della proprietà code è "Camera.unmuted" viene consentito al file SWF di accedere alla videocamera dell'utente.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
Il metodo Camera.getCamera()
restituisce un riferimento a un oggetto camera oppure restituisce il valore null se non è disponibile o installata alcuna videocamera. L'istruzione if verifica se la videocamera è stata rilevata e se l'utente è autorizzato ad accedere alla videocamera. Se l'utente ha negato l'accesso, la proprietà muted
è impostata su true
.
Generalmente, se viene chiamato il metodo attachCamera()
, viene visualizzata una finestra di dialogo in cui viene richiesto all'utente di consentire o negare l'accesso alla videocamera da parte di Flash Player. Tuttavia, se l'utente ha negato l'accesso e ha selezionato l'opzione Ricorda
, la finestra di dialogo non viene visualizzata; non viene visualizzato nulla. Per fare in modo che l'utente disponga dell'opzione che permette di consentire l'accesso alla videocamera, il campo myTextField
indica all'utente di fare clic sul campo di testo per richiamare la finestra di dialogo Impostazioni di Flash Player.
Il metodo clickHandler()
richiama il metodo Security.showSettings()
, che visualizza il pannello PRIVACY
della finestra di dialogo Impostazioni. Se l'utente consente l'accesso, viene inviato l'evento StatusEvent.STATUS
e il valore della proprietà code
dell'evento viene impostato su Camera.Unmuted
. (La proprietà mute
dell'oggetto camera viene inoltre impostata su false
.)
Il metodo statusHandler()
, aggiunto per rilevare la modifica dello stato dell'impostazione utente, richiama il metodo connectCamera()
, se l'utente consente l'accesso. Il metodo connectCamera()
crea un'istanza di un oggetto video con la larghezza e l'altezza del flusso catturato. Per visualizzare il video catturato della videocamera, il riferimento al flusso video viene collegato all'oggetto video e l'oggetto video viene inserito nell'elenco di visualizzazione.
Viene avviato anche un oggetto Timer. Ogni secondo, viene inviato un evento timer dell'oggetto Timer e viene chiamato il metodo timerHandler()
. Il metodo timerHandler()
viene visualizzato e aggiorna una serie di proprietà dell'oggetto Camera.
Nota: in questo esempio, la sola proprietà che viene modificata è la proprietà currentFPS
.
package { import flash.display.Sprite; import flash.media.Camera; import flash.media.Video; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.StatusEvent; import flash.events.MouseEvent; import flash.system.SecurityPanel; import flash.system.Security; public class Camera_getCameraExample extends Sprite { private var myTextField:TextField; private var cam:Camera; private var t:Timer = new Timer(1000); public function Camera_getCameraExample() { myTextField = new TextField(); myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; if (Camera.isSupported) { cam = Camera.getCamera(); if (!cam) { myTextField.text = "No camera is installed."; } else if (cam.muted) { myTextField.text = "To enable the use of the camera,\n" + "please click on this text field.\n" + "When the Flash Player Settings dialog appears,\n" + "make sure to select the Allow radio button\n" + "to grant access to your camera."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); }else { myTextField.text = "Connecting"; connectCamera(); } addChild(myTextField); t.addEventListener(TimerEvent.TIMER, timerHandler); }else { myTextField.text = "The Camera class is not supported on this device."; } } private function clickHandler(e:MouseEvent):void { Security.showSettings(SecurityPanel.PRIVACY); cam.addEventListener(StatusEvent.STATUS, statusHandler); myTextField.removeEventListener(MouseEvent.CLICK, clickHandler); } private function statusHandler(event:StatusEvent):void { if (event.code == "Camera.Unmuted") { connectCamera(); cam.removeEventListener(StatusEvent.STATUS, statusHandler); } } private function connectCamera():void { var vid:Video = new Video(cam.width, cam.height); vid.x = 10; vid.y = 10; vid.attachCamera(cam); addChild(vid); t.start(); } private function timerHandler(event:TimerEvent):void { myTextField.y = cam.height + 20; myTextField.text = ""; myTextField.appendText("bandwidth: " + cam.bandwidth + "\n"); myTextField.appendText("currentFPS: " + Math.round(cam.currentFPS) + "\n"); myTextField.appendText("fps: " + cam.fps + "\n"); myTextField.appendText("keyFrameInterval: " + cam.keyFrameInterval + "\n"); } } }
requestPermission | () | metodo |
public function requestPermission():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 24.0 |
Richiede l’autorizzazione per l’uso della fotocamera da parte dell’applicazione.
Eventi
PermissionStatus: — Inviato quando l’autorizzazione richiesta viene concessa o negata dall’utente.
|
setKeyFrameInterval | () | metodo |
public function setKeyFrameInterval(keyFrameInterval:int):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica quali fotogrammi video vengono trasmessi per intero (i fotogrammi chiave) anziché essere interpolati dall'algoritmo di compressione video. Questo metodo si applica solo quando si trasmette il video mediante Flash Media Server.
L'algoritmo di compressione di Flash Video comprime i video trasmettendo solo i dati modificati rispetto all'ultimo fotogramma; queste porzioni sono considerate fotogrammi interpolati. I fotogrammi di un video possono essere interpolati a seconda del contenuto del fotogramma precedente. Un fotogramma chiave è invece un fotogramma video completo che non viene interpolato in funzione dei fotogrammi precedenti.
Per determinare come impostare un valore per il parametro keyFrameInterval
, tenete presente sia l'uso dell'ampiezza di banda, sia l'accessibilità della riproduzione video. Ad esempio, se specificate un valore più alto per keyFrameInterval
(invio meno frequente di fotogrammi chiave), l'uso dell'ampiezza di banda si riduce. Questo può tuttavia aumentare il tempo necessario per posizionare l'indicatore di riproduzione in un determinato punto del video; è possibile quindi che sia necessario interpolare un maggior numero di fotogrammi video precedenti prima che possa riprendere la riproduzione.
Al contrario, l'indicazione di un valore più basso per keyFrameInterval
(invio più frequente di fotogrammi chiave) aumenta l'uso dell'ampiezza di banda perché vengono trasmessi più spesso fotogrammi video completi, ma può diminuire il tempo necessario per cercare un determinato fotogramma all'interno di un video registrato.
Parametri
keyFrameInterval:int — Un valore che specifica quali fotogrammi video vengono trasmessi per intero (come fotogrammi chiave) anziché essere interpolati dall'algoritmo di compressione video. Il valore 1 significa che ogni fotogramma è un fotogramma chiave, un valore 3 che un fotogramma su tre è un fotogramma chiave e così via. I valori accettabili sono quelli compresi tra 1 e 48.
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
setLoopback | () | metodo |
public function setLoopback(compress:Boolean = false):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica se deve essere utilizzato uno streaming video compresso per una visualizzazione locale della videocamera. Di solito questo metodo si applica solo quando si trasmette il video mediante Flash Media Server; se compress
viene impostato su true
è possibile vedere con maggiore precisione come si presenta il video quando viene visualizzato in tempo reale.
Benché sia utile a fini di verifica, ad esempio per visualizzare in anteprima le impostazioni di qualità del video, la compressione dello streaming video è notevolmente dispendiosa in termini di elaborazione perché la visualizzazione locale non viene semplicemente compressa, ma anche montata per la trasmissione come accadrebbe con una connessione dal vivo e quindi decompressa per la visualizzazione locale.
Per impostare l'entità della compressione da utilizzare quando si imposta compress
su true
, utilizzate Camera.setQuality()
.
Parametri
compress:Boolean (default = false ) — Specifica se deve essere utilizzato uno streaming video compresso true o non compresso false per una visualizzazione locale delle immagini ricevute dalla videocamera.
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
setMode | () | metodo |
public function setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Imposta la videocamera sulla modalità di cattura che soddisfa al meglio i requisiti specificati. Se la videocamera non è dotata di una modalità nativa che soddisfa tutti i parametri passati, nel runtime viene selezionata una modalità di cattura che sintetizza nel modo più simile possibile la modalità richiesta. Talvolta questa manipolazione comporta il ritaglio dell'immagine e l'eliminazione di alcuni fotogrammi.
Per impostazione predefinita, se necessario vengono eliminati dei fotogrammi per mantenere le dimensioni dell'immagine. Per ridurre al minimo il numero di fotogrammi eliminati, e di conseguenza ridurre le dimensioni dell'immagine, passate false
per il parametro favorArea
.
Quando si seleziona una modalità nativa, il runtime tenta, se possibile, di mantenere il rapporto proporzionale richiesto. Ad esempio, se eseguite il comando myCam.setMode(400, 400, 30)
e i valori per la larghezza e l'altezza massime della videocamera sono 320 e 288, sia la larghezza che l'altezza vengono impostate su 288; con l'impostazione di queste proprietà sullo stesso valore viene rispettato il rapporto proporzionale richiesto di 1:1.
Per determinare i valori assegnati a queste proprietà dopo che è stata selezionata la modalità più simile ai valori richiesti, utilizzate le proprietà width
, height
e fps
.
Se utilizzate Flash Media Server, potete anche acquisire singoli fotogrammi o creare riprese "time-lapse". Per ulteriori informazioni, vedete NetStream.attachCamera()
.
Parametri
width:int — La larghezza della cattura richiesta, espressa in pixel. Il valore predefinito è 160.
| |
height:int — L'altezza della cattura richiesta, espressa in pixel. Il valore predefinito è 120.
| |
fps:Number — La velocità con cui la videocamera deve catturare i dati, espressa in fotogrammi al secondo. Il valore predefinito è 15.
| |
favorArea:Boolean (default = true ) — Specifica se manipolare la larghezza, l'altezza e la frequenza dei fotogrammi se la videocamera non dispone di una modalità nativa che soddisfa i requisiti specificati. Il valore predefinito è true , che indica che viene privilegiata la conservazione delle dimensioni di acquisizione; mediante questo parametro viene selezionata la modalità più simile ai valori width e height , anche se ciò incide negativamente sulle prestazioni poiché riduce la frequenza dei fotogrammi. Per aumentare al massimo la frequenza dei fotogrammi sacrificando l'altezza e la larghezza della videocamera, passate il valore false per il parametro favorArea .
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
Lo stage è impostato in modo da non essere ridimensionato. Il metodo Camera.getCamera()
restituisce un riferimento a un oggetto camera oppure restituisce il valore null se non è disponibile o installata alcuna videocamera. Se esiste una videocamera, viene chiamato il metodo connectCamera()
. Il metodo connectCamera()
crea un'istanza di un oggetto video. Per visualizzare il video catturato della videocamera, il riferimento al flusso video viene collegato all'oggetto video e l'oggetto video viene inserito nell'elenco di visualizzazione. Viene inoltre impostato un listener di eventi per un evento MouseEvent.CLICK
. Quando l'utente fa clic sullo stage, viene chiamato il metodo clickHandler()
. Questo metodo verifica la larghezza del video catturato e imposta larghezza e altezza della modalità di cattura della videocamera e velocità di fotogrammi al secondo richiesta. Per rendere effettive queste modifiche, è necessario rimuovere l'oggetto video e ricrearlo. È inoltre necessario impostare larghezza e altezza del video in base a larghezza e altezza dell'oggetto camera.
package { import flash.display.Sprite; import flash.media.Camera; import flash.media.Video; import flash.events.MouseEvent; import flash.display.StageScaleMode; public class Camera_setModeExample extends Sprite { private var cam:Camera; private var vid:Video; public function Camera_setModeExample() { stage.scaleMode = StageScaleMode.NO_SCALE; cam = Camera.getCamera(); if (!cam) { trace("No camera is installed."); }else { connectCamera(); } } private function connectCamera():void { vid = new Video(); vid.width = cam.width; vid.height = cam.height; vid.attachCamera(cam); addChild(vid); stage.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(e:MouseEvent):void { switch (cam.width) { case 160: cam.setMode(320, 240, 10); break; case 320: cam.setMode(640, 480, 5); break; default: cam.setMode(160, 120, 15); break; } removeChild(vid); connectCamera(); } } }
setMotionLevel | () | metodo |
public function setMotionLevel(motionLevel:int, timeout:int = 2000):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica la quantità di movimento necessaria per inviare l'evento activity
. Imposta facoltativamente il numero di millisecondi che devono trascorrere senza alcuna attività prima che il movimento venga considerato terminato e venga inviato l'evento.
Nota: è possibile visualizzare il video a prescindere dal valore del parametro motionLevel
, che determina solo quando e in quali circostanze viene inviato l'evento e non se si sta catturando o visualizzando il video.
Per impedire che la videocamera rilevi qualunque movimento, passate il valore 100 per il parametro motionLevel
; in questo modo l'evento activity
non viene mai inviato. (Questo valore si utilizza solitamente nelle prove; ad esempio per disabilitare temporaneamente gli eventuali gestori che sarebbero normalmente attivati quando viene inviato l'evento).
Per determinare la quantità di movimento attualmente rilevata dalla videocamera, utilizzate la proprietà activityLevel
. I valori della sensibilità al movimento corrispondono direttamente ai valori dell'attività. L'assenza totale di movimento equivale al valore di attività 0. Il moto costante equivale al valore 100. In assenza di movimento, il valore dell'attività è inferiore a quello della sensibilità al movimento; in presenza di movimento, i valori dell'attività superano spesso quelli della sensibilità al movimento.
Questo metodo ha uno scopo simile a quello del metodo Microphone.setSilenceLevel()
; entrambi vengono utilizzati per specificare quando deve essere inviato l'evento activity
. Tuttavia, questi metodi hanno un impatto decisamente diverso sulla pubblicazione dello streaming:
Microphone.setSilenceLevel()
è studiato per ottimizzare l'ampiezza di banda. Quando uno streaming audio è considerato silenzioso, non viene inviato alcun dato audio. Viene invece inviato un unico messaggio per segnalare che il silenzio è cominciato.Camera.setMotionLevel()
è studiato per rilevare il movimento e non influisce sull'uso dell'ampiezza di banda. Anche se uno streaming video non rileva alcun movimento, viene comunque inviato il video.
Parametri
motionLevel:int — Specifica la quantità di movimento necessaria per inviare l'evento activity . I valori accettabili sono compresi tra 0 e 100. Il valore predefinito è 50.
| |
timeout:int (default = 2000 ) — Specifica quanti millisecondi devono trascorrere senza alcuna attività prima che l'attività venga considerata terminata e venga inviato l'evento activity . Il valore predefinito è 2000 millisecondi (2 secondi).
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
Il metodo Camera.getCamera()
restituisce un riferimento a un oggetto camera oppure restituisce il valore null se non è disponibile o installata alcuna videocamera. L'istruzione if verifica se una videocamera è disponibile e chiama il metodo connectCamera()
se disponibile. Il metodo connectCamera()
crea un'istanza di un oggetto video con la larghezza e l'altezza del flusso catturato. Per visualizzare il video catturato della videocamera, il riferimento al flusso video viene collegato all'oggetto video e l'oggetto video viene inserito nell'elenco di visualizzazione. (Generalmente, se viene chiamato il metodo attachCamera()
, viene visualizzata una finestra di dialogo in cui viene richiesto all'utente di consentire o negare l'accesso alla videocamera da parte di Flash Player. Tuttavia, se l'utente ha negato l'accesso e ha selezionato l'opzione Ricorda
, la finestra di dialogo non viene visualizzata; non viene visualizzato nulla. Per fare in modo che l'utente disponga dell'opzione che permette di consentire l'accesso alla videocamera, utilizzate il metodo system.Security.showSettings()
per richiamare la finestra di dialogo Impostazioni di Flash Player.)
Il metodo setMotionLevel()
imposta il livello di attività (quantità di movimento), prima che l'evento activity venga richiamato, su cinque, per garantire un movimento minimo. L'intervallo di tempo tra il momento in cui la videocamera interrompe il rilevamento del movimento e quello in cui viene richiamato l'evento activity è impostato su 1 secondo (1000 millisecondi). Dopo 1 secondo in assenza di attività o con un livello di attività pari a cinque, viene inviato l'evento ActivityEvent.ACTIVITY
e viene chiamato il metodo activityHandler()
. Se l'evento viene attivato dal livello di attività, la proprietà activating
viene impostata su true
e l'oggetto Timer viene avviato. Ogni secondo, viene inviato un evento timer dell'oggetto Timer e viene chiamato il metodo timerHandler()
, che visualizza il livello corrente di attività. Anche se il timer viene attivato da un livello di attività pari a cinque o superiore, il livello di attività visualizzato potrebbe essere inferiore.
package { import flash.display.Sprite; import flash.media.Camera; import flash.media.Video; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.ActivityEvent; public class Camera_setMotionLevelExample extends Sprite { private var myTextField:TextField; private var cam:Camera; private var t:Timer = new Timer(1000); public function Camera_setMotionLevelExample() { myTextField = new TextField(); myTextField.background = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; cam = Camera.getCamera(); if (!cam) { myTextField.text = "No camera is installed."; }else { myTextField.text = "Waiting to connect."; connectCamera(); } addChild(myTextField); t.addEventListener(TimerEvent.TIMER, timerHandler); } private function connectCamera():void { var vid:Video = new Video(cam.width, cam.height); vid.x = 10; vid.y = 10; vid.attachCamera(cam); addChild(vid); cam.setMotionLevel(5, 1000); cam.addEventListener(ActivityEvent.ACTIVITY, activityHandler); } private function activityHandler(e:ActivityEvent):void { if (e.activating == true) { t.start(); } else { myTextField.text = "Everything is quiet."; t.stop(); } } private function timerHandler(event:TimerEvent):void { myTextField.x = 10; myTextField.y = cam.height + 20; myTextField.text = "There is some activity. Level: " + cam.activityLevel; } } }
setQuality | () | metodo |
public function setQuality(bandwidth:int, quality:int):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Imposta la quantità massima di ampiezza di banda al secondo o la qualità di immagine richiesta del feed video in uscita corrente. Di solito questo metodo si applica solo quando si trasmette il video mediante Flash Media Server.
Utilizzate questo metodo per specificare quale elemento del feed video in uscita è più importante per l'applicazione tra l'uso dell'ampiezza di banda o la qualità dell'immagine.
- Per indicare che l'ampiezza di banda ha la precedenza, passate un valore per
bandwidth
e 0 perquality
. Il video viene trasmesso con la migliore qualità di immagine possibile per l'ampiezza di banda specificata. Se necessario, la qualità dell'immagine può essere ridotta per evitare di superare l'ampiezza di banda specificata. In generale, con l'aumentare del movimento diminuisce la qualità. - Per indicare che la qualità ha la precedenza, passate 0 per
bandwidth
e un valore numerico perquality
. Viene utilizzata l'ampiezza di banda necessaria per mantenere la qualità specificata. Se necessario, la frequenza dei fotogrammi viene ridotta per mantenere la qualità dell'immagine. In generale, con l'aumentare del movimento aumenta anche l'uso dell'ampiezza di banda. - Per specificare che l'ampiezza di banda e la qualità hanno la stessa importanza, passate dei valori numerici per entrambi i parametri. Il video viene trasmesso in modo da raggiungere la qualità specificata e non superare l'ampiezza di banda indicata. Se necessario, la frequenza dei fotogrammi viene ridotta per mantenere la qualità dell'immagine senza superare l'ampiezza di banda specificata.
Parametri
bandwidth:int — Specifica la quantità massima di ampiezza di banda utilizzabile dal feed video in uscita corrente, espressa in byte al secondo. Per specificare che il video può utilizzare tutta l'ampiezza di banda necessaria per mantenere il valore di quality , passare 0 per bandwidth . Il valore predefinito è 16384.
| |
quality:int — Un numero intero che specifica il livello di qualità immagine richiesto, determinato dall'entità della compressione applicata a ogni fotogramma video. I valori accettabili sono compresi tra 1 (qualità minima, compressione massima) e 100 (qualità massima, nessuna compressione). Per specificare che la qualità dell'immagine può variare secondo le necessità per evitare di superare l'ampiezza di banda, passate 0 per quality .
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
activity | Evento |
flash.events.ActivityEvent
proprietà ActivityEvent.type =
flash.events.ActivityEvent.ACTIVITY
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Inviato quando una videocamera inizia o termina una sessione. Chiamate Camera.setMotionLevel()
per specificare la quantità di movimento necessaria per attivare un evento activity
con un valore activating
di true
o il tempo senza attività che deve trascorrere prima dell'attivazione di un evento activity
con un valore activating
di false
.
ActivityEvent.ACTIVITY
definisce il valore della proprietà type
di un oggetto evento activity
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
activating | true se il dispositivo viene attivato, false se viene disattivato. |
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 che sta iniziando o terminando una sessione, ad esempio un oggetto Camera o Microphone. |
permissionStatus | Evento |
flash.events.PermissionEvent
proprietà PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 24.0 |
Inviato quando l’applicazione richiede l’autorizzazione per l’utilizzo della fotocamera del dispositivo. Controllando il valore della proprietà status
è possibile verificare se l’autorizzazione è stata concessa o negata.
Elementi API correlati
status | Evento |
flash.events.StatusEvent
proprietà StatusEvent.type =
flash.events.StatusEvent.STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 9, AIR (unsupported) |
Inviato quando una videocamera segnala il proprio stato. Prima di accedere a una videocamera, nel runtime viene visualizzata una finestra di dialogo relativa alla privacy che consente all'utente di scegliere se consentire o negare l'accesso alla videocamera. Se il valore della proprietà code
è "Camera.Muted"
, viene impedito al file SWF di accedere alla videocamera dell'utente. Se il valore della proprietà code
è "Camera.unmuted"
viene consentito al file SWF di accedere alla videocamera dell'utente.
Nota: questo evento non viene inviato nella piattaforma AIR. Viene utilizzato solo in Flash Player.
Definisce il valore della proprietàtype
di un oggetto evento status
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
code | Una descrizione dello stato dell'oggetto. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
level | La categoria del messaggio, ad esempio "status" , "warning" o "error" . |
target | L'oggetto che riporta il proprio stato. |
Elementi API correlati
videoFrame | Evento |
flash.events.Event
proprietà Event.type =
flash.events.Event.VIDEO_FRAME
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11.4, AIR 3.4 |
Inviato dopo che un nuovo fotogramma della videocamera è stato elaborato dal runtime ed è disponibile per essere copiato.
La costanteEvent.VIDEO_FRAME
definisce il valore della proprietà type
di un oggetto evento videoFrame
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
target | L’oggetto Camera che ha inviato l’evento. |
Elementi API correlati
activity
viene inviato all'inizio ed eventualmente alla fine della sessione e viene catturato dal metodo activityHandler()
, che stampa le informazioni sull'evento.
Nota: per il corretto funzionamento di questo esempio, deve essere collegata una videocamera al computer.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; import flash.media.Camera; import flash.media.Video; public class CameraExample extends Sprite { private var video:Video; public function CameraExample() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var camera:Camera = Camera.getCamera(); if (camera != null) { camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler); video = new Video(camera.width * 2, camera.height * 2); video.attachCamera(camera); addChild(video); } else { trace("You need a camera."); } } private function activityHandler(event:ActivityEvent):void { trace("activityHandler: " + event); } } }
Tue Jun 12 2018, 02:44 PM Z