Pacote | flash.media |
Classe | public class Video |
Herança | Video DisplayObject EventDispatcher Object |
Subclasses | VideoPlayer |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Quando usado com o Flash Media Server, o objeto Video permite enviar vídeo ao vivo capturado por um usuário para o servidor e depois transmiti-lo do servidor para outros usuários. Usando esses recursos, você pode desenvolver aplicativos de mídia, tais como um player de vídeo simples, um player de vídeo com publicação de múltiplos pontos de um servidor para outro, ou um aplicativo de compartilhamento de vídeo para uma comunidade de usuários.
O Flash Player 9 e posterior suporta a publicação e a reprodução de arquivos FLV codificados com o codec Sorenson Spark ou On2 VP6 e também suporta um canal alfa. O codex de vídeo On2 VP6 usa menos largura de banda do que as tecnologias mais antigas e oferece filtros adicionais de desbloqueio e deringing. Consulte a classe flash.net.NetStream para obter mais informações sobre a reprodução de vídeo e os formatos com suporte.
O Flash Player 9.0.115.0 e versões posteriores suportam mipmapping para otimizar a qualidade de renderização do tempo de execução. Para a reprodução de vídeo, o Flash Player usa a otimização do mapeamento mip se você definir a propriedade smoothing
do objeto Video como true
.
A partir do AIR 25, uma nova tag foi introduzida para Android no app.xml. Ela se chama disableMediaCodec.
Ao configurar essa tag como true
, o mediacodec é desativado e o vídeo é decodificado com o OpenMax AL. Caso contrário, mediacodec será ativado. Por padrão, o valor dessa tag é false
.
Como ocorre com outros objetos na lista de exibição, você pode controlar várias propriedades dos objetos Video. Por exemplo, é possível mover o objeto Video ao redor do Palco usando as propriedades x
e y
, alterar o tamanho usando as propriedades height
e width
, e assim por diante.
Para reproduzir um fluxo de vídeo, use attachCamera()
ou attachNetStream()
para anexar o vídeo ao objeto Video. Assim, adicione o objeto Video à lista de exibição usando addChild()
.
Se estiver usando a ferramenta de autoria do Flash Professional, você também poderá colocar o objeto Vídeo no Palco, em vez de acrescentá-lo com addChild()
, da seguinte forma:
- Se o painel Biblioteca não for visível, selecione Janela > Biblioteca para exibi-lo.
- Adicione um objeto Video incorporado à biblioteca clicando no menu Opções no lado direito da barra de títulos do painel Biblioteca e selecionando Novo vídeo.
- Na caixa de diálogo Propriedades de vídeo, nomeie o objeto Video incorporado para utilização na biblioteca e clique em OK.
- Arraste o objeto Video para o Palco e use o Inspetor de propriedades para lhe dar um nome de ocorrência exclusivo, como
my_video
. (Não o chame de Video.)
Em aplicativos AIR na área de trabalho, a reprodução de vídeo no modo de tela inteira desativa qualquer recurso de economia de energia ou proteção de tela (quando permitido pelo sistema operacional).
Observação: a classe Video não é uma subclasse da classe InteractiveObject, por isso não pode despachar os eventos de mouse. No entanto, você pode chamar o método addEventListener()
no container do objeto de exibição que contém o objeto Video.
Saiba mais
Elementos da API relacionados
attachNetStream()
flash.media.Camera.getCamera()
flash.net.NetConnection
flash.net.NetStream
flash.display.DisplayObjectContainer.addChild()
flash.display.Stage.addChild()
Propriedade | Definido por | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
As opções de acessibilidade atuais para este objeto de exibição. | DisplayObject | ||
alpha : Number
Indica o valor de transparência alfa do objeto especificado. | DisplayObject | ||
blendMode : String
Um valor a partir da classe BlendMode que especifica o modo de mesclagem a ser usado. | DisplayObject | ||
blendShader : Shader [somente gravação]
Define um shader usado para mesclar o primeiro plano e o segundo plano. | DisplayObject | ||
cacheAsBitmap : Boolean
Se definido como true, tempo de execução do Flash armazenará em cachê uma representação interna em bitmap do objeto de exibição. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Se não nulo, este objeto Matrix definirá como um objeto exibição será renderizado quando cacheAsBitmap for definido como verdadeiro. | DisplayObject | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
deblocking : int
Indica o tipo de filtro aplicado ao vídeo decodificado como parte do pós-processamento. | Video | ||
filters : Array
Uma matriz indexada que contém cada objeto de filtro atualmente associado ao objeto de exibição. | DisplayObject | ||
height : Number
Indica a altura do objeto de exibição, em pixels. | DisplayObject | ||
loaderInfo : LoaderInfo [somente leitura]
Retorna um objeto LoaderInfo contendo informações sobre o carregamento do arquivo ao qual esse objeto de exibição pertence. | DisplayObject | ||
mask : DisplayObject
O objeto de exibição de chamada é mascarado pelo objeto "mask" especificado. | DisplayObject | ||
metaData : Object
Obtém o objeto de metadados da instância DisplayObject se os metadados forem armazenados juntamente com a instância desse DisplayObject no arquivo SWF por uma marca PlaceObject4. | DisplayObject | ||
mouseX : Number [somente leitura]
Indica a coordenada x da posição do dispositivo do mouse ou de entrada do usuário, em pixels. | DisplayObject | ||
mouseY : Number [somente leitura]
Indica a coordenada y da posição do dispositivo do mouse ou de entrada do usuário, em pixels. | DisplayObject | ||
name : String
Indica o nome da ocorrência de DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Especifica se o objeto de exibição é opaco com uma certa cor de plano de fundo. | DisplayObject | ||
parent : DisplayObjectContainer [somente leitura]
Indica o objeto DisplayObjectContainer que contém esse objeto de exibição. | DisplayObject | ||
root : DisplayObject [somente leitura]
Para um objeto de exibição em um arquivo SWF carregado, a propriedade "root" é o objeto de exibição na extremidade superior, na parte da estrutura em árvore da lista de exibição representada por esse arquivo SWF. | DisplayObject | ||
rotation : Number
Indica o giro da ocorrência de DisplayObject, em graus, a partir da sua orientação original. | DisplayObject | ||
rotationX : Number
Indica a rotação do eixo x da ocorrência DisplayObject, em graus, a partir da sua orientação original referente ao contêiner 3D parent. | DisplayObject | ||
rotationY : Number
Indica a rotação do eixo y da ocorrência DisplayObject, em graus, a partir da sua orientação original referente ao contêiner 3D parent. | DisplayObject | ||
rotationZ : Number
Indica a rotação do eixo z da ocorrência DisplayObject, em graus, a partir da sua orientação original referente ao contêiner 3D parent. | DisplayObject | ||
scale9Grid : Rectangle
A grade de dimensionamento atual que está em vigor. | DisplayObject | ||
scaleX : Number
Indica a escala horizontal (porcentagem) do objeto aplicada a partir do ponto de registro. | DisplayObject | ||
scaleY : Number
Indica a escala vertical (porcentagem) de um objeto aplicada a partir do ponto de registro desse objeto. | DisplayObject | ||
scaleZ : Number
Indica a escala de profundidade (porcentagem) de um objeto aplicada a partir do ponto de registro desse objeto. | DisplayObject | ||
scrollRect : Rectangle
Os limites do retângulo de rolagem do objeto de exibição. | DisplayObject | ||
smoothing : Boolean
Especifica se o vídeo deve ser suavizado (interpolado) ao ser dimensionado. | Video | ||
stage : Stage [somente leitura]
O Palco do objeto de exibição. | DisplayObject | ||
transform : flash.geom:Transform
Um objeto com propriedades relacionadas aos limites de pixels, matriz e transformação de cores de um objeto de exibição. | DisplayObject | ||
videoHeight : int [somente leitura]
Um número inteiro que especifica a altura do fluxo de vídeo, em pixels. | Video | ||
videoWidth : int [somente leitura]
Um número inteiro que especifica a largura do fluxo de vídeo, em pixels. | Video | ||
visible : Boolean
Se o objeto de exibição está ou não visível. | DisplayObject | ||
width : Number
Indica a largura do objeto de exibição, em pixels. | DisplayObject | ||
x : Number
Indica a coordenada x da ocorrência de DisplayObject com relação às coordenadas locais do DisplayObjectContainer-pai. | DisplayObject | ||
y : Number
Indica a coordenada y da ocorrência de DisplayObject com relação às coordenadas locais do DisplayObjectContainer-pai. | DisplayObject | ||
z : Number
Indica a posição da coordenada z ao longo do eixo z da ocorrência DisplayObject em relação ao contêiner 3D pai. | DisplayObject |
Método | Definido por | ||
---|---|---|---|
Cria uma nova ocorrência de Video. | Video | ||
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 a partir de uma câmera a ser exibido dentro dos limites do objeto Video no aplicativo. | Video | ||
Especifica um fluxo de vídeo a ser exibido dentro dos limites do objeto Video no aplicativo. | Video | ||
Apaga a imagem atualmente exibida no objeto Video (não o fluxo de vídeo). | Video | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Retorna um retângulo que define a área do objeto de exibição com relação ao sistema de coordenadas do objeto targetCoordinateSpace. | DisplayObject | ||
Retorna um retângulo que define o limite do objeto de exibição, com base no sistema de coordenadas definido pelo parâmetro espaçoCoordenadasDestino, excluindo quaisquer traçados em formas. | DisplayObject | ||
Converte o objeto de ponto a partir de coordenadas de Palco (globais) em coordenadas do objeto de exibição (locais). | DisplayObject | ||
Converte um ponto bidimensional das coordenadas do Palco (globais) em coordenadas do objeto de exibição tridimensional (locais). | DisplayObject | ||
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 | ||
Avalia a caixa delimitadora do objeto de exibição para ver se ela sobrepõe ou faz interseção com a caixa delimitadora do objeto de exibição obj. | DisplayObject | ||
Avalia o objeto de exibição para ver se ele sobrepõe ou faz interseção com o ponto especificado pelos parâmetros x e y. | DisplayObject | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Converte um ponto tridimensional das coordenadas (locais) do objeto de exibição tridimensional em ponto bidimensional das coordenadas (globais) do Palco. | DisplayObject | ||
Converte o objeto de ponto a partir das coordenadas do objeto de exibição (locais) em coordenadas do Palco (globais). | DisplayObject | ||
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 |
deblocking | propriedade |
deblocking:int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica o tipo de filtro aplicado ao vídeo decodificado como parte do pós-processamento. O valor padrão é 0, que permite que o compressor do vídeo aplique um filtro de desbloqueio, conforme necessário.
A compressão do vídeo pode resultar em artefatos indesejados. Você pode usar a propriedade deblocking
para definir os filtros que reduzem o bloqueio e, nos vídeos compactados com o codec On2, realizar pico.
O Blocking se refere às imperfeições visíveis entre os limites dos blocos que compõem cada quadro do vídeo. O Ringing se refere às bordas distorcidas ao redor dos elementos em uma imagem de vídeo.
Há dois filtros de desbloqueio disponíveis: um no coded Sorenson e um no coded On2 VP6. Além disso, há disponível um filtro de deringing quando você usa o coded On2 VP6. Para configurar um filtro, use um dos seguintes valores:
- 0 – Permite que o compressor de vídeo aplique o filtro de desbloqueio conforme necessário.
- 1 – Não usa um filtro de desbloqueio.
- 2 – Usa o filtro de desbloqueio Sorenson.
- 3 – Apenas para o vídeo On2, usa o filtro de desbloqueio On2, mas nenhum filtro de deringing.
- 4 – Apenas para o vídeo On2, usa o filtro de desbloqueio On2 e o filtro de deringing.
- 5 – Apenas para o vídeo On2, usa o filtro de desbloqueio On2 e um filtro de deringing On2 de maior desempenho.
Se for selecionado um valor maior do que 2 para o vídeo quando você estiver usando o codec Sorenson, o decodificador Sorenson será configurado em 2 como padrão.
O uso de um filtro de desbloqueio tem um efeito sobre o desempenho de reprodução geral, e, em geral, não é necessário para o vídeo de alta largura de banda. Caso o sistema do usuário não seja poderoso o suficiente, ele pode ter dificuldades para reproduzir o vídeo com um filtro de desbloqueio ativado.
Implementação
public function get deblocking():int
public function set deblocking(value:int):void
smoothing | propriedade |
smoothing:Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica se o vídeo deve ser suavizado (interpolado) ao ser dimensionado. Para que a suavização funcione, o tempo de execução deve estar em modo de alta qualidade(o padrão). O valor padrão é false
(sem suavização).
Para reproduzir vídeo com o Flash Player 9.0.115.0 e versões posteriores, defina essa propriedade como true
para aproveitar a otimização de imagem mipmapping.
Implementação
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
videoHeight | propriedade |
videoHeight:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Um inteiro que especifica a altura do fluxo de vídeo, em pixels. Para fluxos ao vivo, esse valor é igual à propriedade Camera.height
do objeto Camera que está capturando o fluxo de vídeo. Para arquivos de vídeo gravados, este valor é a altura do vídeo. O evento NetStream.Video.DimensionChange é enviado em caso de vídeos registrados quando este valor é alterado.
Talvez você queira usar essa propriedade, por exemplo, para garantir que o usuário esteja vendo o vídeo com o mesmo tamanho em que foi capturado, independentemente do tamanho real do objeto Video no Palco.
Implementação
public function get videoHeight():int
Elementos da API relacionados
videoWidth | propriedade |
videoWidth:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Um inteiro que especifica a largura do fluxo de vídeo, em pixels. Para fluxos ao vivo, esse valor é igual à propriedade Camera.width
do objeto Camera que está capturando o fluxo de vídeo. Para arquivos de vídeo gravados, este valor é a largura do vídeo. O evento NetStream.Video.DimensionChange é enviado em caso de vídeos registrados quando este valor é alterado.
Talvez você queira usar essa propriedade, por exemplo, para garantir que o usuário esteja vendo o vídeo com o mesmo tamanho em que foi capturado, independentemente do tamanho real do objeto Video no Palco.
Implementação
public function get videoWidth():int
Elementos da API relacionados
Video | () | Construtor |
public function Video(width:int = 320, height:int = 240)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria uma nova ocorrência de Video. Caso não sejam fornecidos valores para os parâmetros width
e height
, são usados os valores padrão. Você também pode definir as propriedades de largura e altura do objeto Video depois da construção inicial, usando Video.width
e Video.height
. Quando é criado um novo objeto Video, os valores de zero para largura e altura não são permitidos; se você passar zero, serão aplicados os padrões.
Depois de criar o Video, chame o método DisplayObjectContainer.addChild()
ou DisplayObjectContainer.addChildAt()
para adicionar o objeto Video a um objeto DisplayObjectContainer pai.
width:int (default = 320 ) — A largura do vídeo, em pixels.
| |
height:int (default = 240 ) — A altura do vídeo, em pixels.
|
Exemplo ( Como usar este exemplo )
var MyVideo:Video = new Video(); addChild(MyVideo); var MyNC:NetConnection = new NetConnection(); MyNC.connect(null); var MyNS:NetStream = new NetStream(MyNC); MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv"); MyVideo.attachNetStream(MyNS); //the clouds.flv video has metadata we're not using, so create //an error handler to ignore the message generated by the runtime //about the metadata MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); function asyncErrorHandler(event:AsyncErrorEvent):void { //ignore metadata error message }
attachCamera | () | método |
public function attachCamera(camera:Camera):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Especifica um fluxo de vídeo a partir de uma câmera a ser exibido dentro dos limites do objeto Video no aplicativo.
Use este método para anexar o vídeo ao vivo capturado pelo usuário ao objeto Video. Você pode reproduzir o vídeo ao vivo localmente no mesmo computador ou dispositivo em que ele está sendo capturado, ou pode enviá-lo ao Flash Media Server e usar o servidor para canalizá-los para outros usuários.
Nota: em um aplicativo AIR iOS, o vídeo de câmera não pode ser exibido quando o aplicativo usa o modo de renderização de GPU.
Parâmetros
camera:Camera — Um objeto Camera que está capturando dados de vídeo. Para arrastar a conexão para o objeto Video, transmita null .
|
Elementos da API relacionados
Exemplo
Como usar este exemplo
Consulte o exemplo do método Camera.getCamera() para ver uma ilustração de como usar esse método.
attachNetStream | () | método |
public function attachNetStream(netStream:NetStream):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica um fluxo de vídeo a ser exibido dentro dos limites do objeto Video no aplicativo. O fluxo de vídeo é um arquivo de vídeo reproduzido com NetStream.play()
, com um objeto Camera ou com null
. Se você usar um arquivo de vídeo, ele 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 Video.
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 arrastar a conexão para o objeto Video, transmita null .
|
Elementos da API relacionados
clear | () | método |
public function clear():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Apaga a imagem atualmente exibida no objeto Video (não o fluxo de vídeo). Este método é útil para manipular a imagem atual. Por exemplo, você pode apagar a última imagem ou visualizar as informações no modo de espera, sem precisar ocultar o objeto Video.
Elementos da API relacionados
videoURL
; nesse caso, um arquivo FLV chamado Video.flx que se encontra no mesmo diretório que o arquivo SWF.
Nesse exemplo, o código que cria os objetos Video e NetStream e chama Video.attachNetStream()
e NetStream.play()
é colocado em uma função de manipulador. O manipulador é chamado apenas se a tentativa de se conectar a um objeto NetConnection for bem-sucedida, e isso se dá quando o evento netStatus
retornar um objeto info com uma propriedade code
que indica sucesso. Recomenda-se aguardar uma conexão bem-sucedida antes de chamar NetStream.play()
.
package { import flash.display.Sprite; import flash.events.*; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; public class VideoExample extends Sprite { private var videoURL:String = "Video.flv"; private var connection:NetConnection; private var stream:NetStream; public function VideoExample() { connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.connect(null); } private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": connectStream(); break; case "NetStream.Play.StreamNotFound": trace("Unable to locate video: " + videoURL); break; } } private function connectStream():void { stream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); var video:Video = new Video(); video.attachNetStream(stream); stream.play(videoURL); addChild(video); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function asyncErrorHandler(event:AsyncErrorEvent):void { // ignore AsyncErrorEvent events. } } }
Wed Jun 13 2018, 11:10 AM Z