Pacote | flash.media |
Classe | public class CameraUI |
Herança | CameraUI EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
O método launch()
solicita que o dispositivo abra o aplicativo de câmera padrão. A imagem ou o vídeo capturado fica disponível no objeto MediaEvent despachado para o evento complete. Visto que o aplicativo de câmera padrão pode salvar a imagem ou vídeo em uma variedade de formatos, não há nenhuma garantia de que o objeto de mídia retornado poderá ser carregado e exibido pelo tempo de execução do AIR.
Em algumas plataformas, o objeto de mídia retornado pela câmera é acessível como uma promessa de mídia baseada em arquivo. Em outras, a promessa de mídia não é baseada em arquivo e as propriedades file
e relativePath
do objeto MediaPromise são null
. Não use estas propriedades em código usado em mais de uma plataforma.
No Android, o aplicativo de câmera padrão não é aberto se o cartão de armazenamento externo não estiver disponível (como quando o usuário monta o cartão como um dispositivo USB de armazenamento em massa). Além disso, o aplicativo AIR que inicia a câmera perde o foco. Se o dispositivo começar a ficar sem recursos, o aplicativo AIR pode ser terminado pelo sistema operacional antes da conclusão da captura de mídia.
Em algumas plataformas, o objeto de mídia é armazenado automaticamente na biblioteca de mídia do dispositivo. Nas plataformas em que as imagens e o vídeo não são armazenados automaticamente pelo aplicativo de câmera padrão, você pode usar a função CameraRoll addBitmapData()
para armazenar o objeto de mídia.
Suporte a perfil do AIR: este recurso conta com suporte em dispositivos móveis, mas não é compatível com sistemas operacionais para desktop nem com dispositivos AIR for TV. Você pode testar o suporte em tempo de execução usando a propriedade CameraUI.isSupported
. Consulte Suporte a perfil do AIR para obter mais informações sobre o suporte de API através de múltiplos perfis.
Saiba mais
Propriedade | Definido por | ||
---|---|---|---|
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
isSupported : Boolean [estático] [somente leitura]
Indica se há suporte à classe CameraUI no dispositivo atual. | CameraUI | ||
permissionStatus : String [estático] [somente leitura]
Determina se o aplicativo recebeu permissão para usar a câmera. | CameraUI |
Método | Definido por | ||
---|---|---|---|
CameraUI()
Cria um objeto CameraUI. | CameraUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Inicia o aplicativo de câmera padrão no dispositivo. | CameraUI | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Solicita permissão para acessar a IU da câmera. | CameraUI | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
O evento cancel é despachado quando o usuário fecha a interface de usuário da Câmera sem salvar uma imagem ou vídeo. | CameraUI | |||
O evento complete é despachado quando o usuário captura um imagem estática ou vídeo na interface de usuário da Câmera. | CameraUI | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
O evento error é despachado quando a câmera padrão não pode ser aberta. | CameraUI | |||
Será despachado quando o aplicativo solicitar permissão para acessar a IU da câmera. | CameraUI |
isSupported | propriedade |
isSupported:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Indica se a classe CameraUI conta com suporte no dispositivo atual. No momento, o recurso conta somente com suporte em aplicativos AIR no Android.
Implementação
public static function get isSupported():Boolean
permissionStatus | propriedade |
CameraUI | () | Construtor |
public function CameraUI()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Cria um objeto CameraUI.
launch | () | método |
public function launch(requestedMediaType:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
Inicia o aplicativo de câmera padrão no dispositivo.
Você pode capturar imagens estáticas ou vídeo com esta classe. A captura de vídeo usa o perfil de câmara "Baixa qualidade" no dispositivo.
Quando o método launch()
é chamado, o aplicativo de câmera padrão no dispositivo é chamado. O aplicativo AIR perde o foco e espera até que usuário capture uma imagem estática ou termine de capturar o vídeo. Depois que a mídia desejada tiver sido capturada pelo usuário, o aplicativo AIR recupera o foco e esse objeto CameraUI emite um evento complete
. Se o usuário cancelar a operação, este objeto CameraUI emite, em vez disso, um evento cancel
.
Note: é possível que o aplicativo AIR seja fechado pelo sistema operacional Android enquanto estiver em segundo plano esperando que o usuário capture uma imagem ou vídeo. Se isto acontecer, o usuário deve reiniciar o aplicativo. O aplicativo AIR não emite um evento media para a captura de imagem anterior.
Você pode acessar o arquivo de mídia capturado usando a propriedade data
do objeto MediaEvent despachado para o evento complete
. Esta propriedade é uma instância da classe MediaPromise, que você pode carregar no seu aplicativo usando o método loadFilePromise()
da classe Loader. Observe que a câmera do dispositivo pode salvar a mídia capturada em vários formatos. O vídeo é especialmente problemático nesse sentido. Pode não ser possível exibir a mídia capturada no AIR.
Parâmetros
requestedMediaType:String — O tipo de objeto de mídia a ser capturado. Os valores válidos deste parâmetro são definidos na classe MediaType:
|
Eventos
complete: — Despachado quando um objeto de mídia é capturado.
| |
cancel: — Despachado quando o usuário sai da câmera nativa sem capturar um objeto de mídia.
| |
error: — Despachado se o aplicativo de câmera padrão já estiver sendo usado.
| |
error: — Despachado se o aplicativo AIR estiver em segundo plano ao chamar esta função.
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
requestPermission | () | método |
public function requestPermission():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 24.0 |
Solicita permissão para acessar a IU da câmera.
Eventos
PermissionStatus: — despachado quando a permissão solicitada é concedida/negada pelo usuário.
|
cancel | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.CANCEL
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
O evento cancel
é despachado quando o usuário fecha a interface de usuário da Câmera sem salvar uma imagem ou vídeo.
Event.CANCEL
define o valor da propriedade type
de um objeto de evento cancel
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | Uma referência ao objeto no qual a operação é cancelada. |
complete | Evento |
flash.events.MediaEvent
propriedade MediaEvent.type =
flash.events.MediaEvent.COMPLETE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
O evento complete
é despachado quando o usuário captura uma imagem estática ou vídeo na interface de usuário da Câmera.
complete
.
Define o valor da propriedade type
de um objeto de evento MediaEvent
. Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
dados | O objeto MediaPromise da instância de mídia disponível. |
error | Evento |
flash.events.ErrorEvent
propriedade ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2.5 |
O evento error
é despachado quando a câmera padrão não pode ser aberta.
type
de um objeto de evento error
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto que está passando por uma falha de operação na rede. |
text | Texto a ser exibido como uma mensagem de erro. |
permissionStatus | Evento |
flash.events.PermissionEvent
propriedade PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 24.0 |
Será despachado quando o aplicativo solicitar permissão para acessar a IU da câmera. Verifique o valor da propriedade status
para confirmar se a permissão for concedida ou recusada
Elementos da 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(); } } }
Wed Jun 13 2018, 11:10 AM Z