Paquete | flash.media |
Clase | public class CameraUI |
Herencia | CameraUI EventDispatcher Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
El método launch()
solicita que el dispositivo abra la aplicación de cámara predeterminada. La imagen capturada o vídeo está disponible en el objeto MediaEvent distribuido para el evento complete. Desde la aplicación de cámara predeterminada puede guardar la imagen o el vídeo en diversos formatos; no se garantiza que el objeto multimedia devuelto se pueda cargar y visualizar en el motor de ejecución de AIR.
En algunas plataformas, los objetos de medios devueltos por la cámara son accesibles como una promesa de medios basada en archivos. En otras, la promesa medios no está basada en archivos y las propiedades file
y relativePath
del objeto MediaPromise son null
. No utilice estas propiedades en código que se utilice en más de una plataforma.
En Android, la aplicación de cámara predeterminada no se abre si la tarjeta de almacenamiento externo no está disponible (el usuario ha montado la tarjeta como dispositivo USB de almacenamiento masivo). Además, la aplicación de AIR que inicia la cámara deja de estar seleccionada. Si el dispositivo se ejecuta con pocos recursos, el sistema operativo puede cerrar la aplicación de AIR antes de que finalice la captura.
En algunas plataformas, el objeto de medios se guarda automáticamente en la biblioteca de medios del dispositivo. En las plataformas en que las imágenes y el vídeo no se guarda automáticamente con la aplicación predeterminada de la cámara, es posible utilizar la función addBitmapData()
de CameraRoll para almacenar el objeto de medios.
Compatibilidad con perfil de AIR: esta característica se admite en dispositivos móviles compatibles, pero no se admite en sistemas operativos de escritorio o dispositivos de AIR para TV. Puede probar la compatibilidad en tiempo de ejecución con la propiedad CameraUI.isSupported
. Consulte Compatibilidad con perfil de AIR para obtener información sobre la compatibilidad de la API con varios perfiles.
Más información
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
isSupported : Boolean [estática] [solo lectura]
Informa si la clase CameraUI se admite en el dispositivo actual. | CameraUI | ||
permissionStatus : String [estática] [solo lectura]
Determine si se le ha concedido a la aplicación el permiso para usar la cámara. | CameraUI |
Método | Definido por | ||
---|---|---|---|
CameraUI()
Crea un objeto CameraUI. | CameraUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Inicia la aplicación predeterminada de la cámara en el dispositivo. | CameraUI | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Solicita permiso para acceder a la interfaz de usuario de la cámara. | CameraUI | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
El evento cancel se distribuye cuando el usuario cierra Camera UI sin guardar una imagen o un vídeo. | CameraUI | |||
El evento complete se distribuye cuando el usuario captura una imagen fija o el vídeo en la interfaz de usuario de la cámara. | CameraUI | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
El evento error se distribuye cuando no se puede abrir la cámara predeterminada. | CameraUI | |||
Se distribuye cuando la aplicación pide permiso para acceder a la interfaz de usuario de la cámara. | CameraUI |
isSupported | propiedad |
isSupported:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Informa si la clase CameraUI se admite en el dispositivo actual. Actualmente la función sólo se admite en aplicaciones de AIR en Android.
Implementación
public static function get isSupported():Boolean
permissionStatus | propiedad |
CameraUI | () | Información sobre |
public function CameraUI()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Crea un objeto CameraUI.
launch | () | método |
public function launch(requestedMediaType:String):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Inicia la aplicación predeterminada de la cámara en el dispositivo.
Si lo desea, puede capturar imágenes fijas o vídeo con esta clase. La captura de vídeo utiliza el perfil de videocámara "Calidad baja" en el dispositivo.
Cuando se llama al método launch()
, se invoca la aplicación de cámara predeterminada en el dispositivo. La aplicación de AIR deja de estar seleccionada y espera que el usuario captura una imagen fija o finalice de capturar vídeo. Una vez que el usuario ha capturado el medio deseado, la aplicación de AIR recupera la orientación específica y este objeto CameraUI distribuye un evento complete
. Si el usuario cancela la operación, este objeto CameraUI distribuye un evento cancel
en su lugar.
Nota: es posible que el sistema operativo Android tenga que cerrar la aplicación de AIR mientras está esperando a que el usuario capture una imagen o un vídeo. Si esto ocurre, el usuario debe reiniciar la aplicación. La aplicación de AIR no distribuye un evento para los medios en la captura de imagen anterior.
Se puede acceder a archivo multimedia capturado utilizando la propiedad data
del objeto MediaEvent distribuido para el evento complete
. Esta propiedad es una instancia de la clase MediaPromise, que se pueden cargar en la aplicación mediante el método loadFilePromise()
de la clase Loader. Hay que tener en cuenta que la cámara del dispositivo puede guardar el medio capturado en diversos formatos. El vídeo es especialmente problemático en este sentido. Tal vez no sea posible mostrar el medio capturado en AIR.
Parámetros
requestedMediaType:String — El tipo de objeto de medios para capturar. Los valores válidos de esta parámetro se definen en la clase MediaType.
|
Eventos
complete: — Se distribuye cuando se captura un objeto multimedia.
| |
cancel: — Se distribuye cuando el usuario cierra la cámara nativa sin capturar un objeto multimedia.
| |
error: — Se distribuye si la aplicación de cámara predeterminada ya está en uso.
| |
error: — Se distribuye si la aplicación de AIR está en segundo plano cuando se llama a esta función.
|
Emite
PermissionError — La aplicación no tiene permiso para utilizar la cámara.
|
Elementos de API relacionados
requestPermission | () | método |
public function requestPermission():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Solicita permiso para acceder a la interfaz de usuario de la cámara.
Eventos
PermissionStatus: — se distribuye cuando el usuario concede o deniega el permiso solicitado.
|
cancel | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.CANCEL
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
El evento cancel
se distribuye cuando el usuario cierra la interfaz de usuario de la cámara sin guardar una fotografía o vídeo.
Event.CANCEL
define el valor de la propiedad type
de un objeto de evento cancel
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Referencia al objeto en el que se cancela la operación. |
complete | Evento |
flash.events.MediaEvent
propiedad MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
El evento complete
se distribuye cuando el usuario captura una imagen fija o el vídeo en la interfaz de usuario de la cámara.
complete
.
Define el valor de la propiedad type
para un objeto de evento MediaEvent
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
data | El objeto MediaPromise de la instancia de medios disponibles. |
error | Evento |
flash.events.ErrorEvent
propiedad ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
El evento error
se distribuye cuando no se puede abrir la cámara predeterminada.
type
de un objeto de evento error
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto en el que se produce un error de operación de red. |
text | Texto que se mostrará como mensaje de error. |
permissionStatus | Evento |
flash.events.PermissionEvent
propiedad PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Se distribuye cuando la aplicación pide permiso para acceder a la interfaz de usuario de la cámara. Compruebe el valor del estado
de la propiedad para determinar si el permiso se ha concedido o denegado
Elementos de API relacionados
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:12 PM Z