Pacchetto | flash.media |
Classe | public class CameraUI |
Ereditarietà | CameraUI EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Il metodo launch()
richiede che il dispositivo apra l'applicazione predefinita della videocamera. L'immagine o il video catturato è disponibile nell'oggetto MediaEvent inviato per l'evento complete. Poiché l'applicazione predefinita della videocamera può salvare l'immagine o il video in vari formati, non vi è garanzia che l'oggetto multimediale restituito possa essere caricato e visualizzato dal runtime AIR.
Su alcune piattaforme, l'oggetto media restituito dalla videocamera è accessibile come promessa basata su file. Su altre, la promessa non è basata su file e le proprietà file
e relativePath
dell'oggetto MediaPromise sono impostate su null
. Non utilizzate queste proprietà per codice da usare su più piattaforme.
In Android, l'applicazione predefinita della videocamera non si apre se la scheda di memoria esterna non è disponibile (ad esempio quando l'utente ha montato la scheda come dispositivo di archiviazione di massa USB). Inoltre, l'applicazione AIR che avvia la videocamera perde lo stato di attivazione. Se il dispositivo sta per esaurire le risorse, l'applicazione AIR può essere chiusa dal sistema operativo prima del completamente dell'acquisizione dei dati multimediali.
Su alcune piattaforme, l'oggetto media viene memorizzato automaticamente all'interno della libreria supporti del dispositivo. Nelle piattaforme in cui le immagini e il video non vengono memorizzati automaticamente dall'applicazione predefinita della videocamera, è possibile usare la funzione addBitmapData()
di CameraRoll per memorizzare l'oggetto media.
Supporto profili AIR: questa funzionalità è supportata nei dispositivi mobili ma non nei sistemi operativi desktop o nei dispositivi AIR per TV. È possibile verificare se la funzionalità è supportata in fase runtime utilizzando la proprietà CameraUI.isSupported
. Per ulteriori informazioni sul supporto delle API tra più profili, vedete Supporto dei profili AIR.
Altre informazioni
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
isSupported : Boolean [statico] [sola lettura]
Segnala se la classe CameraUI è supportata dal dispositivo corrente. | CameraUI | ||
permissionStatus : String [statico] [sola lettura]
Consente di determinare se l’applicazione ha ottenuto l’autorizzazione per l’uso della fotocamera. | CameraUI |
Metodo | Definito da | ||
---|---|---|---|
CameraUI()
Crea un oggetto CameraUI. | CameraUI | ||
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 | ||
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 | ||
Avvia l'applicazione predefinita della fotocamera sul dispositivo. | CameraUI | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Richiede l’autorizzazione di accesso all’interfaccia utente della fotocamera. | CameraUI | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
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 | |||
L'evento cancel viene inviato quando l'utente chiude l'interfaccia della fotocamera senza salvare un'immagine o un video. | CameraUI | |||
L'evento complete viene inviato quando l'utente acquisisce un'immagine istantanea o un video nell'interfaccia utente della videocamera. | CameraUI | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
L'evento error viene inviato quando non è possibile aprire l'applicazione fotocamera predefinita. | CameraUI | |||
Inviato quando l’applicazione richiede l’autorizzazione di accesso all’interfaccia utente della fotocamera. | CameraUI |
isSupported | proprietà |
isSupported:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Segnala se la classe CameraUI è supportata dal dispositivo corrente. Attualmente, questa funzione è supportata solo nelle applicazioni AIR su Android.
Implementazione
public static function get isSupported():Boolean
permissionStatus | proprietà |
CameraUI | () | Funzione di costruzione |
public function CameraUI()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Crea un oggetto CameraUI.
launch | () | metodo |
public function launch(requestedMediaType:String):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Avvia l'applicazione predefinita della fotocamera sul dispositivo.
Questa classe consente di acquisire immagini fisse o video. Per la cattura video viene utilizzato il profilo videocamera "bassa qualità" del dispositivo.
Quando si chiama il metodo launch()
, viene avviata l'applicazione predefinita della videocamera sul dispositivo. L'applicazione AIR perde lo stato di attivazione e attende che l'utente acquisisca un'immagine fissa o finisca di catturare il video. Quando l'oggetto multimediale è stato acquisito dall'utente, l'applicazione AIR riprende lo stato di attivazione e questo oggetto CameraUI invia un evento complete
. Se l'utente annulla l'operazione, questo oggetto CameraUI invia invece un evento cancel
.
Nota: è possibile che l'applicazione AIR venga chiusa dal sistema operativo Android mentre è attiva in background in attesa che l'utente acquisisca un'immagine o un video. Se ciò accade, l'utente deve riavviare l'applicazione. L'applicazione AIR non invia un evento media per l'acquisizione precedente.
Potete accedere al file multimediale acquisito utilizzando la proprietà data
dell'oggetto MediaEvent inviato dall'evento complete
. Questa proprietà è un'istanza della classe MediaPromise, che potete caricare nell'applicazione mediante il metodo loadFilePromise()
della classe Loader. Tenete presente che la videocamera del dispositivo può salvare i dati acquisiti in vari formati. Il formato video è particolarmente problematico da questo punto di vista. Potrebbe risultare impossibile visualizzare in AIR i dati multimediali catturati.
Parametri
requestedMediaType:String — Il tipo di oggetto multimediale da catturare. I valori validi per questo parametro sono definiti nella classe MediaType:
|
Eventi
complete: — Inviato quando viene catturato un oggetto multimediale.
| |
cancel: — Inviato quando l'utente esce dalla videocamera nativa senza catturare un oggetto multimediale.
| |
error: — Inviato se l'applicazione predefinita della videocamera già in uso.
| |
error: — Inviato se l'applicazione AIR è attiva in background quando chiama questa funzione.
|
Genera
PermissionError — L’applicazione non è autorizzata a utilizzare la fotocamera.
|
Elementi API correlati
requestPermission | () | metodo |
public function requestPermission():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 24.0 |
Richiede l’autorizzazione di accesso all’interfaccia utente della fotocamera.
Eventi
PermissionStatus: — Inviato quando l’autorizzazione richiesta viene concessa o negata dall’utente.
|
cancel | Evento |
flash.events.Event
proprietà Event.type =
flash.events.Event.CANCEL
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
L'evento cancel
viene inviato quando l'utente chiude l'interfaccia della videocamera senza salvare un'immagine o un video.
Event.CANCEL
definisce il valore della proprietà type
di un oggetto evento cancel
.
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 | Un riferimento all'oggetto sul quale viene annullata l'operazione. |
complete | Evento |
flash.events.MediaEvent
proprietà MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
L'evento complete
viene inviato quando l'utente acquisisce un'immagine istantanea o un video nell'interfaccia utente della videocamera.
complete
.
Definisce il valore della proprietà type
di un oggetto evento MediaEvent
. 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. |
data | L'oggetto MediaPromise dell'istanza multimediale disponibile. |
error | Evento |
flash.events.ErrorEvent
proprietà ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
L'evento error
viene inviato quando non è possibile aprire l'applicazione videocamera predefinita.
type
di un oggetto evento error
.
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. |
text | Testo da visualizzare come messaggio di errore. |
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 di accesso all’interfaccia utente della fotocamera. Controllando il valore della proprietà status
, è possibile verificare se l’autorizzazione è stata concessa o negata.
Elementi API correlati
package { import flash.desktop.NativeApplication; import flash.display.Loader; import flash.display.MovieClip; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.ErrorEvent; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.MediaEvent; import flash.media.CameraUI; import flash.media.MediaPromise; import flash.media.MediaType; public class CameraUIStillImage extends MovieClip{ private var deviceCameraApp:CameraUI = new CameraUI(); private var imageLoader:Loader; public function CameraUIStillImage() { this.stage.align = StageAlign.TOP_LEFT; this.stage.scaleMode = StageScaleMode.NO_SCALE; if( CameraUI.isSupported ) { trace( "Initializing camera..." ); deviceCameraApp.addEventListener( MediaEvent.COMPLETE, imageCaptured ); deviceCameraApp.addEventListener( Event.CANCEL, captureCanceled ); deviceCameraApp.addEventListener( ErrorEvent.ERROR, cameraError ); deviceCameraApp.launch( MediaType.IMAGE ); } else { trace( "Camera interface is not supported."); } } private function imageCaptured( event:MediaEvent ):void { trace( "Media captured..." ); var imagePromise:MediaPromise = event.data; if( imagePromise.isAsync ) { trace( "Asynchronous media promise." ); imageLoader = new Loader(); imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, asyncImageLoaded ); imageLoader.addEventListener( IOErrorEvent.IO_ERROR, cameraError ); imageLoader.loadFilePromise( imagePromise ); } else { trace( "Synchronous media promise." ); imageLoader.loadFilePromise( imagePromise ); showMedia( imageLoader ); } } private function captureCanceled( event:Event ):void { trace( "Media capture canceled." ); NativeApplication.nativeApplication.exit(); } private function asyncImageLoaded( event:Event ):void { trace( "Media loaded in memory." ); showMedia( imageLoader ); } private function showMedia( loader:Loader ):void { this.addChild( loader ); } private function cameraError( error:ErrorEvent ):void { trace( "Error:" + error.text ); NativeApplication.nativeApplication.exit(); } } }
Tue Jun 12 2018, 02:44 PM Z