| Pacote | flash.media |
| Classe | public class StageVideo |
| Herança | StageVideo EventDispatcher Object |
| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
Suporte ao perfil do AIR: no AIR 3, todos os dispositivos AIR para TV e alguns dispositivos móveis suportam esse recurso. O AIR 3 para iOS utiliza o objeto StageVideo do vídeo de H.264 com a decodificação de hardware, com suporte limitado para a funcionalidade de NetStream. O AIR 3 para iOS também suporta codecs de Sorenson e On2 pelo objeto StageVideo. Este suporte não utiliza a decodificação de hardware e não limita a funcionalidade de NetStream. No AIR 2.5, somente AIR de dispositivos de televisão suporta este recurso. Além disso, ActionScript deste recurso no AIR 2.5 para a televisão é diferente do ActionScript de AIR 3 ou Flash Player 10.2. As diferenças são observadas nas descrições de ActionScript. Consulte Suporte a perfil do AIR para obter mais informações sobre o suporte de API através de múltiplos perfis. A classe StageVideo não é suportada no desktop do AIR ou em perfis de extendedDesktop.
O vídeo exibido pelo objeto StageVideo sempre aparece em uma área retangular no palco, atrás de todos os objetos da lista de exibição do Flash. Portanto, o objeto StageVideo tira proveito da aceleração por hardware, ao mesmo tempo que oferece suporte ao caso mais comum de exibição de vídeo: uma área de exibição retangular recoberta com controles de vídeo.
Os benefícios do uso de um objeto StageVideo em vez do objeto Video são:
- Aumento do desempenho da exibição de vídeo devido ao uso da aceleração por hardware.
- Uso reduzido da CPU.
- Flexibilidade e criatividade para o desenvolvimento do conteúdo, como controles de vídeo, que aparece em frente ao objeto StageVideo.
Como o hardware do dispositivo exibe o vídeo, usar um objeto StageVideo tem as seguintes restrições em comparação com um objeto Video:
- Para cada arquivo SWF, o Flash Player limita a quatro o número de objetos StageVideo que podem ser exibidos simultaneamente. Contudo, o limite real pode ser menor, dependendo dos recursos de hardware do dispositivo. Em dispositivos AIR for TV, apenas um objeto StageVideo pode exibir vídeo de cada vez.
- A temporização do vídeo não é sincronizada com a temporização do conteúdo em Flash exibido pelo tempo de execução.
- A área de exibição de vídeo pode ser somente um retângulo. Não é possível usar áreas de exibição mais avançadas, como formas elípticas ou irregulares.
- Não é possível girar o vídeo.
- Não é possível armazenar o vídeo em cache de bitmap nem usar BitmapData para acessá-lo.
- Não é possível aplicar filtros ao vídeo.
- Não é possível aplicar transformações de cores ao vídeo.
- Não é possível aplicar um valor alfa ao vídeo.
- Os modos de mesclagem que você aplica a objetos de exibição que estão na frente do vídeo não se aplicam ao vídeo.
- É possível posicionar o vídeo somente em limites de pixel cheios.
- Embora a renderização seja a melhor disponível para este determinado hardware de dispositivo, não tem completa identidade de pixel em todos os dispositivos. Ocorrem pequenas variações devido a diferenças de plataforma e driver.
- Alguns dispositivos não suportam todos os espaços de cor obrigatórios. Por exemplo, alguns dispositivos não suportam BT.709, o padrão H.264. Nesses casos você pode usar BT.601 para exibição rápida.
- Você não pode usar o vídeo de palco com configurações WMODE tais como
normal,opacooutransparente. O vídeo de palco suporta somenteWMODE=diretoquando não está no modo de tela inteira. WMODE não tem nenhum efeito no Safari 4 ou superior, no IE 9 ou superior ou no AIR para televisão. - Ao utilizar o StageVideo em um aplicativo do AIR para Android, defina
colorDepthem 32bit no descritor de aplicativo. A utilização de StageVideo com uma intensidade de cor de 16 bits não é suportada. - No Android, o StageVideo só é compatível em dispositivos com Android 3 (Honeycomb) ou superior. Para ativar o seu aplicativo para executar na seleção mais ampla possível de dispositivos Andróide, sempre forneça a lógica para exibir o vídeo usando objeto Video quando StageVideo não está disponível.
As seguintes etapas resumem como usar um objeto StageVideo para reproduzir um vídeo:
- Escute o evento StageVideoAvailabilityEvent. STAGE_VIDEO_AVAILABILITY para descobrir quando o vetor Stage.stageVideos foi alterado. (Não suportado pelo AIR 2.5 para televisão.)
- Se o evento StageVideoAvailabilityEvent. STAGE_VIDEO_AVAILABILITY informar que o vídeo de palco está disponível, use o objeto Vector
Stage.stageVideosdo manipulador de eventos para acessar um objeto StageVideo. No AIR 2.5 para televisão, acesseStage.stageVideosdepois que o primeiro quadro SWF for renderizado. Nota: não é possível criar um objeto StageVideo. - Anexe um objeto NetStream usando
StageVideo.attachNetStream(). - Reproduza o vídeo usando
NetStream.play(). - Escute o evento
StageVideoEvent.RENDER_STATEno objeto StageVideo para determinar o status da reprodução do vídeo. O recebimento deste evento também indica que as propriedades de largura e de altura do vídeo foram inicializadas ou alteradas. - Escute o evento
VideoEvent. RENDER_STATEno objeto Video. Este evento fornece os mesmos status que StageVideoEvent. RENDER_STATE; portanto, você também pode usá-lo para determinar se a aceleração de GPU está disponível. O recebimento deste evento também indica que as propriedades de largura e de altura do vídeo foram inicializadas ou alteradas. (Não suportado pelo AIR 2.5 para televisão.)
Se o evento StageVideoEvent.RENDER_STATE indica que o vídeo não pode ser reproduzido, você pode reverter ao uso de um objeto Video em vez de um objeto StageVideo. Este evento será despachado depois que o vídeo for anexado a um objeto NetStream e estiver sendo reproduzindo. Além disso, dependendo da plataforma, qualquer alteração no status da reprodução pode resultar na emissão do evento. Trate o evento StageVideoEvent.RENDER_STATE para assegurar-se de que o aplicativo reproduza o vídeo ou que graciosamente não o reproduza.
Se um vídeo em execução entrar no modo de tela inteira a partir do WMODE que não suporta o vídeo de palco, o vídeo de palco poderá ficar disponível. De mesmo modo, se o usuário sair do modo de tela inteira, o vídeo de palco poderá ficar indisponível. Nesses casos, o vetor Stage.stageVideos é alterado. Para receber a notificação dessa alteração, escute o evento StageVideoAvailabilityEvent. STAGE_VIDEO_AVAILABITY. NOTA: esta notificação não está disponível no AIR 2.5 for TV.
Saiba mais
Elementos da API relacionados
flash.events.StageVideoAvailabilityEvent
flash.events.VideoEvent
flash.display.Stage.stageVideos
flash.media.Video
flash.net.NetStream
| Propriedade | Definido por | ||
|---|---|---|---|
| colorSpaces : Vector.<String> [somente leitura]
Retorna os nomes dos espaços de cor disponíveis para esta superfície de vídeo. | StageVideo | ||
![]() | constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | |
| depth : int
O nível de profundidade de um objeto StageVideo em relação a outros objetos StageVideo. | StageVideo | ||
| pan : Point
A configuração de panorâmica para exibir o vídeo, especificada como um objeto Point. | StageVideo | ||
| videoHeight : int [somente leitura]
Um número inteiro que especifica a altura do fluxo de vídeo, em pixels. | StageVideo | ||
| videoWidth : int [somente leitura]
Um número inteiro que especifica a largura do fluxo de vídeo, em pixels. | StageVideo | ||
| viewPort : Rectangle
A posição e o tamanho absolutos da superfície de vídeo em pixels. | StageVideo | ||
| zoom : Point
A configuração de zoom do vídeo, especificada como um objeto Point. | StageVideo | ||
| 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 | |
Especifica um fluxo de vídeo de uma câmera a ser exibido dentro dos limites do objeto StageVideo no aplicativo utilizando o GPU para renderização. | StageVideo | ||
Especifica um fluxo de vídeo a ser exibido dentro dos limites do objeto StageVideo no aplicativo. | StageVideo | ||
![]() |
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 | |
![]() |
Indica se a propriedade especificada existe e é enumerável. | Object | |
![]() |
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | |
![]() |
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 | ||
![]() | [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 | ||
| Emitido pelo objeto StageVideo quando o estado de renderização do objeto StageVideo é alterado. | StageVideo | |||
colorSpaces | propriedade |
colorSpaces:Vector.<String> [somente leitura] | Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
Retorna os nomes dos espaços de cor disponíveis para esta superfície de vídeo. Normalmente, esta lista inclui "BT.601" e "BT.709". Em algumas configurações, só "BT.601" é compatível, o que significa que um vídeo pode não ser renderizado no espaço de cor correto.
Nota: no AIR para aparelhos de televisão, um valor "BT.601" indica a reprodução de software, e um valor "BT.709" indica a reprodução de hardware.
Implementação
public function get colorSpaces():Vector.<String>depth | propriedade |
depth:int| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
O nível de profundidade de um objeto StageVideo em relação a outros objetos StageVideo.
Os objetos StageVideo sempre são exibidos atrás de outros objetos no palco. Se uma plataforma oferecer suporte a mais de um objeto StageVideo, a propriedade depth indicará o nível de profundidade de um objeto StageVideo. A propriedade depth do objeto StageVideo de baixo tem o menor valor. Se vários objetos StageVideo tiverem a mesma configuração de profundidade, a ordem em que serão exibidos no objeto Vector stage.stageVideos determina sua profundidade relativa.
Nota: dispositivos AIR for TV oferecem suporte a somente um objeto StageVideo. Portanto, esta propriedade não é aplicável àqueles dispositivos.
Implementação
public function get depth():int public function set depth(value:int):voidElementos da API relacionados
pan | propriedade |
pan:Point| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
A configuração de panorâmica para exibir o vídeo, especificada como um objeto Point.
Por padrão, o valor de pan é (0,0). Esse valor padrão centraliza o vídeo no retângulo especificado por StageVideo.viewPort.
O valor de pan é significativo somente quando o valor da propriedade zoom é o valor padrão, (1,0, 1,0). Quando um vídeo é exibido no retângulo StageVideo.viewPort com o valor padrão de zoom, a plataforma ajusta o vídeo para caber exatamente no retângulo. Portanto, todo o vídeo fica visível. Contudo, se um fator de zoom é especificado, o vídeo inteiro não fica visível. Nesse caso, você pode definir o valor de pan para especificar qual subretângulo do vídeo mostrar no retângulo StageVideo.viewPort.
Os valores válidos da propriedade pan vão de (-1,0, -1,0) até (1,0, 1,0). Especificamente:
-
Um valor de
pande(-1,0, -1,0)posiciona o pixel superior esquerdo do vídeo na posição superior esquerda do retânguloStageVideo.viewPort. -
Um valor de
pande(1,0, 1,0)posiciona o pixel inferior direito do vídeo na posição inferior direita do retânguloStageVideo.viewPort. -
Um valor de
pande(1,0, -1,0)posiciona o pixel superior direito do vídeo na posição superior direita do retânguloStageVideo.viewPort. -
Um valor de
pande(-1,0, 1,0)coloca o pixel inferior esquerdo do vídeo na posição inferior esquerda do retânguloStageVideo.viewPort.
Valores entre -1,0 e 1,0 aplicam a panorâmica de acordo com a escala.
Se você definir a propriedade pan com um valor fora do intervalo válido, a exceção RangeError é lançada. O tempo de execução redefine o valor para o último valor válido.
Além disso, quando você usa um objeto StageVideo, atribui um elemento do objeto Vector Stage.stageVideos a uma variável StageVideo. Quando você define a propriedade pan da variável StageVideo, o elemento Vector Stage.stageVideos subjecente também é alterado. Se, mais tarde, você atribuir esse elemento a outra variável StageVideo para reproduzir outro vídeo, redefina a propriedade pan.
Implementação
public function get pan():Point public function set pan(value:Point):voidLança
RangeError — O valor de Point não é válido.
|
Elementos da API relacionados
videoHeight | propriedade |
videoHeight:int [somente leitura] | Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
Um número inteiro que especifica a altura do fluxo de vídeo, em pixels.
Talvez você queira usar esta propriedade, por exemplo, para garantir que o usuário veja o vídeo com o mesmo tamanho em que foi capturado, independentemente do tamanho do retângulo StageVideo.viewPort
Implementação
public function get videoHeight():intvideoWidth | propriedade |
videoWidth:int [somente leitura] | Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
Um número inteiro que especifica a largura do fluxo de vídeo, em pixels.
Talvez você queira usar esta propriedade, por exemplo, para garantir que o usuário veja o vídeo com o mesmo tamanho em que foi capturado, independentemente do tamanho do retângulo StageVideo.viewPort
Implementação
public function get videoWidth():intviewPort | propriedade |
viewPort:Rectangle| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
A posição e o tamanho absolutos da superfície de vídeo em pixels.
A posição do vídeo é relativa ao canto superior esquerdo do palco.
O intervalo válido das propriedades x e y do objeto Rectangle viewPort é -8192 a 8191. Por isso, você pode posicionar o vídeo completa ou parcialmente fora do palco. Também pode tornar o vídeo maior do que o palco, se tornar as propriedades width e height da propriedade viewPort maiores do que o palco.
Implementação
public function get viewPort():Rectangle public function set viewPort(value:Rectangle):voidLança
RangeError — O valor do Retângulo não é válido.
|
zoom | propriedade |
zoom:Point| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
A configuração de zoom do vídeo, especificada como um objeto Point.
O ponto de zoom é um fator de escala. Por padrão, o valor de zoom é (1,0, 1,0). Este valor padrão exibe o vídeo inteiro no retângulo StageVideo.viewPort.
Os valores válidos da propriedade zoom vão de (1,0, 1,0) a (8.0, 8.0). A propriedade x do objeto Point zoom especifica o valor de zoom dos pixels horizontais, e a propriedade y especifica o valor de zoom dos pixels verticais.
Por exemplo, o valor de zoom (2,0, 2,0) exibe somente metade dos pixels horizontais e metade dos pixels verticais no retângulo StageVideo.viewPort. Isto é, o vídeo ainda preenche o retângulo StageVideo.viewPort, mas somente a metade do vídeo fica visível, criando um efeito de zoom de 2x. Da mesma forma, um valor de zoom de (8.0, 8.0) exibe apenas 1/8 dos pixels horizontais e 1/8 dos pixels verticais no retângulo StageVideo.viewPort, aumentando o zoom até o valor máximo de 8x.
Quando definir a propriedade zoom, defina a propriedade pan de modo que o retângulo StageVideo.viewPort mostre o subretângulo apropriado do vídeo.
Considere a seguinte situação, onde é útil definir um valor diferente para as propriedades x e y do objeto Point zoom. Em primeiro lugar, observe que quando um vídeo é exibido no retângulo StageVideo.viewPort com o valor padrão de zoom, a plataforma dimensiona o vídeo de forma que ele caixa exatamente no retângulo. Se o retângulo do vídeo não for dimensionado uniformemente no retângulo StageVideo.viewPort, a exibição do vídeo pode ficar distorcida. Isto é, as proporções do vídeo e o StageVideo.viewPort não são iguais. Essa situação pode ocorrer, por exemplo, se o vídeo tiver uma largura diferente da altura, mas a propriedade StageVideo.viewPort especificar um quadrado. Para resolver a distorção, defina valores diferentes para as propriedades x e y do objeto Point zoom. Em seguida, defina a propriedade pan para certificar-se de que o retângulo StageVideo.viewPort mostre o subretângulo apropriado do vídeo.
Se você definir a propriedade zoom com um valor fora do intervalo válido, a exceção RangeError será emitida. O tempo de execução redefine o valor para o último valor válido.
Além disso, quando você usa um objeto StageVideo, atribui um elemento do objeto Vector Stage.stageVideos a uma variável StageVideo. Quando você define a propriedade zoom da variável StageVideo, o elemento Vector Stage.stageVideos também é alterado. Se depois você atribuir esse elemento a outra variável StageVideo para reproduzir outro vídeo, redefina a propriedade zoom.
Implementação
public function get zoom():Point public function set zoom(value:Point):voidLança
RangeError — O valor de Point não é válido.
|
Elementos da API relacionados
attachCamera | () | método |
public function attachCamera(theCamera:Camera):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | Flash Player 11.4, AIR 3.4 |
Especifica um fluxo de vídeo de uma câmera a ser exibido dentro dos limites do objeto StageVideo no aplicativo utilizando o GPU para renderização.
Observação: o StageVideo para a câmera não é suportado no Android.
Use esse método para anexar o vídeo capturado ao vivo pelo usuário ao objeto StageVideo. Para desfazer a conexão com o objeto StageVideo, passe null.
Parâmetros
theCamera:Camera — Um objeto Camera que está capturando dados de vídeo.
|
Elementos da API relacionados
attachNetStream | () | método |
public function attachNetStream(netStream:NetStream):void| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
Especifica um fluxo de vídeo a ser exibido dentro dos limites do objeto StageVideo no aplicativo. O fluxo de vídeo é um arquivo de vídeo reproduzido com NetStream.play() ou null. Um arquivo de vídeo pode ser armazenado no sistema de arquivos local ou no Flash Media Server. Se o valor do argumento netStream for null, o vídeo não será mais reproduzido no objeto StageVideo.
Antes de chamar attachNetStream() pela segunda vez, chame o método close() do objeto NetStream anexado. Chamar close() libera todos os recursos, inclusive decodificadores de hardware envolvidos na reprodução do vídeo. Em seguida, você pode chamar attachNetStream() com outro objeto NetStream ou com null.
Você não precisar usar esse método se o arquivo de vídeo contiver apenas áudio; a parte de áudio dos arquivos de vídeo é reproduzida automaticamente quando você chama NetStream.play(). Para controlar o áudio associado a um arquivo de vídeo, use a propriedade soundTransform do objeto NetStream que reproduz o arquivo de vídeo.
Parâmetros
netStream:NetStream — Um objeto NetStream. Para desfazer a conexão com o objeto StageVideo, passe null.
|
renderState | Evento |
flash.events.StageVideoEventpropriedade StageVideoEvent.type =
flash.events.StageVideoEvent.RENDER_STATE| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 2.5, Flash Player 10.2 |
Emitido pelo objeto StageVideo quando o estado de renderização do objeto StageVideo é alterado.
A constanteStageVideoEvent.RENDER_STATE define o valor da propriedade type de um objeto de evento renderState.
Esse evento tem as seguintes propriedades:
| Propriedade | Valor |
|---|---|
bubbles | false |
cancelable | false; não há comportamento padrão a ser cancelado. |
colorSpace | Os espaços de cor disponíveis para exibição do vídeo. |
currentTarget | O objeto que está processando ativamente o objeto StageVideoEvent com um ouvinte de evento. |
status | Indica se o vídeo está sendo renderizado (decodificado e exibido) por hardware ou software, ou se a renderização não está acontecendo. |
target | O objeto StageVideo cujo estado foi alterado. |
Wed Jun 13 2018, 11:10 AM Z
Ocultar propriedades públicas herdadas
Mostrar propriedades públicas herdadas