Pacote | flash.media |
Classe | public final class Camera |
Herança | Camera EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Uma instância de Camera captura o vídeo na proporção de paisagem. Em dispositivos que podem alterar a orientação da tela, como celulares, um objeto Video anexado à câmera mostrará somente o vídeo direito em uma orientação com proporção de paisagem. Assim, aplicativos móveis devem usar a orientação de paisagem ao exibir vídeo e não devem girar automaticamente.
No iOS, o vídeo da câmera dianteira refletido. No Andróide, não.
Em dispositivos móveis com uma câmera com autofoco, o autofoco contínuo é ativado automaticamente. Se a câmera não oferecer suporte ao foco automático contínuo, e muitas câmeras de dispositivo móveis não o fazem, a câmera recebe o foco quando o objeto Camera é anexado a um fluxo de vídeo e sempre que o método setMode()
é chamado. Nos computadores pessoais, o comportamento de autofoco é dependente do driver da câmera e das configurações.
Em um aplicativo do AIR no Android e no iOS, a câmera não irá capturar o vídeo enquanto um aplicativo do AIR não for o aplicativo ativo em primeiro plano. Além disso, as conexões de streaming poderão cair quando o aplicativo estiver em segundo plano. No iOS, o vídeo da câmera não poderá ser exibido quando um aplicativo usar o modo de renderização de GPU. O vídeo da câmera ainda pode ser transmitido para um servidor.
Suporte a perfil do AIR: não há suporte para este recurso em dispositivos AIR for TV. Consulte Suporte a perfil do AIR para obter mais informações sobre o suporte de API através de múltiplos perfis. Observe que, para dispositivos AIR for TV, Camera.isSupported
é true
, mas Camera.getCamera()
sempre retorna null
. Não há suporte ao acesso à câmara em navegadores móveis.
Para obter informações sobre a captura de áudio, consulte a classe Microphone.
Importante: o tempo de execução exibe uma caixa de diálogo Privacidade que permite que o usuário escolha entre permitir ou negar acesso à câmera. O tamanho da janela do aplicativo deve ter, pelo menos, 215 x 138 pixels; este é o tamanho mínimo necessário para que a caixa de diálogo seja exibida.
Para criar ou fazer referência a um objeto Camera, use o método getCamera()
.
Saiba mais
Michael Chaize: Android, AIR e a câmera
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
activityLevel : Number [somente leitura]
A quantidade de movimento que a câmera está detectando. | Camera | ||
bandwidth : int [somente leitura]
A quantidade máxima de largura de banda que o feed de vídeo de saída atual pode usar, em bytes. | Camera | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
currentFPS : Number [somente leitura]
A taxa na qual a câmera está capturando dados, em quadros por segundo. | Camera | ||
fps : Number [somente leitura]
A taxa máxima na qual a câmera pode capturar dados, em quadros por segundo. | Camera | ||
height : int [somente leitura]
A altura da captura atual, em pixels. | Camera | ||
index : int [somente leitura]
Um índice com base em zero que especifica a posição da câmera na matriz Camera.names, que enumera todas as câmeras disponíveis. | Camera | ||
isSupported : Boolean [estático] [somente leitura]
A propriedade isSupported será definida como true se a classe Camera for suportada na plataforma atual; de outra maneira, ela será definida como false. | Camera | ||
keyFrameInterval : int [somente leitura]
O número de quadros de vídeo transmitidos integralmente (chamados de quadros-chave) em vez de serem interpolados pelo algoritmo de compactação de vídeo. | Camera | ||
loopback : Boolean [somente leitura]
Indica se uma exibição local do que a câmera está capturando é compactada e descompactada (verdadeiro), como seria o caso de uma transmissão ao vivo usando o Flash Media Server, ou não compactada (falso). | Camera | ||
motionLevel : int [somente leitura]
A quantidade de movimento necessária para chamar o evento de atividade. | Camera | ||
motionTimeout : int [somente leitura]
O número de milésimos de segundo entre o momento em que a câmera para de detectar o movimento e o momento em que o evento de atividade é invocado. | Camera | ||
muted : Boolean [somente leitura]
Um valor booliano que indica se o usuário tem acesso negado à câmera (verdadeiro) ou permitido (falso) na caixa de diálogo Privacidade do Flash Player. | Camera | ||
name : String [somente leitura]
O nome da câmera atual, retornado pelo hardware da câmera. | Camera | ||
names : Array [estático] [somente leitura]
Uma matriz de strings que contém os nomes de todas as câmeras disponíveis. | Camera | ||
permissionStatus : String [estático] [somente leitura]
Determina se o aplicativo recebeu permissão para usar a câmera. | Camera | ||
position : String [somente leitura]
Especifica o lado de um dispositivo no qual a câmera se localiza. | Camera | ||
quality : int [somente leitura]
O nível necessário de qualidade da imagem, determinado pela intensidade de compactação que está sendo aplicada a cada quadro de vídeo. | Camera | ||
width : int [somente leitura]
A largura da captura atual, em pixels. | Camera |
Método | Definido por | ||
---|---|---|---|
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 | ||
Preenche uma matriz de bytes com base em uma região retangular de dados de pixel. Grava um inteiro sem sinal (um valor de pixel não multiplicado 32 bits) para cada pixel na matriz de bytes. | Camera | ||
Preenche um vetor com base em uma região retangular dos dados de pixel. | Camera | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Copia o último quadro em um bitmap. | Camera | ||
[estático]
Retorna uma referência a um objeto Camera para captura de vídeo. | Camera | ||
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 | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Solicita a permissão da câmera para o aplicativo. | Camera | ||
Especifica quais quadros de vídeo são transmitidos integralmente (chamados de quadros-chave) em vez de serem interpolados pelo algoritmo de compactação de vídeo. | Camera | ||
Especifica se um fluxo de vídeo compactado será ou não usado para uma exibição local da câmera. | Camera | ||
Define o modo de captura da câmera como o modo nativo que melhor atende aos requisitos especificados. | Camera | ||
Especifica quanto movimento é necessário para despachar o evento de atividade. | Camera | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Define a quantidade máxima de largura de banda por segundo ou a qualidade de imagem necessária do feed de vídeo de saída atual. | Camera | ||
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 | |||
Despachado quando uma câmera inicia ou encerra uma sessão. | Camera | |||
[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 | |||
Será despachado quando o aplicativo solicitar permissão para usar a câmera no dispositivo. | Camera | |||
Despachado quando uma câmera relata seu status. | Camera | |||
Enviado depois que um novo quadro de câmera é processado pelo runtime e disponibilizado para cópia. | Camera |
activityLevel | propriedade |
activityLevel:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A quantidade de movimento que a câmera está detectando. Os valores variam de 0 (não há movimento sendo detectado) a 100 (está sendo detectada uma grande quantidade de movimento). O valor dessa propriedade pode ajudá-lo a determinar se você precisa transmitir uma configuração para o método setMotionLevel()
.
Se a câmera está disponível, mas ainda não está sendo usada porque o método Video.attachCamera()
não foi chamado, essa propriedade é definida como -1.
Se você estiver realizando streaming apenas do vídeo local descompactado, essa propriedade é definida apenas se você tiver atribuído uma função para o manipulador de eventos. Do contrário, ele fica indefinido.
Implementação
public function get activityLevel():Number
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
bandwidth | propriedade |
bandwidth:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A quantidade máxima de largura de banda que o feed de vídeo de saída atual pode usar, em bytes. O valor 0 significa que o feed pode usar tanta largura de banda quanto for necessário para manter a qualidade do quadro desejada.
Para definir essa propriedade, use o método setQuality()
.
Implementação
public function get bandwidth():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
currentFPS | propriedade |
currentFPS:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A taxa na qual a câmera está capturando dados, em quadros por segundo. Essa propriedade não pode ser definida; no entanto, é possível usar o método setMode()
para definir uma propriedade relacionada – fps
– que especifica a taxa máxima de quadros com a qual você gostaria que a câmera capturasse os dados.
Implementação
public function get currentFPS():Number
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
fps | propriedade |
fps:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A taxa máxima na qual a câmera pode capturar dados, em quadros por segundo. A taxa máxima possível depende dos recursos da câmera; essa taxa de quadros pode não ser obtida.
- Para definir um valor desejado para essa propriedade, use o método
setMode()
. - Para determinar a taxa com a qual a câmera está atualmente capturando os dados, use a propriedade
currentFPS
.
Implementação
public function get fps():Number
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
height | propriedade |
height:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A altura da captura atual, em pixels. Para definir um valor para essa propriedade, use o método setMode()
.
Implementação
public function get height():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
index | propriedade |
index:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Um índice com base em zero que especifica a posição da câmera na matriz Camera.names
, que enumera todas as câmeras disponíveis.
Implementação
public function get index():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
isSupported | propriedade |
isSupported:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10.1, AIR 2 |
A propriedade isSupported
será definida como true
se a classe Camera for suportada na plataforma atual; de outra maneira, ela será definida como false
.
Implementação
public static function get isSupported():Boolean
keyFrameInterval | propriedade |
keyFrameInterval:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O número de quadros de vídeo transmitidos integralmente (chamados de quadros-chave) em vez de serem interpolados pelo algoritmo de compactação de vídeo. O valor padrão é 15, o que significa que há um quadro-chave de 15 em 15 quadros. O valor 1 indica que todos os quadros são chave. Os valores permitidos são de 1 a 300.
Implementação
public function get keyFrameInterval():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
loopback | propriedade |
loopback:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Indica se uma exibição local do que a câmera está capturando é compactada e descompactada (true
), como seria o caso de uma transmissão ao vivo usando o Flash Media Server, ou não compactada (false
). O valor padrão é false
.
Embora um fluxo compactado seja útil para testar, por exemplo, ao pré-visualizar as configurações de qualidade do vídeo, ele tem um custo de processamento significativo. A visualização local é compactada, editada para transmissão como seria em uma conexão ao vivo e depois descompactada para visualização local.
Para definir esse valor, use Camera.setLoopback()
. Para definir a quantidade de compressão usada quando esta propriedade for verdadeira, use Camera.setQuality()
.
Implementação
public function get loopback():Boolean
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
motionLevel | propriedade |
motionLevel:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A quantidade de movimento necessária para chamar o evento activity
. A faixa de valores aceitável varia de 0 a 100. O valor padrão é 50.
O vídeo pode ser exibido independentemente do valor do parâmetro motionLevel
. Para obter mais informações, consulte setMotionLevel()
.
Implementação
public function get motionLevel():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
motionTimeout | propriedade |
motionTimeout:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O número de milésimos de segundo entre o momento em que a câmera para de detectar o movimento e o momento em que o evento activity
é invocado. O valor padrão é de 2000 (2 segundos).
Para definir este valor, use setMotionLevel()
.
Implementação
public function get motionTimeout():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
muted | propriedade |
muted:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Um valor booliano que indica se o usuário tem acesso negado à câmera (true
) ou permitido (false
) na caixa de diálogo Privacidade do Flash Player. Quando esse valor for alterado, o evento status
é despachado.
Implementação
public function get muted():Boolean
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
name | propriedade |
name:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O nome da câmera atual, retornado pelo hardware da câmera.
Implementação
public function get name():String
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
names | propriedade |
names:Array
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Uma matriz de strings que contém os nomes de todas as câmeras disponíveis. Acessar esta matriz não exibe a caixa de diálogo Flash Player Privacy. Esta matriz fornece o índice com base em zero de cada câmera e o número de câmeras no sistema (por meio de names.length
).
A chamada para a propriedade names
requer um exame extenso do hardware. Na maioria dos casos, você pode apenas usar a câmera padrão.
Implementação
public static function get names():Array
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
permissionStatus | propriedade |
position | propriedade |
position:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 3.0 |
Especifica o lado de um dispositivo em que a câmera está localizada.
Use a propriedade position
para determinar se uma câmera em um dispositivo móvel está na parte frontal ou traseira do dispositivo. A seguinte função verifica cada câmera disponível até localizar uma câmera com a posição desejada. Se nenhuma câmera tiver a posição desejada, então a câmera padrão será retornada.
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();
Nos dispositivos móveis a posição da câmara geralmente é CameraPosition.FRONT
ou CameraPosition.BACK
. Se a posição da Câmera não puder ser determinada, a posição será relatada como CameraPosition.UNKNOWN
. Nas plataformas de desktop, a posição é sempre CameraPosition.UNKNOWN
.
As constantes dos valores válidos dessa propriedade são definidas na classe CameraPosition
Implementação
public function get position():String
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
quality | propriedade |
quality:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
O nível necessário de qualidade da imagem, determinado pela intensidade de compactação que está sendo aplicada a cada quadro de vídeo. Os valores aceitáveis de qualidade variam de 1 (qualidade mais baixa, compressão máxima) a 100 (qualidade mais alta, sem compressão). O valor padrão é 0, o que significa que a qualidade da imagem podem variar conforme necessário para não ultrapassar a largura de banda disponível.
Para definir essa propriedade, use o método setQuality()
.
Implementação
public function get quality():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
width | propriedade |
width:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
A largura da captura atual, em pixels. Para definir um valor desejado para essa propriedade, use o método setMode()
.
Implementação
public function get width():int
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
copyToByteArray | () | método |
public function copyToByteArray(rect:Rectangle, destination:ByteArray):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 11.4, AIR 3.4 |
Preenche uma matriz de bytes com base em uma região retangular dos dados de pixels
Grava um inteiro não sem sinal (um valor de pixel não multiplicado de 32 bits) para cada pixel na matriz de bytes. A matriz é redimensionada para o número necessário de bytes para conter todos os pixels.
Parâmetros
rect:Rectangle — Uma área retangular no objeto BitmapData atual.
| |
destination:ByteArray — Um ByteArray representando os pixels no retângulo especificado.
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
| |
TypeError — O parâmetro ret é "null".
| |
TypeError — O destino é nulo
|
Elementos da API relacionados
copyToVector | () | método |
public function copyToVector(rect:Rectangle, destination:Vector.<uint>):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 11.4, AIR 3.4 |
Preenche um vetor com base em uma região retangular dos dados de pixel.
Grava um inteiro não assinado (um valor de pixel não multiplicado de 32 bits) para cada pixel no vetor. O vetor é redimensionado para o número necessário de entradas para conter todos os pixels.
Parâmetros
rect:Rectangle — Uma área retangular no objeto BitmapData atual.
| |
destination:Vector.<uint> — Um vetor.<uint> representando os pixels no Retângulo especificado.
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
| |
TypeError — O parâmetro ret é "null".
| |
TypeError — O destino é nulo
|
Elementos da API relacionados
drawToBitmapData | () | método |
public function drawToBitmapData(destination:BitmapData):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 11.4, AIR 3.4 |
Copia o último quadro em um bitmap.
Esse método copia o conteúdo do último quadro dos dados de bitmap para uma ocorrência BitmapData.
Parâmetros
destination:BitmapData — Uma ocorrência de objeto de BitmapData para conter o último quadro.
|
Lança
ArgumentError — kInvalidBitmapDataError se o destino for muito pequeno
|
Elementos da API relacionados
getCamera | () | método |
public static function getCamera(name:String = null):Camera
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Retorna uma referência a um objeto Camera para captura de vídeo. Para iniciar a captura do vídeo, você deve acoplar o objeto Camera a um objeto Video (consulte Video.attachCamera()
). Para transmitir o vídeo para o Flash Media Server, chame NetStream.attachCamera()
para acoplar o objeto Camera a um objeto NetStream.
Múltiplas chamadas ao método getCamera()
fazem referência ao mesmo driver da câmera. Assim, se o código contiver algo como firstCam:Camera = getCamera()
e secondCam:Camera = getCamera()
, tanto firstCam
quanto secondCam
fazem referência à mesma câmera, que é a câmera padrão do usuário.
Em dispositivos móveis com câmeras com foco dianteiro e traseiro, só é possível capturar vídeo de uma câmera de cada vez.
Em geral, você não deve passar um valor para o parâmetro name
; basta usar getCamera()
para retornar uma referência à câmera padrão. Por meio do painel de configurações Camera (que será discutido depois nesta seção), o usuário pode especificar a câmera padrão a usar.
Não é possível usar o ActionScript para definir a configuração de permissão Permitir ou Negar para acessar a câmera, mas é possível exibir a caixa de diálogo de configuração da câmera do Adobe Flash Player onde as permissões do usuário podem ser definidas. Quando um arquivo SWF usando o método attachCamera()
tenta anexar a câmera retornada pelo método getCamera()
para um objeto Video ou NetStream, o Flash Player exibe uma caixa de diálogo que permite ao usuário selecionar se permite ou nega acesso à câmera. (O tamanho da janela do aplicativo deve ter, pelo menos, 215 x 138 pixels; este é o tamanho mínimo que o Flash Player exige para que a caixa de diálogo seja exibida.) Quando o usuário responde à caixa de diálogo de configurações da câmera, o Flash Player retorna um objeto de informação no evento status
que indica a resposta do usuário: Camera.muted
indica que o usuário negou acesso a uma câmera; Camera.Unmuted
indica que o usuário permitiu o acesso a uma câmera. Para determinar se o usuário negou ou permitiu acesso à câmera sem manipular o evento status
, use a propriedade muted
.
No Flash Player, o usuário pode especificar configurações permanentes de privacidade para um determinado domínio, clicando com o botão direito (no Windows e no Linux) ou com o botão Control (no Macintosh), enquanto um arquivo SWF estiver sendo executado, selecionando Configurações, caixa de diálogo Privacidade e selecionando Lembrar. Se o usuário selecionar Lembrar, o Flash Player não pergunta mais se deve permitir ou negar aos arquivos SWF deste domínio o acesso à sua câmera.
Observação: O método attachCamera()
não invocará a caixa de diálogo Permitir ou Negar acesso à câmera se o usuário negar o acesso selecionando Lembrar na caixa de diálogo Configurações do Flash Player. Neste caso, é possível solicitar ao usuário que altere a configuração exibindo o painel Privacidade do Flash Player para o usuário, usando Security.showSettings(SecurityPanel.PRIVACY)
.
Se getCamera()
retornar null
, a câmera está sendo usada por outro aplicativo, ou não há câmeras instaladas no sistema. Para determinar se há câmeras instaladas, use a propriedade names.length
. Para exibir o painel Configurações da câmera do Flash Player, que permite que o usuário escolha a câmera que será a referência de getCamera()
, use System.showSettings(SecurityPanel.CAMERA)
.
Analisar as câmeras do hardware é algo que leva tempo. Quando o tempo de execução encontra pelo menos uma câmera, o hardware não é analisado novamente durante todo o tempo de vida da ocorrência do player. No entanto, se o tempo de execução não encontrar câmeras, ele vai analisar todas as vezes que getCamera
for chamado. Isso é útil caso a câmera esteja presente, mas desativada; se o seu arquivo SWF fornecer o botão Tentar novamente que chama getCamera
, o Flash Player consegue encontrar a câmera sem que o usuário precise reiniciar o arquivo SWF.
Parâmetros
name:String (default = null ) — Especifica qual câmera obter, conforme determinado da matriz retornada pela propriedade names . Para a maioria dos aplicativos, obtenha a câmera padrão omitindo esse parâmetro. Para especificar um valor para este parâmetro, use a representação da posição de string do índice baseado em zero dentro do array Camera.names. Por exemplo, para especificar a terceira câmera na matriz, use Camera.getCamera("2") .
|
Camera — Caso o parâmetro name não seja especificado, este método retorna uma referência para a câmera padrão ou, se estiver em uso por outro aplicativo, para a primeira câmera disponível. (Se houver mais de uma câmera instalada, o usuário pode especificar a câmera padrão no painel Configurações da câmera do Flash Player.) Se não houver câmeras disponíveis nem instaladas, o método devolve null .
|
Eventos
status: — Despachado quando uma câmera relata seu status. Antes de acessar uma câmera, o Flash Player exibe uma caixa de diálogo Privacidade para que os usuários permitam ou neguem o acesso à sua câmera. Se o valor da propriedade code for "Camera.Muted" , o usuário se recusou a permitir o acesso do arquivo SWF à câmera do usuário. Se o valor da propriedade code for "Camera.Unmuted" , o usuário permitiu o acesso do arquivo SWF à câmera do usuário.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
O método Camera.getCamera()
retorna uma referência para um objeto camera, ou retorna null se não houver câmera disponível ou instalada. A instrução if verifica se a câmera foi encontrada e se o usuário permitiu acesso a ela. Se o usuário negou o acesso, a propriedade muted
é definida como true
.
Normalmente, quando o método attachCamera()
é invocado, uma caixa de diálogo aparece e pergunta ao usuário se ele deseja permitir ou negar ao Flash Player acesso à câmera. Contudo, se o usuário negou acesso e selecionou a opção Lembrar
, a caixa de diálogo não aparece e nada é exibido. Para certificar-se de que a opção que permite acessar a câmera foi definida, o campo de texto myTextField
instrui o usuário a clicar no campo de texto para invocar a caixa de diálogo Configurações do Flash Player.
O método clickHandler()
chama o método Security.showSettings()
que exibe o painel PRIVACY
da caixa de diálogo Configurações. Se o usuário permitir o acesso, o evento StatusEvent.STATUS
é despachado e o valor da propriedade code
do evento é definido como Camera.Unmuted
. (A propriedade mute
do objeto da câmera também é definida como false
.)
O método statusHandler()
, adicionado para escutar a alteração do status da configuração do usuário invoca o método connectCamera()
se o usuário permitir acesso.. O método connectCamera()
exemplifica um objeto video com largura e comprimento do fluxo capturado. Para exibir o vídeo capturado pela câmera, a referência ao fluxo de vídeo está anexada ao objeto video e ele é adicionado à lista de exibição.
Um objeto Timer também é iniciado. A cada segundo, o evento timer do objeto Timer é despachado e o método timerHandler()
é invocado. O método timerHandler()
é exibido e atualiza várias propriedades do objeto Camera.
Observação: Para este exemplo, a única propriedade alterada é a propriedade 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 | () | método |
public function requestPermission():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 24.0 |
Solicita a permissão da câmera para o aplicativo.
Eventos
PermissionStatus: — despachado quando a permissão solicitada é concedida/negada pelo usuário.
|
setKeyFrameInterval | () | método |
public function setKeyFrameInterval(keyFrameInterval:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Especifica quais quadros de vídeo são transmitidos integralmente (chamados de quadros-chaves) em vez de serem interpolados pelo algoritmo de compactação de vídeo. Este método é aplicável apenas se você estiver transmitindo vídeo com o Flash Media Server.
O algoritmo de compressão do Flash Video compacta o vídeo transmitindo apenas o que foi alterado desde o último quadro do vídeo; essas partes são consideradas quadros interpolados. Os quadros de um vídeo podem ser interpolados de acordo com o conteúdo do quadro anterior. Um quadro-chave, no entanto, é um quadro de vídeo que é completo; não é interpolado dos quadros anteriores.
Para determinar como definir um valor para o parâmetro keyFrameInterval
, considere a utilização da largura de banda e a acessibilidade da reprodução de vídeo. Por exemplo, especificar um valor maior para keyFrameInterval
(enviando quadros-chaves com menos frequência) reduz a utilização da largura de banda. No entanto, isso pode aumentar o tempo necessário para posicionar o indicador de reprodução em um ponto particular no vídeo; talvez seja necessário interpolar quadros de vídeo anteriores antes que o vídeo possa ser retomado.
Por outro lado, especificar um valor menor para keyFrameInterval
(enviando os quadros-chaves com mais frequência) aumenta a utilização da largura de banda porque todos os quadros de vídeo são transmitidos com mais frequência, mas pode diminuir o tempo necessário para buscar um quadro em particular em um vídeo gravado.
Parâmetros
keyFrameInterval:int — Um valor que especifica quais quadros de vídeo são transmitidos integralmente (como quadros-chave) em vez de serem interpolados pelo algoritmo de compactação de vídeo. O valor 1 significa que todos os quadros são quadros-chaves, o valor 3 significa que todos os quadros na terceira posição são quadros-chaves e assim por diante. Os valores aceitáveis são de 1 a 48.
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
setLoopback | () | método |
public function setLoopback(compress:Boolean = false):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Especifica se um fluxo de vídeo compactado será ou não usado para uma exibição local da câmera. Esse método é aplicável apenas se você estiver transmitindo o vídeo com o Flash Media Server; a definição de compress
como true
permite ver com mais precisão como o vídeo vai aparecer para os usuários quando o visualizam em tempo real.
Embora um fluxo compactado seja útil para fins de testes, como pré-visualização das configurações da qualidade de vídeo, ele tem um custo de processamento significativo, pois a visualização local não é simplesmente compactada; é compactada, editada para transmissão (como seria em uma conexão ao vivo), e depois descompactada para visualização local.
Para definir a quantidade de compressão usada quando você define compress
como true
, use Camera.setQuality()
.
Parâmetros
compress:Boolean (default = false ) — Especifica se você deve usar um fluxo de vídeo compactado (true ) ou um fluxo não compactado (false ) para visualização local do que a câmera está recebendo.
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
setMode | () | método |
public function setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Define o modo de captura da câmera como o modo nativo que melhor atende aos requisitos especificados. Se a câmera não tiver um modo nativo que corresponda a todos os parâmetros que você passar, o tempo de execução selecionará o modo de captura que melhor sintetiza o modo solicitado. Essa manipulação pode envolver cortar a imagem e soltar quadros.
Por padrão, o modo de execução solta os quadros conforme necessário para manter o tamanho da imagem. Para minimizar o número de quadros liberados, mesmo que isso signifique reduzir o tamanho da imagem, passe false
para o parâmetro favorArea
.
Ao escolher um modo nativo, o tempo de execução tenta manter a proporção solicitada sempre que possível. Por exemplo, se você emitir o comando myCam.setMode(400, 400, 30)
e os valores máximos de largura e altura disponíveis na câmera forem 320 e 288, o tempo de execução definirá a largura e a altura como 288. Definindo essas propriedades com o mesmo valor, o tempo de execução mantém a proporção 1:1 que você solicitou.
Para determinar os valores atribuídos a essas propriedades depois que o tempo e execução seleciona o modo que mais se aproxima dos valores solicitados, use as propriedades width
, height
e fps
.
Se estiver usando o Flash Media Server, você também pode capturar quadros únicos ou criar uma fotografia de lapso de tempo. Para obter mais informações, consulte NetStream.attachCamera()
.
Parâmetros
width:int — A largura da captura solicitada, em pixels. O valor padrão é 160.
| |
height:int — A altura da captura solicitada, em pixels. O valor padrão é 120.
| |
fps:Number — A taxa solicitada na qual a câmera deve capturar dados, em quadros por segundo. O valor padrão é 15.
| |
favorArea:Boolean (default = true ) — Especifica se você deve manipular a largura, a altura e a taxa de quadros caso a câmera não tenha um modo nativo que atende às exigências especificadas. O valor padrão é true , que significa que é preferível manter o tamanho da captura; a utilização deste parâmetro seleciona o modo que mais se aproxima dos valores width e height , mesmo que fazer isso afete adversamente o desempenho reduzindo a taxa de quadros. Para maximizar a taxa de quadros, afetando a altura e a largura da câmera, passe false para o parâmetro favorArea .
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
O Palco está definido, por isso não é dimensionado. O método Camera.getCamera()
retorna uma referência para um objeto camera, ou retorna null se não houver câmera disponível ou instalada. Se camera existe, o método connectCamera()
é chamado. O método connectCamera()
exemplifica um objeto video. Para exibir o vídeo capturado pela câmera, a referência ao fluxo de vídeo está anexada ao objeto video e ele é adicionado à lista de exibição. Um ouvinte de evento também é definido para um evento MouseEvent.CLICK
. Depois que o usuário clica em Palco, o método clickHandler()
é invocado. O método verifica a largura do vídeo capturado e define a largura, altura e taxa de solicitação de quadros por segundo do modo de captura da câmera. Para que essas configurações tenham efeito, o objeto video deve ser removido e re-criado. A largura e a altura do vídeo devem ser definidas na largura e altura do objeto 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 | () | método |
public function setMotionLevel(motionLevel:int, timeout:int = 2000):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Especifica quanto movimento é necessário para despachar o evento activity
. Como opção, define o número de milissegundos que devem transcorrer sem atividade até que o tempo de execução considere que o movimento foi interrompido e despache o evento.
Observação: o vídeo pode ser exibido independentemente do valor do parâmetro motionLevel
. Esse parâmetro determina apenas quando e em que circunstâncias o evento é despachado – e não se o vídeo está sendo capturado ou exibido.
Para impedir que a câmera detecte qualquer tipo de movimento, passe o valor 100 para o parâmetro motionLevel
; o evento activity
nunca é despachado. (Provavelmente você usaria este valor apenas para fins de testes – por exemplo, para desativar temporariamente quaisquer manipuladores que normalmente seriam acionados quando o evento for despachado.)
Para determinar a quantidade de movimento que a câmera está detectando no momento, use a propriedade activityLevel
. Os valores de sensibilidade de movimento correspondem diretamente aos valores de atividade. A completa falta de movimento é um valor de atividade 0. O movimento constante é um valor de atividade 100. Seu valor da atividade é menor do que o valor de sensibilidade de movimento quando você não estiver se movendo; quando estiver, os valores de atividades frequentemente ultrapassam o valor de sensibilidade de movimento.
Esse método é semelhante, em objetivo, ao método Microphone.setSilenceLevel()
; os dois são usados para especificar quando o evento activity
deve ser despachado. No entanto, esses métodos têm um impacto significativamente diferente nos fluxos de publicação:
Microphone.setSilenceLevel()
foi projetado para otimizar a largura de banda. Quando um fluxo de áudio é considerado silencioso, não são enviados dados de áudio. Em vez disso, é enviada uma única mensagem, indicando que o silêncio iniciou.Camera.setMotionLevel()
foi projetado para detectar movimento e não afeta a utilização da largura de banda. Mesmo que um fluxo de vídeo não detecte movimento, o vídeo ainda é enviado.
Parâmetros
motionLevel:int — Especifica a quantidade de movimento necessária para despachar o evento activity . A faixa de valores aceitável varia de 0 a 100. O valor padrão é 50.
| |
timeout:int (default = 2000 ) — Especifica quantos milissegundos devem transcorrer sem atividades até que o tempo de execução considere que a atividade foi interrompida e despache o evento activity . O valor padrão é de 2000 milissegundos (2 segundos).
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
O método Camera.getCamera()
retorna uma referência para um objeto camera, ou retorna null se não houver câmera disponível ou instalada. A instrução If verifica se a câmera está disponível e invoca o método connectCamera()
quando estiver disponível. O método connectCamera()
exemplifica um objeto video com largura e comprimento do fluxo capturado. Para exibir o vídeo capturado pela câmera, a referência ao fluxo de vídeo está anexada ao objeto video e ele é adicionado à lista de exibição. (Normalmente, quando o método attachCamera()
é invocado, uma caixa de diálogo aparece e pergunta ao usuário se ele deseja permitir ou negar ao Flash Player acesso à câmera. Contudo, se o usuário negou acesso e selecionou a opção Lembrar
, a caixa de diálogo não aparece e nada é exibido. Para certificar-se de que o usuário possui permissão de acesso à câmera, use o método system.Security.showSettings()
para invocar a caixa de diálogo Configurações do Flash Player)
O método setMotionLevel()
define o nível de atividade (quantidade de movimento), antes do evento activity ser invocado para cinco, como movimento mínimo. O tempo entre a câmera parar de detectar movimento e quando o evento activity é invocado, está configurado para 1 segundo (1000 milissegundos). Após um segundo sem atividade ou o nível de atividade atingir cinco, o evento ActivityEvent.ACTIVITY
é despachado e o método activityHandler()
é invocado. Se o evento foi disparado pelo nível de atividade, a propriedade activating
está definida como true
e o objeto Timer é iniciado. A cada segundo, o evento timer do objeto Timer é despachado e o método timerHandler()
é invocado, exibindo o nível atual de atividade. (Embora um nível de cinco ou mais dispara o timer, o número atual de atividade exibido pode ser um número inferior.)
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 | () | método |
public function setQuality(bandwidth:int, quality:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Define a quantidade máxima de largura de banda por segundo ou a qualidade de imagem necessária do feed de vídeo de saída atual. Este método é geralmente aplicável apenas se você estiver transmitindo vídeo com o Flash Media Server.
Use esse método para especificar qual elemento do feed do vídeo de saída é mais importante para a sua aplicação – utilização de largura de banda ou qualidade de imagem.
- Para indicar qual utilização da largura de banda tem precedência, transmita um valor para
bandwidth
e 0 paraquality
. O tempo de execução transmite vídeo com a qualidade mais alta possível na largura de banda especificada. Se necessário, o tempo de execução reduz a qualidade da imagem para não ultrapassar a largura de banda especificada. Em geral, à medida que aumenta o movimento, diminui a qualidade. - Para indicar qual qualidade tem precedência, transmita 0 para
bandwidth
e um valor numérico paraquality
. O tempo de execução usa tanta largura de banda quanto necessário para manter a qualidade especificada. Se necessário, o tempo de execução reduz a taxa de quadros para manter a qualidade da imagem. Em geral, à medida que aumenta o movimento, aumenta também a largura de banda. - Para especificar que a largura de banda e a qualidade são igualmente importantes, transmita valores numéricos para os dois parâmetros. O tempo de execução transmite vídeo que atinge a qualidade especificada e que não excede a largura de banda especificada. Se necessário, o tempo de execução reduz a taxa de quadros para manter a qualidade da imagem sem exceder a largura de banda especificada.
Parâmetros
bandwidth:int — Especifica a quantidade máxima de largura de banda que o feed de vídeo de saída atual pode usar, em bytes por segundo. Para especificar que o vídeo pode usar tanta largura de banda quanto for necessário para manter o valor de quality , passe 0 para bandwidth . O valor padrão é 16384.
| |
quality:int — Um inteiro que especifica o nível necessário de qualidade da imagem, determinado pela intensidade de compactação que está sendo aplicada a cada quadro de vídeo. Os valores aceitáveis variam de 1 (qualidade mais baixa, compressão máxima) a 100 (qualidade mais alta, sem compressão). Para especificar que a qualidade da imagem pode variar conforme necessário, a fim de que não ultrapasse a largura de banda, transmita 0 para quality .
|
Lança
PermissionError — O aplicativo não tem permissão para usar a câmera.
|
Elementos da API relacionados
activity | Evento |
flash.events.ActivityEvent
propriedade ActivityEvent.type =
flash.events.ActivityEvent.ACTIVITY
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Despachado quando uma câmera inicia ou encerra uma sessão. Chame Camera.setMotionLevel()
para especificar a quantidade de movimento necessária para disparar um evento activity
com um valor activating
de true
, ou a hora sem a atividade que deve transcorrer antes do disparo de um evento activity
com um valor para activating
de false
.
ActivityEvent.ACTIVITY
define o valor da propriedade type
de um objeto de evento activity
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
activating | true se o dispositivo for @activating ou false se for @deactivating. |
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 inicia ou conclui uma sessão, como um objeto Camera ou Microphone. |
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 usar a câmera no dispositivo. Verifique o valor da propriedade status
para determinar se a permissão for concedida ou recusada
Elementos da API relacionados
status | Evento |
flash.events.StatusEvent
propriedade StatusEvent.type =
flash.events.StatusEvent.STATUS
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 9, AIR (unsupported) |
Despachado quando uma câmera relata seu status. Antes de acessar uma câmera, o tempo de execução exibe uma caixa de diálogo Privacidade para que os usuários permitam ou neguem o acesso à sua câmera. Se o valor da propriedade code
for "Camera.Muted"
, o usuário se recusou a permitir o acesso do arquivo SWF à câmera do usuário. Se o valor da propriedade code
for "Camera.Unmuted"
, o usuário permitiu o acesso do arquivo SWF à câmera do usuário.
Nota: Este evento não é despachado na plataforma do AIR. Ele é utilizado somente no Flash Player.
Define o valor da propriedadetype
de um objeto de evento status
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
code | Uma descrição do status do objeto. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
nível | A categoria da mensagem, como "status" , "warning" ou "error" . |
target | O objeto que está reportando o status. |
Elementos da API relacionados
videoFrame | Evento |
flash.events.Event
propriedade Event.type =
flash.events.Event.VIDEO_FRAME
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 11.4, AIR 3.4 |
Enviado depois que um novo quadro de câmera é processado pelo runtime e disponibilizado para cópia.
A constanteEvent.VIDEO_FRAME
define o valor da propriedade type
do objeto de evento videoFrame
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
target | O objeto Camera que enviou esse evento. |
Elementos da API relacionados
activity
foi despachado no início e no final (se houver) da sessão e foi capturado pelo método activityHandler()
, que imprime as informações sobre o evento.
Observação: é necessário acoplar uma câmera ao seu computador para que este exemplo funcione corretamente.
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); } } }
Wed Jun 13 2018, 11:10 AM Z