Referência do ActionScript® 3.0 para Adobe® Flash® Platform
Início  |  Ocultar listas de Pacotes e Classes |  Pacotes  |  Classes  |  Novidades  |  Índice  |  Apêndices  |  Por que inglês?
Filtros: AIR 30.0 e anterior, Flash Player 30.0 e anterior, Flash Lite 4
Flex 4.6 e anterior, Flash Pro CS6 e anterior
Ocultar filtros
flash.net 

NetStream  - AS3

Pacotesx

Nível superior
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementos de linguagem

Constantes globais
Funções globais
Operadores
Instruções, palavras-chave e diretivas
Tipos especiais

Apêndices

Novidades
Erros do compilador
Avisos do compilador
Erros de runtime
Migrando para o ActionScript 3
Conjuntos de caracteres suportados
Tags MXML apenas
Elementos XML de movimento
Marcas de texto cronometradas
Lista de elementos deprecados
Constantes de Implementação de Acessibilidade
Como Usar Exemplos do ActionScript
Aspectos jurídicos
Pacoteflash.net
Classepublic class NetStream
HerançaNetStream Inheritance EventDispatcher Inheritance Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

A classe NetStream abre um canal de fluxo de uma via sobre uma NetConnection.

Use a classe NetStream para fazer o seguinte:

  • Chame NetStream.play() para reproduzir um arquivo de mídia a partir de um disco local, de um servidor web ou do Flash Media Server.
  • Chame NetStream.publish() para publicar vídeo, áudio e fluxo de dados para o Flash Media Server.
  • Chame NetStream.send() para enviar mensagens a todos os clientes assinantes.
  • Chame NetStream.send() para adicionar metadados a um fluxo ao vivo.
  • Chame NetStream.appendBytes() para enviar dados ByteArray para o NetStream.

Nota: você não pode reproduzir e publicar um fluxo contínuo no mesmo objeto NetStream.

O Adobe AIR e o Flash Player 9.0.115.0 e versões posteriores dão suporte a arquivos derivados do formato de contêiner MPEG-4 padrão. Esses arquivos incluirão F4V, MP4, M4A, MOV, MP4V, 3GP e 3G2 se contiverem vídeo H.264 ou áudio codificado em HEAAC v2 ou ambos. O H.264 apresenta um vídeo de qualidade superior com taxas de bits inferior se comparadas com o mesmo perfil de codificação no Sorenson ou On2. AAC é um formato de áudio padrão definido no padrão de vídeo MPEG-4. HE-AAC v2 é uma extensão que usa as técnicas SBR (Spectral Band Replication) e PS (Parametric Stereo) para aumentar a eficiência da codificação em taxas de bits baixas.

Para obter mais informações sobre codecs e formatos de arquivos suportados, consulte o seguinte:

Recepção de dados de uma corrente de Flash Media Server, arquivo F4V progressivo, ou arquivo FLV progressivo

O Flash Media Server, os arquivos F4V e os arquivos FLV podem enviar objetos de evento que contêm dados em pontos de dados específicos durante o fluxo contínuo ou a reprodução. Você pode manipular dados de um fluxo ou arquivo FLV durante a reprodução de duas formas:

  • Para receber o objeto de dados, associe uma propriedade client a um manipulador de eventos. Use a propriedade NetStream.client para atribuir um objeto e chamar funções de manipulação de dados específicas. O objeto atribuído à propriedade NetStream.client pode ouvir os seguintes pontos de dados: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() e onXMPData(). Escreva os procedimentos nessas funções para manipular o objeto de dados retornado do fluxo durante a reprodução. Consulte a propriedade NetStream.client para obter mais informações.
  • Associe uma propriedade client a uma subclasse da classe NetStream e escreva um manipulador de eventos para receber o objeto de dados. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Contudo, você pode criar uma subclasse do NetStream e definir seu manipulador de eventos na subclasse. Você também pode tornar a subclasse dinâmica e adicionar o manipulador de eventos a uma instância da subclasse.

Espere até receber um evento NetGroup.Neighbor.Connect para usar a replicação do objeto, o roteamento direto ou as APIs de postagem.

Observação: Para enviar dados por meio de um arquivo de áudio, como um arquivo MP3, use a classe Sound para associar o arquivo de áudio a um objeto Sound. Em seguida, use a propriedade Sound.id3 para ler metadados do arquivo de som.

Suporte para vídeo codificado H.264 no AIR para iOS

Para vídeos H.264, o AIR 3.0 (e versões posteriores) para iOS suporta um subconjunto da API de NetStream completa. A seguinte tabela enumera membros de NetStream para a reprodução que não são suportadas no AIR para iOS:

Propriedades não suportadasMétodos não suportadosEventos não suportados
bufferTimeappendBytes()onCuePoint (funciona somente com arquivos FLV)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelaycódigo de evento de status de DRM.encryptedFLV
maxPauseBufferTime
soundTransform
Todas as propriedades que descrevem conexões de RTMFP

Para obter mais informações sobre a utilização do AIR para iOS, consulte o método NetStream.play().

Veja os exemplos

Elementos da API relacionados



Propriedades públicas
 PropriedadeDefinido por
  audioReliable : Boolean
Para conexões RTMFP, especifica se o áudio é despachado com total confiança.
NetStream
  audioSampleAccess : Boolean
Para conexões RTMFP, especifica se os assinantes pontos a ponto neste NetStream têm autorização para capturar o fluxo contínuo de áudio.
NetStream
  backBufferLength : Number
[somente leitura] O número de segundos de dados anteriormente exibidos armazenados em cache atualmente para rebobinação e reprodução.
NetStream
  backBufferTime : Number
Especifica quantos dados exibidos anteriormente o Flash Player tenta armazenar em cache para voltar e reproduzir, em segundos.
NetStream
  bufferLength : Number
[somente leitura] O número de segundos de dados atualmente no buffer.
NetStream
  bufferTime : Number
Especifica por quanto tempo armazenar em buffer as mensagens antes de iniciar a exibição do fluxo.
NetStream
  bufferTimeMax : Number
Especifica um comprimento máximo de buffers para o fluxo ao vivo do conteúdo, em segundos.
NetStream
  bytesLoaded : uint
[somente leitura] O número de bytes de dados que foram carregados no aplicativo.
NetStream
  bytesTotal : uint
[somente leitura] O tamanho total em bytes do arquivo que está sendo carregado no aplicativo.
NetStream
  checkPolicyFile : Boolean
Especifica se o aplicativo deve tentar baixar um arquivo de política entre domínios a partir do servidor do arquivo de vídeo carregado antes de começar a carregar esse arquivo de vídeo.
NetStream
  client : Object
Especifica o objeto no qual os métodos de retorno de chamada são invocados para manipular o fluxo contínuo ou os dados do arquivo F4V/FLV.
NetStream
 Inheritedconstructor : 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] O número de quadros por segundo que estão sendo exibidos.
NetStream
  dataReliable : Boolean
Para conexões RTMFP, especifica se chamadas NetStream.send() são enviadas com total confiança.
NetStream
  farID : String
[somente leitura] Para conexões RTMFP, o identificador da extremidade oposta conectada que está conectado a esta instância do NetStream.
NetStream
  farNonce : String
[somente leitura] Para conexões RTMFP e RTMPE, um valor escolhido substancialmente pela outra extremidade deste fluxo contínuo, exclusivo desta conexão.
NetStream
  inBufferSeek : Boolean
Especifica se os dados exibidos são armazenados em cache para a busca inteligente (TRUE), ou não (FALSE).
NetStream
  info : NetStreamInfo
[somente leitura] Retorna um objeto NetStreamInfo cujas propriedades contêm estatísticas sobre a qualidade de serviço.
NetStream
  liveDelay : Number
[somente leitura] O número de segundos de dados no buffer do fluxo de assinatura no modo ao vivo (sem buffer).
NetStream
  maxPauseBufferTime : Number
Especifica por quanto tempo armazenar mensagens em buffer durante o modo de pausa, em segundos.
NetStream
  multicastAvailabilitySendToAll : Boolean
Para conexões RTMFP, especifica se as mensagens de disponibilidade de fragmentos multicast ponto a ponto são enviadas a todos os pares ou apenas a um par.
NetStream
  multicastAvailabilityUpdatePeriod : Number
Para conexões RTMFP, especifica o intervalo em segundos entre mensagens enviadas a pares que os informam que o nó local tem novos fragmentos de mídia multicast ponto a ponto disponíveis.
NetStream
  multicastFetchPeriod : Number
Para conexões RTMFP, especifica a hora, em segundos, entre o momento em que o nó local reconhece pela primeira vez que um fragmento de mídia multicast ponto a ponto está disponível e o momento em que ele tenta obtê-lo de um item de mesmo nível.
NetStream
  multicastInfo : NetStreamMulticastInfo
[somente leitura] Para conexões RTMFP, retorna um objeto NetStreamMulticastInfo cujas propriedades contêm a estatística sobre a qualidade do serviço.
NetStream
  multicastPushNeighborLimit : Number
Para conexões RTMFP, especifica o número máximo de itens do mesmo nível aos quais adicionar proativamente a mídia multicast.
NetStream
  multicastRelayMarginDuration : Number
Para conexões RTMFP, especifica a duração em segundos que os dados multicast ponto a ponto permanecem disponíveis para enviar aos itens do mesmo nível que o solicitam, além de uma duração especificada.
NetStream
  multicastWindowDuration : Number
Para conexões RTMFP, especifica a duração em segundos da janela de remontagem de multicast ponto a ponto.
NetStream
  nearNonce : String
[somente leitura] Para conexões RTMFP e RTMPE, um valor escolhido substancialmente nesta extremidade do fluxo contínuo, exclusivo desta conexão.
NetStream
  objectEncoding : uint
[somente leitura] A codificação de objeto (versão AMF) para este objeto NetStream.
NetStream
  peerStreams : Array
[somente leitura] Um objeto que mantém todas as ocorrências de NetStream de assinatura que ouvem essa ocorrência de NetStream de publicação.
NetStream
  soundTransform : flash.media:SoundTransform
Controla o som neste objeto NetStream.
NetStream
  time : Number
[somente leitura] A posição do indicador de reprodução, em segundos.
NetStream
  useHardwareDecoder : Boolean
Especifica se deverá utilizar a decodificação acelerada de hardware no fluxo.
NetStream
  useJitterBuffer : Boolean
Minimize a latência para fluxo ao vivo sem buffer (bufferTime = 0).
NetStream
  videoReliable : Boolean
Para conexões RTMFP, especifica se o vídeo é despachado com total confiança.
NetStream
  videoSampleAccess : Boolean
Para conexões RTMFP, especifica se os assinantes ponto a ponto neste NetStream têm autorização para capturar o fluxo contínuo de vídeo.
NetStream
  videoStreamSettings : VideoStreamSettings
Especifica as propriedades de compactação do fluxo
NetStream
Métodos públicos
 MétodoDefinido por
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Cria um fluxo que você pode usar para reproduzir arquivos de mídia e enviar dados por um objeto NetConnection.
NetStream
 Inherited
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
  
Transmite uma ByteArray para um NetStream para executar uma reprodução.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Indica uma descontinuidade de escala de tempo, limpa o FIFO e instrui o analisador de bytes a esperar o cabeçalho do arquivo ou o início de uma marca FLV.
NetStream
  
Anexa um fluxo contínuo a um novo objeto NetConnection.
NetStream
  
Anexa um fluxo de áudio a um objeto NetStream a partir de um objeto Microphone transmitido como a origem.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Inicia a captura de vídeo a partir da câmera ou para a captura quando theCamera está definido como "null".
NetStream
  
Para a reprodução de todos os dados no fluxo, define a propriedade "time" como 0 e disponibiliza o fluxo para outro uso.
NetStream
 Inherited
Envia um evento para o fluxo de eventos.
EventDispatcher
  
As versões de todos os recursos são mantidas pelo objeto NetStream.
NetStream
 Inherited
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento.
EventDispatcher
 Inherited
Indica se um objeto tem uma propriedade especificada definida.
Object
 Inherited
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro.
Object
  
Chamado sempre que um fluxo de publicação de mesmo nível corresponder a um fluxo de assinatura de mesmo nível.
NetStream
  
Pausa a reprodução de um fluxo de vídeo.
NetStream
  
play(... arguments):void
Reproduz um arquivo de mídia a partir de um diretório local ou de um servidor web; executa um arquivo de mídia ou um fluxo ao vivo a partir do Flash Media Server.
NetStream
  
Alterna perfeitamente entre arquivos com diversas taxas de bits e permite que um NetStream retome quando uma conexão é perdida e reconectada.
NetStream
  
Extrai os metadados DRM de um arquivo de mídia armazenado localmente.
NetStream
 Inherited
Indica se a propriedade especificada existe e é enumerável.
Object
  
publish(name:String = null, type:String = null):void
Envia fluxo contínuo de áudio, vídeo e mensagens de texto de um cliente para o Flash Media Server, opcionalmente gravando o fluxo contínuo durante a transmissão.
NetStream
  
Especifica se o áudio de entrada é reproduzido no fluxo.
NetStream
  
Especifica se o vídeo recebido é reproduzido no fluxo.
NetStream
  
Especifica a taxa de quadros do vídeo recebido.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Remove um ouvinte do objeto EventDispatcher.
EventDispatcher
  
[estático] Em aplicativos AIR, isso exclui todos os dados do comprovante do gerenciamento de direitos digitais (DRM) armazenados localmente.
NetStream
  
Reinicia a reprodução de um fluxo de vídeo pausado.
NetStream
  
seek(offset:Number):void
Busca o quadro-chave (também chamado de quadro em I na indústria de vídeo) mais próximo à localização especificada.
NetStream
  
send(handlerName:String, ... arguments):void
Envia uma mensagem em um fluxo publicado a todos os clientes assinantes.
NetStream
  
Define as credenciais de autenticação DRM necessárias para visualização do conteúdo
NetStream
 Inherited
Define a disponibilidade de uma propriedade dinâmica para operações de repetição.
Object
  
step(frames:int):void
As etapas avançam ou voltam o número especificado de quadros, relativo ao quadro atualmente exibido.
NetStream
  
Pausa ou reinicia a reprodução de um fluxo.
NetStream
 Inherited
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade.
Object
 Inherited
Retorna a representação de string do objeto especificado.
Object
 Inherited
Retorna o valor primitivo do objeto especificado.
Object
 Inherited
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
Eventos
 Evento Resumo Definido por
 Inherited[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 exceção é lançada assincronamente – ou seja, a partir do código assíncrono nativo.NetStream
 Inherited[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
  Despachado quando um objeto NetStream tenta executar um conteúdo criptografado de gerenciamento digital dos direitos (DRM) que necessita de uma credencial de usuário antes de sua execução.NetStream
  Despachado quando um objeto NetStream encontra um erro relacionado ao DRM ao tentar executar o arquivo criptografado de gerenciamento digital dos direitos (DRM).NetStream
  Despachado quando o conteúdo DRM (digital rights management - gerenciamento digital dos direitos) criptografado inicia a execução (quando o usuário for autenticado e autorizado a executar o conteúdo).NetStream
  Despachado quando ocorre um erro de entrada ou saída que resulta na falha de uma operação de rede.NetStream
  Despachado ao reproduzir conteúdo de vídeo e quando certos tipos de mensagens são processados.NetStream
  Despachado quando um objeto NetStream está relatando seu status ou uma condição de erro.NetStream
  Estabelece um ouvinte de resposta quando se chega a um ponto de sinalização incorporado durante a reprodução de um arquivo de vídeo.NetStream
  Estabelece um ouvinte para responder quando o AIR extrai metadados de conteúdo DRM incorporados a um arquivo de mídia.NetStream
  Estabelece um ouvinte de resposta quando o Flash Player recebe dados de imagem como uma matriz de bytes incorporada em um arquivo de mídia em reprodução.NetStream
  Estabelece um ouvinte de resposta quando o Flash Player recebe informações descritivas incorporadas ao vídeo em reprodução.NetStream
  Estabelece um ouvinte de resposta quando um objeto NetStream reproduziu um fluxo na íntegra.NetStream
  Invocado sincronicamente de appendBytes() quando o analisador de anexação de bytes encontra um ponto que acredita ser um ponto passível de busca (por exemplo, um quadro-chave de vídeo).NetStream
  Estabelece um ouvinte de resposta quando o Flash Player recebe dados de texto incorporados em um arquivo de mídia em reprodução.NetStream
  Estabelece um ouvinte para responder quando o Flash Player recebe informações específicas do Adobe Extensible Metadata Platform (XMP) incorporadas ao vídeo que está sendo reproduzido.NetStream
  Despachado quando o aplicativo tenta executar o conteúdo criptografado com gerenciamento digital dos direitos (DRM), invocando o método NetStream.play().NetStream
Constantes públicas
 ConstanteDefinido por
  CONNECT_TO_FMS : String = "connectToFMS"
[estático] Um objeto estático usado como um parâmetro para o construtor de uma ocorrência de NetStream.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[estático] Cria uma conexão ponto a ponto com o editor.
NetStream
Detalhes da propriedade

audioReliable

propriedade
audioReliable:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica se o áudio é despachado com total confiança. Quando TRUE, todo o áudio transmitido por meio deste NetStream é totalmente confiável. Quando FALSE, o áudio transmitido não é totalmente confiável, mas em vez disso é retransmitido por um tempo limitado e depois cancelado. Você pode usar o valor FALSE para reduzir a latência em detrimento da qualidade do áudio.

Se você tentar estabelecer esta propriedade como FALSE em um protocolo de rede que não suporta a confiança parcial, a tentativa é ignorada e a propriedade é definida como TRUE.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get audioReliable():Boolean
    public function set audioReliable(value:Boolean):void

Elementos da API relacionados

audioSampleAccess

propriedade 
audioSampleAccess:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica se os assinantes pontos a ponto neste NetStream têm autorização para capturar o fluxo contínuo de áudio. Quando FALSE, as tentativas de o assinante capturar os fluxos contínuos de áudio mostra erros de permissão.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get audioSampleAccess():Boolean
    public function set audioSampleAccess(value:Boolean):void

Elementos da API relacionados

backBufferLength

propriedade 
backBufferLength:Number  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

O número de segundos de dados anteriormente exibidos armazenados em cache atualmente para rebobinação e reprodução.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Esta propriedade está disponível apenas quando os dados estiverem sendo despachados em fluxo contínuo do Flash Media Server 3.5.3 ou posterior. Para obter mais informações sobre o Flash Media Server, consulte a descrição da classe.

Para especificar o quanto dos dados anteriormente exibidos está armazenado em cache, use a propriedade Netstream.backBufferTime.

Para impedir dados de serem armazenados em cache, defina a propriedade Netstream.inBufferSeek como FALSE.



Implementação
    public function get backBufferLength():Number

Elementos da API relacionados

backBufferTime

propriedade 
backBufferTime:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Especifica quantos dados exibidos anteriormente o Flash Player tenta armazenar em cache para voltar e reproduzir, em segundos. O valor padrão é 30 segundos para aplicativos de desktop e três segundos para aplicativos móveis.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Esta propriedade está disponível apenas quando os dados estiverem sendo despachados em fluxo contínuo do Flash Media Server 3.5.3 ou posterior. Para obter mais informações sobre o Flash Media Server, consulte a descrição da classe.

A utilização desta propriedade melhora o desempenho de operações de rebobinagem, uma vez que os dados que já foram exibidos não são recuperados do servidor novamente. Em vez disso, o fluxo contínuo começa a reproduzir novamente do buffer. Durante a reprodução, os dados continuam com o fluxo contínuo do servidor até que o buffer esteja cheio.

Se a posição de rebobinagem for anterior ao armazenamento dos dados no cache, o buffer é descarregado; os dados, então, iniciam o fluxo contínuo do servidor na posição solicitada.

Para usar esta propriedades, defina a propriedade Netstream.inBufferSeek como TRUE.



Implementação
    public function get backBufferTime():Number
    public function set backBufferTime(value:Number):void

Elementos da API relacionados

bufferLength

propriedade 
bufferLength:Number  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

O número de segundos de dados atualmente no buffer. Você pode usar essa propriedade com a propriedade bufferTime para estimar o quão lotado está o buffer - por exemplo, para exibir feedback a um usuário que está aguardando o carregamento de dados no buffer.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get bufferLength():Number

Elementos da API relacionados

bufferTime

propriedade 
bufferTime:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Especifica por quanto tempo armazenar em buffer as mensagens antes de iniciar a exibição do fluxo.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.

O valor padrão é 0,1 (um décimo de segundo). Para determinar o número de segundos atualmente no buffer, use a propriedade bufferLength.

Para reproduzir uma lista de reprodução no lado do servidor, defina bufferTime como pelo menos 1 segundo. Se você experimenta questões de reprodução, aumenta o comprimento de bufferTime.

Conteúdo gravado Para evitar distorção ao fazer streaming de um conteúdo pré-gravado (não ao vivo), não defina o valor de Netstream.bufferTime como 0. Por padrão, o aplicativo usa um buffer de entrada para conteúdo pré-gravado que coloca em fila os dados de mídia e reproduz essa mídia corretamente. Para conteúdo pré-gravado, use a configuração padrão ou aumente o tempo de buffer.

Conteúdo ao vivo Ao fazer streaming de conteúdo ao vivo, defina a propriedade bufferTime como 0.

Ao começar com o Flash Player 9.0.115.0, o Flash Player não limpa mais o buffer quando o NetStream.pause() é chamado. Antes do Flash Player 9.0.115.0, o Flash Player aguardava o preenchimento do buffer antes de reiniciar a reprodução, o que normalmente causava um atraso.

Para uma única pausa, a propriedade NetStream.bufferLength tem um limite de 60 segundos ou duas vezes o valor de NetStream.bufferTime, que é superior independentemente do valor que seja. Por exemplo, se o bufferTime for de 20 segundos, o Flash Player armazenará em buffer até que o valor de NetStream.bufferLength seja superior ao valor de 20*2 (40) ou 60. Neste caso, armazenará em buffer até que bufferLength seja 60. Se o bufferTime for de 40 segundos, o Flash Player armazenará em buffer até que o valor de bufferLength seja superior a 40*2 (80) ou 60. Neste caso, armazenará em buffer até que o valor de bufferLength seja 80 segundos.

A propriedade bufferLength também possui um limite absoluto. Se qualquer chamada para pause() fizer com que o valor de bufferLength aumente para mais de 600 segundos ou o valor de bufferTime * 2, sendo superior independentemente de qual seja, o Flash Player esvaziará o buffer e redefinirá bufferLength para 0. Por exemplo, se bufferTime for 120 seconds, o Flash Player esvaziará o buffer se o valor de bufferLength atingir 600 segundos. Se bufferTime for 360 segundos, o Flash Player esvaziará o buffer se bufferLength atingir 720 segundos.

Dica: você pode usar NetStream.pause() em código para armazenar os dados em buffer enquanto os visualizadores observam um comercial, por exemplo, e depois soltam o pause no início do vídeo principal.

Para obter informações sobre o novo comportamento de pausa, consulte http://www.adobe.com/go/learn_fms_smartpause_br.

Flash Media Server. O comportamento do buffer depende de o tempo de buffer estar definido em um fluxo de publicação ou em um fluxo de inscrição. Para um fluxo de publicação, bufferTime especifica por quanto tempo o buffer de saída pode crescer antes que o aplicativo comece a eliminar quadros. Em uma conexão de alta velocidade, o tempo de buffer não é de grande importância; os dados serão despachados quase tão rapidamente quanto o aplicativo for capaz de armazená-los em buffer. Entretanto, em uma conexão lenta, pode haver uma diferença significativa entre a velocidade com a qual o aplicativo armazena os dados em buffer e a velocidade com que esses dados podem ser despachados ao cliente.

Para um fluxo de inscrição, bufferTime especifica por quanto tempo armazenar os dados de entrada em buffer antes de começar a exibir o fluxo.

Quando um fluxo gravado for reproduzido, se bufferTime for 0, o Flash o definirá como um valor pequeno (cerca de 10 milésimos de segundo). Se fluxos ao vivo forem reproduzidos posteriormente (por exemplo, a partir de uma lista de reprodução), esse tempo de buffer persistirá. Ou seja, bufferTime permanecerá diferente de zero para o fluxo.



Implementação
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Elementos da API relacionados

bufferTimeMax

propriedade 
bufferTimeMax:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Especifica um comprimento máximo de buffers para o fluxo ao vivo do conteúdo, em segundos. O valor padrão é 0. O comprimento de buffers pode aumentar dentro de algum tempo devido a problemas de rede e dispositivo (como clock drift entre remetente e receptor). Defina esta propriedade para corrigir o comprimento de buffers de aplicativos ao vivo, como reuniões e vigilância.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Quando bufferTimeMax > 0 e bufferLength >= bufferTimeMax, o áudio é executado com mais rapidez até bufferLength atingir bufferTime. Se um fluxo ao vivo for somente de vídeo, o vídeo será reproduzido mais rapidamente até que bufferLength alcance bufferTime.

Dependendo de quanto a reprodução está atrasando (a diferença entre bufferLength e bufferTime), o Flash Player controla a taxa de sincronia entre 1,5 % e 6,25 %. Se o fluxo contiver o áudio, a reprodução mais rápida é obtida pela redução da qualidade do domínio de frequência que minimiza a distorção audível.

Defina a propriedade bufferTimeMax para habilitar a captura de fluxo contínuo armazenado em buffer nos seguintes casos:

  • Enviar fluxo contínuo de mídia ao vídeo do Flash Media Server.
  • Enviar fluxo contínuo de mídia ao vivo no Modo de Geração de Dados (NetStream.appendBytes()).



Implementação
    public function get bufferTimeMax():Number
    public function set bufferTimeMax(value:Number):void

Elementos da API relacionados

bytesLoaded

propriedade 
bytesLoaded:uint  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

O número de bytes de dados que foram carregados no aplicativo. Você pode usar essa propriedade com a propriedade bytesTotal para estimar o quão lotado está o buffer - por exemplo, para exibir feedback a um usuário que está aguardando o carregamento de dados no buffer.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get bytesLoaded():uint

Elementos da API relacionados

bytesTotal

propriedade 
bytesTotal:uint  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

O tamanho total em bytes do arquivo que está sendo carregado no aplicativo.



Implementação
    public function get bytesTotal():uint

Elementos da API relacionados

checkPolicyFile

propriedade 
checkPolicyFile:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

Especifica se o aplicativo deve tentar baixar um arquivo de política entre domínios a partir do servidor do arquivo de vídeo carregado antes de começar a carregar esse arquivo de vídeo. Use esta propriedade do carregamento vídeo progressivo, e a arquivos de carregamento que são do lado de fora do próprio domínio do arquivo SWF que chama. Esta propriedade é ignorada quando você está usando RTMP.

Estabeleça esta propriedade como true para invocar BitmapData.draw() em um arquivo vídeo carregado de um domínio externo ao SWF que efetua a chamada. O BitmapData.draw() o método fornece o acesso de nível do pixel ao vídeo. Se você chamar BitmapData.draw() sem definir a propriedade checkPolicyFile como true na ocasião do carregamento, poderá obter uma exceção SecurityError, uma vez que o arquivo de política necessário não foi baixado.

Não defina esta propriedade como verdadeira a menos que você deseje o acesso em nível do pixel ao vídeo que está carregando. A verificação de um arquivo de diretivas consome largura de banda da rede e pode atrasar o início do download.

Quando você chamar o método NetStream.play() com checkPolicyFile definida como true, o tempo de execução do Flash Player ou do AIR deverá baixar com êxito um arquivo de diretivas entre domínios relevante ou determinar que esse arquivo não existe antes de iniciar o download. Para verificar a existência de um arquivo de diretivas, o Flash Player ou o AIR desempenha as ações a seguir, nesta ordem:

  1. O aplicativo considera os arquivos de política que já foram baixados.
  2. O aplicativo tenta baixar arquivos de diretivas pendentes especificados em chamadas ao método Security.loadPolicyFile().
  3. O aplicativo tenta baixar um arquivo de diretivas a partir da localização padrão que corresponde à URL que você transmitiu a NetStream.play(), que é /crossdomain.xml no mesmo servidor que essa URL.

Em todos os casos, o Flash Player ou o Adobe AIR requer que um arquivo de políticas apropriado exista no servidor do vídeo, que ele forneça acesso ao objeto no URL transmitido ao play() com base na localização do arquivo de políticas e que ele permita que o domínio do arquivo de código de chamada acesse o vídeo, por meio de uma ou mais marcas <allow-access-from>.

Se você definir checkPolicyFile como true, o aplicativo aguardará até que o arquivo de diretivas seja verificado antes de baixar o vídeo. Aguarde para realizar operações em nível de pixel nos dados de vídeo, como chamar BitmapData.draw(), até receber eventos onMetaData ou NetStatusdo seu objeto NetStream.

Se você definir checkPolicyFile como true, mas nenhum arquivo de diretivas relevante for encontrado, um erro será exibido somente depois que tiver sido executada uma operação que requer um arquivo de diretivas, fazendo com que o aplicativo lance uma exceção SecurityError.

Tenha cautela com checkPolicyFile se estiver baixando um arquivo a partir de uma URL que use redirecionamentos HTTP no lado do servidor. O aplicativo tenta recuperar arquivos de políticas que correspondem ao URL inicial especificado em NetStream.play(). Se o arquivo final for proveniente de uma URL diferente devido a redirecionamentos HTTP, os arquivos de diretivas inicialmente baixados poderão não ser aplicáveis à URL final do arquivo, que é justamente a URL significativa em decisões de segurança.

Para obter mais informações sobre arquivos de política, consulte "controles de website (arquivos de política)" no Guia do Desenvolvedor do ActionScript 3.0 e o tópico do Centro do Desenvolvedor do Flash Player: Security.



Implementação
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Elementos da API relacionados

client

propriedade 
client:Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Especifica o objeto no qual os métodos de retorno de chamada são invocados para manipular o fluxo contínuo ou os dados do arquivo F4V/FLV. O objeto padrão é this, o objeto NetStream que está sendo criado. Caso você defina a propriedade client como outro objeto, os métodos de retorno de chamada são invocados nesse outro objeto. O objeto NetStream.client pode chamar as seguintes funções e receber um objeto de dados associado: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() e onXMPData().

Para associar a propriedade client a um manipulador de eventos:

  1. Crie e atribua um objeto client do objeto NetStream:
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Atribua uma função handler ao evento de dados desejado como uma propriedade do objeto de cliente:
         customClient.onImageData = onImageDataHandler;
         
  3. Escreva a função handler para receber o objeto de evento de dados como, por exemplo:
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

Quando os dados passam pelo fluxo ou durante a reprodução, o objeto de evento de dados (nesse caso, o objeto imageData) é preenchido com os dados. Veja a descrição de onImageData, que inclui um exemplo completo de um objeto atribuído à propriedade client.

Para associar a propriedade client a uma subclasse:

  1. Crie uma subclasse com uma função handler para receber o objeto de evento de dados:
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Atribua uma instância da subclasse à propriedade client do objeto NetStream:
         my_netstream.client = new CustomClient();
         

Quando os dados passam pelo fluxo ou durante a reprodução, o objeto de evento de dados (nesse caso, o objeto info) é preenchido com os dados. Veja o exemplo de classe no final da classe NetStream, que mostra a atribuição de uma ocorrência de subclasse à propriedade client.



Implementação
    public function get client():Object
    public function set client(value:Object):void

Lança
TypeError — A propriedade client deve ser definida como um objeto não nulo.

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, Flash Lite 4

O número de quadros por segundo que estão sendo exibidos. Se você estiver exportando arquivos de vídeo a serem reproduzidos em vários sistemas, poderá marcar esse valor durante os testes para ajudá-lo a determinar o nível de compactação a ser aplicado ao exportar o arquivo.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get currentFPS():Number

dataReliable

propriedade 
dataReliable:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica se as chamadas NetStream.send() são enviadas com total confiança. Quando TRUE, as chamadas NetStream.send() que são transmitidas por meio deste NetStream são totalmente confiáveis. Quando FALSE, as chamadas NetStream.send() não são transmitidas com total confiança, mas em vez disso são retransmitidas por um tempo limitado e depois canceladas. Você pode definir este valor como FALSE para reduzir a latência em detrimento da qualidade dos dados.

Se você tentar estabelecer esta propriedade como FALSE em um protocolo de rede que não suporta a confiança parcial, a tentativa é ignorada e a propriedade é definida como TRUE.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get dataReliable():Boolean
    public function set dataReliable(value:Boolean):void

Elementos da API relacionados

farID

propriedade 
farID:String  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5

Para conexões RTMFP, o identificador da extremidade oposta conectada que está conectado a esta instância do NetStream.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get farID():String

farNonce

propriedade 
farNonce:String  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5

Para conexões RTMFP e RTMPE, um valor escolhido substancialmente pela outra extremidade deste fluxo contínuo, exclusivo desta conexão. Esse valor aparece para a outra extremidade do fluxo como seu valor nearNonce.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get farNonce():String

inBufferSeek

propriedade 
inBufferSeek:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Especifica se os dados exibidos são armazenados em cache para a busca inteligente (TRUE), ou não (FALSE). O valor padrão é FALSE.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.

O Flash Media Server 3.5.3 e o Flash Player 10.1 colaboram para suportar a busca inteligente. A busca inteligente usa buffers anteriores e posteriores para buscar sem solicitar dados do servidor. A busca padrão limpa dados armazenados em buffer e pede que o servidor envie novos dados com base no momento da busca.

Chame NetStream.step() para avançar e voltar um número específico de quadros. Chame NetStream.seek() para buscar avançando e voltando um número especificado de segundos.

A busca inteligente reduz a carga do servidor e melhora o desempenho da busca. Defina inBufferSeek=true e chame step() e seek() para criar:

  • Funcionalidade de DVR do Cliente. Busque dentro do buffer do cliente em vez de ir para o servidor para a entrega do novo vídeo.
  • Modos de truque. Crie players que reproduzem quadro a quadro, avançam, voltam e avançam em câmera lenta.

Quando inBufferSeek=true e uma chamada para NetStream.seek() forem bem-sucedidos, a propriedade info.description do NetStatusEvent contém a string "client-inBufferSeek".

Quando um chamada para NetStream.step() for bem-sucedida, a propriedade info.code do NetStatusEvent contém a string "NetStream.Step.Notify".



Implementação
    public function get inBufferSeek():Boolean
    public function set inBufferSeek(value:Boolean):void

Elementos da API relacionados

info

propriedade 
info:NetStreamInfo  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Retorna um objeto NetStreamInfo cujas propriedades contêm estatísticas sobre a qualidade de serviço. O objeto é um instantâneo do estado atual.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get info():NetStreamInfo

Elementos da API relacionados

liveDelay

propriedade 
liveDelay:Number  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

O número de segundos de dados no buffer do fluxo de assinatura no modo ao vivo (sem buffer). Essa propriedade especifica o atraso atual de transmissão da rede (tempo de defasagem).

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Esse propriedade é destinada principalmente para uso com um servidor como o Flash Media Server; para obter mais informações, consulte a descrição da classe.

Você pode obter o valor dessa propriedade para medir em linhas gerais a qualidade de transmissão do fluxo e comunicá-la ao usuário.



Implementação
    public function get liveDelay():Number

maxPauseBufferTime

propriedade 
maxPauseBufferTime:Number

Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Especifica por quanto tempo armazenar mensagens em buffer durante o modo de pausa, em segundos. Essa propriedade pode ser usada para limitar o armazenamento em buffer durante o modo de pausa. Logo que o valor de NetStream.bufferLength atinge esse limite, o armazenamento em buffer é interrompido.

Se esse valor não for definido, será usado como padrão o limite de 60 segundos ou de duas vezes o valor de NetStream.bufferTime em cada pausa, o que for mais alto.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get maxPauseBufferTime():Number
    public function set maxPauseBufferTime(value:Number):void

Elementos da API relacionados

multicastAvailabilitySendToAll

propriedade 
multicastAvailabilitySendToAll:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica se as mensagens de disponibilidade de fragmentos multicast ponto a ponto são enviadas a todos os pares ou apenas a um par. Um valor TRUE especifica que as mensagens são enviadas a todos os pares uma vez por intervalo especificado. Um valor dos FALSE especifica que as mensagens são enviadas a apenas um par por intervalo especificado. O intervalo é determinado pela propriedade multicastAvailabilityUpdatePeriod.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastAvailabilitySendToAll():Boolean
    public function set multicastAvailabilitySendToAll(value:Boolean):void

Elementos da API relacionados

multicastAvailabilityUpdatePeriod

propriedade 
multicastAvailabilityUpdatePeriod:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica o intervalo em segundos entre mensagens enviadas a pares que os informam que o nó local tem novos fragmentos de mídia multicast ponto a ponto disponíveis. Valores maiores podem aumentar a eficiência de operações em lote e reduzir a sobrecarga de controle, mas eles podem reduzir a qualidade na extremidade receptora, reduzindo o período de tempo disponível para recuperar fragmentos antes que eles estejam fora da janela. Valores menores podem reduzir a latência e melhorar a qualidade, mas eles aumentam a sobrecarga de controle.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastAvailabilityUpdatePeriod():Number
    public function set multicastAvailabilityUpdatePeriod(value:Number):void

Elementos da API relacionados

multicastFetchPeriod

propriedade 
multicastFetchPeriod:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica a hora, em segundos, entre o momento em que o nó local reconhece pela primeira vez que um fragmento de mídia multicast ponto a ponto está disponível e o momento em que ele tenta obtê-lo de um item de mesmo nível. Este valor dá uma oportunidade ao fragmento de ser proativamente direcionado ao nó local antes que uma busca de um item de mesmo nível seja tentada. Ele também permite que mais de um item de mesmo nível anuncie a disponibilidade do fragmento, para que a carga de esforço possa ser distribuída entre múltiplos item de mesmo nível.

Valores maiores valores podem melhorar o equilíbrio de carga e a equidade na malha ponto a ponto, mas podem reduzir o multicastWindowDuration disponível e aumentar a latência. Valores menores podem reduzir a latência quando a busca é necessária, mas podem aumentar a recepção de dados duplicados e reduzir o equilíbrio da carga da malha ponto a ponto.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastFetchPeriod():Number
    public function set multicastFetchPeriod(value:Number):void

Elementos da API relacionados

multicastInfo

propriedade 
multicastInfo:NetStreamMulticastInfo  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, retorna um objeto NetStreamMulticastInfo cujas propriedades contêm a estatística sobre a qualidade do serviço. O objeto é um instantâneo do estado atual.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastInfo():NetStreamMulticastInfo

Elementos da API relacionados

multicastPushNeighborLimit

propriedade 
multicastPushNeighborLimit:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica o número máximo de itens do mesmo nível aos quais adicionar proativamente a mídia multicast.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastPushNeighborLimit():Number
    public function set multicastPushNeighborLimit(value:Number):void

multicastRelayMarginDuration

propriedade 
multicastRelayMarginDuration:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica a duração em segundos que os dados multicast ponto a ponto permanecem disponíveis para enviar aos itens do mesmo nível que o solicitam, além de uma duração especificada. A duração é especificada pela propriedade multicastWindowDuration.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastRelayMarginDuration():Number
    public function set multicastRelayMarginDuration(value:Number):void

Elementos da API relacionados

multicastWindowDuration

propriedade 
multicastWindowDuration:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica a duração em segundos da janela de remontagem de multicast ponto a ponto. Os valores mais curtos reduzem a latência, mas podem reduzir a qualidade, não permitindo tempo suficiente para obter todos os fragmentos. De modo inverso, os maiores valores podem aumentar a qualidade fornecendo mais tempo para obter todos os fragmentos, com um aumento correspondente na latência.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get multicastWindowDuration():Number
    public function set multicastWindowDuration(value:Number):void

Elementos da API relacionados

nearNonce

propriedade 
nearNonce:String  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Para conexões RTMFP e RTMPE, um valor escolhido substancialmente nesta extremidade do fluxo contínuo, exclusivo desta conexão. Esse valor aparece para a outra extremidade do fluxo como seu valor farNonce.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get nearNonce():String

objectEncoding

propriedade 
objectEncoding:uint  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

A codificação de objeto (versão AMF) para este objeto NetStream. O objeto NetStream herda o valor objectEncoding a partir do objeto NetConnection associado. É importante compreender essa propriedade se o seu arquivo SWF ActionScript 3.0 precisar se comunicar com servidores lançados antes do Flash Player 9. Para obter mais informações, consulte a descrição da propriedade objectEncoding na classe NetConnection.

O valor dessa propriedade depende de o fluxo ser local ou remoto. Fluxos locais, em que null foi transmitido ao método NetConnection.connect(), retornam o valor de NetConnection.defaultObjectEncoding. Fluxos remotos, nos quais você está se conectando a um servidor, retornam a codificação de objeto da conexão com o servidor.

Se você tentar ler essa propriedade quando não estiver conectado ou se tentar alterá-la, o aplicativo lançará uma exceção.



Implementação
    public function get objectEncoding():uint

Elementos da API relacionados

peerStreams

propriedade 
peerStreams:Array  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5

Um objeto que mantém todas as ocorrências de NetStream de assinatura que ouvem essa ocorrência de NetStream de publicação.



Implementação
    public function get peerStreams():Array

soundTransform

propriedade 
soundTransform:flash.media:SoundTransform

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

Controla o som neste objeto NetStream. Para obter mais informações, consulte a classe SoundTransform.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

Elementos da API relacionados

time

propriedade 
time:Number  [somente leitura]

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

A posição do indicador de reprodução, em segundos.

Flash Media Server Para um fluxo de inscrição, o número de segundos durante os quais o fluxo está em reprodução. Para um fluxo de publicação, o número de segundos durante os quais o fluxo está sendo publicado. Esse número tem uma precisão até a milésima casa decimal; multiplique por 1000 para obter o número de milésimos de segundo durante os quais o fluxo está em reprodução.

Para um fluxo de assinatura, se o servidor interromper o envio de dados, mas o fluxo permanecer aberto, o valor da propriedade time deixará de aumentar. Quando o servidor começar a enviar dados novamente, o valor continuará a aumentar a partir do ponto que havia parado (quando o servidor parou de enviar dados).

O valor de time continuará a aumentar quando o fluxo contínuo alternar de um elemento de lista de reprodução para outro. Essa propriedade é definida como 0 quando NetStream.play() é chamado com reset definido como 1 ou true ou quando NetStream.close() é chamado.



Implementação
    public function get time():Number

Elementos da API relacionados

useHardwareDecoder

propriedade 
useHardwareDecoder:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11, AIR 3

Especifica se deverá utilizar a decodificação acelerada de hardware no fluxo.

Nota: Não é possível definir esta propriedade durante a reprodução de vídeo. Você deverá defini-la antes de realizar a chamada de NetStream.play().

O valor padrão é true.



Implementação
    public function get useHardwareDecoder():Boolean
    public function set useHardwareDecoder(value:Boolean):void

Elementos da API relacionados

useJitterBuffer

propriedade 
useJitterBuffer:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11.3, AIR 3.3

Minimize a latência para fluxo ao vivo sem buffer (bufferTime = 0). Em vez do mecanismo de acompanhamento baseado em push conservador, as mensagens de áudio são colocadas em um buffer de tremulação. Quando o dispositivo de alto-falante precisa do áudio, as mensagens são obtidas no buffer de tremulação, decodificadas e reproduzidas. Speex e G.711 sempre usam essa abordagem baseada em pull, independentemente dessas configurações (useJitterBuffer retorna verdadeiro para Speex/G.711). Quando ativado no modo sem buffer, todos os codecs usam o buffer de tremulação, como Speex, G.711, Nellymoser, MP3 e AAC. Esta propriedade não tem nenhum efeito no modo com buffer (bufferTime > 0) e, assim, useJitterBuffer retorna falso.



Implementação
    public function get useJitterBuffer():Boolean
    public function set useJitterBuffer(value:Boolean):void

videoReliable

propriedade 
videoReliable:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica se o vídeo é despachado com total confiança. Quando TRUE, todo o vídeo transmitido por meio deste NetStream é totalmente fiável. Quando FALSE, o vídeo transmitido não é totalmente confiável, mas em vez disso é retransmitido por um tempo limitado e depois cancelado. Você pode usar o valor FALSE para reduzir a latência em detrimento da qualidade vídeo.

Se você tentar estabelecer esta propriedade como FALSE em um protocolo de rede que não suporta a confiança parcial, a tentativa é ignorada e a propriedade é definida como TRUE.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get videoReliable():Boolean
    public function set videoReliable(value:Boolean):void

Elementos da API relacionados

videoSampleAccess

propriedade 
videoSampleAccess:Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Para conexões RTMFP, especifica se os assinantes ponto a ponto neste NetStream têm autorização para capturar o fluxo contínuo de vídeo. Quando FALSE, as tentativas de o assinante capturar os fluxos contínuos mostra erros de permissão.

Nota: Essa propriedade não é suportado em vídeos H.264 no AIR 3.0 para iOS.



Implementação
    public function get videoSampleAccess():Boolean
    public function set videoSampleAccess(value:Boolean):void

Elementos da API relacionados

videoStreamSettings

propriedade 
videoStreamSettings:VideoStreamSettings

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11/ConnectAddin, AIR 3

Especifica as propriedades de compactação do fluxo Para obter mais informações, consulte VideoStreamSettings. Quando nenhuma câmera é anexada ao seu sistema, nulo é retornado.



Implementação
    public function get videoStreamSettings():VideoStreamSettings
    public function set videoStreamSettings(value:VideoStreamSettings):void

Elementos da API relacionados

Detalhes do construtor

NetStream

()Construtor
public function NetStream(connection:NetConnection, peerID:String = "connectToFMS")

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Cria um fluxo que você pode usar para reproduzir arquivos de mídia e enviar dados por um objeto NetConnection.

É considerado inválido não tratar um evento netStatus de um objeto NetStream. Para evitar erros, registre um ouvinte para o netStatus depois de criar um objeto NetStream e antes de chamar o método play() dele.

Parâmetros
connection:NetConnection — Um objeto NetConnection.
 
peerID:String (default = "connectToFMS") — Este parâmetro opcional está disponível em Flash Player 10 e depois, para o uso com conexões RTMFP. (Se o valor da propriedade NetConnection.protocol não for "rtmfp", este parâmetro é ignorado.) Use um dos seguintes valores:
  • Para se conectar ao Flash Media Server, especifique NetStream.CONNECT_TO_FMS.
  • Para publicar diretamente em itens do mesmo nível, especifique NetStream.DIRECT_CONNECTIONS.
  • Para reproduzir diretamente de um item de mesmo nível específico, determine a identidade desse item de mesmo nível (consulte NetConnection.nearID e NetConnection.farID).
  • (Flash Player 10.1 ou AIR 2 ou superior) Para publicar ou reproduzir um fluxo em um grupo de multicast ponto a ponto, especifique uma string groupspec (consulte a classe GroupSpecifier).

Na maioria dos casos, uma groupspec tem o potencial para usar o uplink de rede no sistema local. Neste caso, é solicitado ao usuário a permissão para usar os recursos de rede do computador. Se o usuário permitir este uso, um evento NetStream.Connect.Success será despachado ao ouvinte de evento do NetConnection. Se o usuário negar a permissão, um evento NetStream.Connect.Rejected é despachado. Ao especificar um groupspec até um evento NetStream.Connect.Success ser recebido, é um erro usar qualquer método do objeto NetStream, e isso origina uma exceção.

Se você incluir este parâmetro na sua instrução ao construtor, mas enviar um valor null, o valor será definido como "connectToFMS".


Lança
ArgumentError — A ocorrência de NetConnection não está conectada.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O seguinte código mostra uma conexão para download e exibe, progressivamente, um vídeo atribuído à variável videoURL:
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);

O seguinte código mostra uma conexão para fluxo e exibe um vídeo (atribuído à variável videoURL) em uma instância remota do Flash Media Server especificada no comando connect():
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmp://www.yourfmsserver.com/someappname");
var my_ns:NetStream = new NetStream(my_nc, NetStream.CONNECT_TO_FMS);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);
Detalhes do método

appendBytes

()método
public function appendBytes(bytes:ByteArray):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Transmite uma ByteArray para um NetStream para executar uma reprodução. Chame este método em um NetStream no "Modo de Geração de Dados". Para colocar um NetStream no Modo de Geração de Dados, invoque NetStream.play(null) em um NetStream criado em um NetConnection conectado a null. InvocarappendBytes() em um NetStream que não está no Modo de Geração de Dados é um erro e origina uma exceção.

Nota: Esse método não é suportado em vídeos H.264 no AIR 3.0 para iOS.

O analisador de bytes entende um arquivo FLV com um cabeçalho. Depois que o cabeçalho é analisado, appendBytes() espera que todas as futuras chamadas sejam continuações do mesmo arquivo verdadeiro ou virtual. Outro cabeçalho não é esperado a menos que appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) seja invocado.

Um objeto NetStream tem dois buffers: o FIFO de appendBytes() para o NetStream, e o buffer de reprodução. O FIFO é o buffer de reconstituição da marca parcial FLV e contém não mais do que uma marca FLV incompleta. As chamadas de NetStream.seek() esvaziam os dois buffers. Depois de uma chamada deseek()chame appendBytesAction()para reiniciar a escala de tempo começando da marca de data/hora da próxima mensagem anexada.

Cada chamada de appendBytes() adiciona bytes no FIFO até a marca FLV ficar completa. Quando uma marca FLV estiver completa, ela ser moverá para o buffer de reprodução. Uma chamada de appendBytes() pode gravar várias marcas FLV. Os primeiros bytes completam uma marca FLV existente (que se move para o buffer de reprodução). As marcas FLV completas movem para o buffer de reprodução. Os bytes restantes não forma uma marca FLV completa para ir para o FIFO. Os bytes no FIFO ou são completados por uma chamada de appendBytes() ou esvaziados por uma chamada de appendBytesAction() com o argumento RESET_SEEK ou RESET_BEGIN.

Nota: o analisador de bytes podem não ser capaz de decodificar completamente uma chamada de appendBytes() até que uma chamada subsequente de appendBytes() seja feita.

Parâmetros

bytes:ByteArray

Elementos da API relacionados

appendBytesAction

()método 
public function appendBytesAction(netStreamAppendBytesAction:String):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Indica uma descontinuidade de escala de tempo, limpa o FIFO e instrui o analisador de bytes a esperar o cabeçalho do arquivo ou o início de uma marca FLV.

Nota: Esse método não é suportado em vídeos H.264 no AIR 3.0 para iOS.

As chamadas de NetStream.seek() esvaziam os buffers do NetStream. O analisador de bytes permanece no modo de esvaziamento até você chamar appendBytesAction() e enviar o argumento RESET_BEGIN ou RESET_SEEK. Capture o evento "NetStream.Seek.Notify" para chamar appendBytesAction() depois de uma busca. Um novo cabeçalho de arquivo poderia suportar listas de reprodução ou efetuar busca sem invocar NetStream.seek().

Você também pode chamar esse método para reiniciar o contador de bytes para a chamada de retorno onSeekPoint()).

Parâmetros

netStreamAppendBytesAction:String

Elementos da API relacionados

attach

()método 
public function attach(connection:NetConnection):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

Anexa um fluxo contínuo a um novo objeto NetConnection. Chame este método para anexar um NetStream a um novo objeto NetConnection depois que uma conexão cair e ser reconectada. Flash Player e AIR continuam o fluxo do ponto de reprodução de quando a conexão foi perdida. Você também pode usar este método para implementar o equilíbrio de carga.

Este método necessita a versão 3.5.3 do Flash Media Server ou posterior.

Para usar este método para implementar a reconexão de fluxo, consulte a documentação do Flash Media Server 3.5.3.

Para usar este método para implementar o equilíbrio de carga, faça o seguinte:

  1. Anexe uma fluxo contínuo conectado a um objeto NetConnection em outro servidor.
  2. Depois que o fluxo contínuo é anexado com êxito à nova conexão, chame NetConnection.close() na conexão anterior para prevenir vazamentos de dados.
  3. Chame NetStream.play2() e defina o valor de NetStreamPlayOptions.transition como RESUME. Defina o resto das propriedades NetStreamPlayOptions aos mesmos valores que você usou quando chamou originalmente NetStream.play() ou NetStream.play2() para iniciar o fluxo contínuo.

Parâmetros

connection:NetConnection

Elementos da API relacionados

attachAudio

()método 
public function attachAudio(microphone:Microphone):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

Anexa um fluxo de áudio a um objeto NetStream a partir de um objeto Microphone transmitido como a origem. Esse método apenas está disponível ao publicador do fluxo especificado.

Use este método com o Flash Media Server para enviar o áudio ao vivo ao servidor. Chame este método antes ou depois de chamar o método publish().

Defina a propriedade Microphone.rate para corresponde à taxa do dispositivo de captura de som. Chame setSilenceLevel() para definir o limiar do nível de silêncio. Para controlar as propriedades de som (volume e repercussão) do fluxo contínuo de áudio, use a propriedade Microphone.soundTransform.

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://server.domain.com/app");
     var ns:NetStream = new NetStream(nc);
     
     var live_mic:Microphone = Microphone.get();
     live_mic.rate = 8;
     live_mic.setSilenceLevel(20,200);
     
     var soundTrans:SoundTransform = new SoundTransform();
     soundTrans.volume = 6;
     live_mic.soundTransform = soundTrans;
     
     ns.attachAudio(live_mic);
     ns.publish("mic_stream","live")
     

Para ouvir áudio, chame o método NetStream.play() e chame DisplayObjectContainer.addChild() para rotear o áudio para um objeto na lista de exibição.

Parâmetros

microphone:Microphone — A origem do fluxo de áudio a ser transmitido.

Elementos da API relacionados

attachCamera

()método 
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

Inicia a captura do vídeo a partir de uma câmera ou para a captura se theCamera estiver definido como null. Esse método apenas está disponível ao publicador do fluxo especificado.

Esse método é destinado para uso com o Flash Media Server; para obter mais informações, consulte a descrição da classe.

Depois de anexar a fonte de vídeo, chame NetStream.publish() para iniciar a transmissão. Os assinantes que quiserem exibir o vídeo deverão chamar os métodos NetStream.play() e Video.attachCamera() para exibir o vídeo no palco.

Você pode usar snapshotMilliseconds para enviar um único instantâneo (fornecendo um valor 0) ou uma série de instantâneos (na verdade, uma sequência de lapso temporal), fornecendo um número positivo que adiciona um segmento posterior com o número especificado de milésimos de segundo ao feed de vídeo. O segmento posterior estende o tempo de exibição da mensagem de vídeo. Ao chamar attachCamera() repetidamente com um valor positivo para snapshotMilliseconds, a sequência de instantâneos e segmentos posteriores alternados cria uma sequência de lapso temporal. Por exemplo, é possível capturar um quadro por dia e acrescentá-lo a um arquivo de vídeo. Quando um assinante reproduzir o arquivo, cada quadro permanecerá na tela pelo número especificado de milésimos de segundo e, em seguida, o próximo quadro será exibido.

A finalidade do parâmetro instantâneoMilésimosegundos é diferente daquela do parâmetro fps que pode ser definido com Camera.setMode(). Ao especificar instantâneoMilésimosegundos, você controla o tempo decorrido entre os quadros gravados. Ao especificar fps usando Camera.setMode(), você controla o tempo decorrido durante a gravação e a reprodução.

Por exemplo, suponha que você queira tirar um instantâneo a cada 5 minutos até um total de 100 instantâneos. Isso pode ser feito de duas maneiras:

  • Você pode emitir um comando NetStream.attachCamera(myCamera, 500) 100 vezes, uma a cada 5 minutos. Isso leva 500 minutos para gravação, mas o arquivo resultante será reproduzido em 50 segundos (100 quadros com 500 milésimos de segundo entre eles).
  • Você pode emitir um comando Camera.setMode() com um valor fps de 1/300 (um por 300 segundos ou um a cada 5 minutos) e, em seguida, emitir um comando NetStream.attachCamera(source), permitindo que a câmera capture continuamente por 500 minutos. O arquivo resultante será reproduzido em 500 minutos (a mesma duração de tempo exigida para gravação), com cada quadro exibido por 5 minutos.

Ambas as técnicas capturam os mesmos 500 quadros e ambas as abordagens são úteis; a abordagem a ser usada depende principalmente das suas exigências de reprodução. Por exemplo, no segundo caso, você poderia gravar o áudio continuamente. Além disso, ambos os arquivos teriam aproximadamente o mesmo tamanho.

Parâmetros

theCamera:Camera — A origem da transmissão de vídeo. Os valores válidos são um objeto Camera (que inicia a captura do vídeo) e null. Se você transmitir null, o Flash Player interromperá a captura do vídeo e todos os parâmetros adicionais despachados serão ignorados.
 
snapshotMilliseconds:int (default = -1) — Especifica se o fluxo de vídeo é contínuo, um quadro simples ou uma série de quadros simples usados para criar a fotografia de lapso temporal.
  • Se esse parâmetro for omitido, o aplicativo irá capturar todo o vídeo, até você transmitir um valor de null para attachCamera.
  • Se você transmitir 0, o aplicativo irá capturar apenas um quadro de vídeo. Use esse valor para transmitir "instantâneos" em um fluxo preexistente. O Flash ou o AIR interpreta argumentos inválidos, negativos ou não numéricos como 0.
  • Se você transmitir um número positivo, o aplicativo capturará um único quadro de vídeo e, em seguida, acrescentará uma pausa com o comprimento especificado como um elemento posterior no instantâneo. Use esse valor para criar efeitos de fotografia com lapso temporal.

close

()método 
public function close():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Para a reprodução de todos os dados no fluxo, define a propriedade time como 0 e disponibiliza o fluxo para outro uso. Esse método também exclui a cópia local de um arquivo de vídeo que foi baixado via HTTP. Embora o aplicativo exclua a cópia local do arquivo criado, uma cópia pode persistir no diretório de cache do navegador. Se for necessário impedir completamente o armazenamento em cache ou local do arquivo de vídeo, use o Flash Media Server.

Ao usar o Flash Media Server, esse método é chamado implicitamente quando você chama NetStream.play() a partir de um fluxo de publicação ou NetStream.publish() a partir de um fluxo de assinatura. Observe que:

  • Se close() for chamado a partir de um fluxo de publicação, o fluxo interromperá a publicação e o publicador poderá usá-lo para outras finalidades. Os assinantes deixam de receber o conteúdo que estava sendo publicado no fluxo, já que a publicação foi interrompida.
  • Se close() for chamado a partir de um fluxo de inscrição, o fluxo interromperá a reprodução para o assinante, que poderá usá-lo para outras finalidades. Os outros assinantes não serão afetados.
  • Usando flash.net.NetStream.play(false), é possível interromper a reprodução de um fluxo de inscrição sem fechá-lo ou alterar o seu tipo.

Elementos da API relacionados

dispose

()método 
public function dispose():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 11, AIR 3.0

As versões de todos os recursos são mantidas pelo objeto NetStream.

O método dispose() é semelhante ao método close. A diferença principal entre os dois métodos é que dispose() libera a memória usada para exibir o quadro de vídeo atual. Se aquele quadro estiver sendo exibido atualmente na tela, a exibição ficará em em branco. O método close() não deixa a exibição ficar em branco porque não libera esta memória.

onPeerConnect

()método 
public function onPeerConnect(subscriber:NetStream):Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Chamado sempre que um fluxo de publicação de mesmo nível corresponder a um fluxo de assinatura de mesmo nível. Antes de o assinante conectar-se com o editor, chame esse método para permitir que o código ActionScript tenha controle fino de acesso da publicação entre pares de mesmo nível. O seguinte código mostra um exemplo de como criar uma função de retorno de chamada para esse método:

     var c:Object = new Object;
     c.onPeerConnect = function(subscriber:NetStream):Boolean {
      if (accept)
          return true;
      else
          return false;
      };
      m_netStream.client = c;
     

Se um editor de mesmo nível não implementar esse método, todos de mesmo nível poderão reproduzir qualquer conteúdo publicado.

Parâmetros

subscriber:NetStream

Retorna
Boolean

pause

()método 
public function pause():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Pausa a reprodução de um fluxo de vídeo. Chamar esse método não terá efeito se o vídeo já estiver pausado. Para reiniciar a reprodução depois de pausar um vídeo, chame resume(). Para alternar entre a pausa e a reprodução (pausando primeiro o vídeo e reiniciando em seguida), chame togglePause().

Ao começar com o Flash Player 9.0.115.0, o Flash Player não limpa mais o buffer quando o NetStream.pause() é chamado. Este comportamento é chamado de "pausa inteligente". Antes do Flash Player 9.0.115.0, o Flash Player aguardava o preenchimento do buffer antes de reiniciar a reprodução, o que normalmente causava um atraso.

Note: para garantir a compatibilidade com versões anteriores, o evento "NetStream.Buffer.Flush" (consulte a propriedade NetStatusEvent.info) ainda dispara, embora o servidor não libere o buffer.

Para uma única pausa, a propriedade NetStream.bufferLength tem um limite de 60 segundos ou duas vezes o valor de NetStream.bufferTime, que é superior independentemente do valor que seja. Por exemplo, se o bufferTime for 20 segundos, o Flash Player armazenará em buffer até que o valor de NetStream.bufferLength seja superior ao valor de 20*2 (40) ou 60, e, neste caso, armazenará em buffer até que bufferLength seja 60. Se o bufferTime for de 40 segundos, o Flash Player armazenará em buffer até que o valor de bufferLength seja superior a 40*2 (80) ou 60, e, neste caso, armazenará até que o valor de bufferLength seja 80 segundos.

A propriedade bufferLength também possui um limite absoluto. Se qualquer chamada para pause() fizer com que o valor de bufferLength aumente para mais de 600 segundos ou o valor de bufferTime * 2, sendo superior independentemente de qual seja, o Flash Player esvaziará o buffer e redefinirá bufferLength para 0. Por exemplo, se bufferTime for 120 seconds, o Flash Player esvaziará o buffer se o valor de bufferLength atingir 600 segundos. Se bufferTime for 360 segundos, o Flash Player esvaziará o buffer se bufferLength atingir 720 segundos.

Dica: você pode usar NetStream.pause() em código para armazenar os dados em buffer enquanto os visualizadores observam um comercial, por exemplo, e depois soltam o pause no início do vídeo principal.

Elementos da API relacionados

play

()método 
public function play(... arguments):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Reproduz um arquivo de mídia a partir de um diretório local ou de um servidor web; executa um arquivo de mídia ou um fluxo ao vivo a partir do Flash Media Server. Envia um objetoNetStatusEvent para reportar mensagens de status e de erro.

Para obter mais informações sobre codecs e formatos de arquivos suportados, consulte o seguinte:

Workflow para reproduzir um arquivo ou um fluxo contínuo ao vivo

  1. Criar um objeto Video que exibe o vídeo a chamada addChild() para adicioná-lo ao palco.
  2. Crie um objeto NetConnection object e chame NetConnection.connect().

    Para reproduzir um arquivo de um diretório local ou servidor web, envie null.

    Para reproduzir um arquivo gravado ou um fluxo contínuo ao vivo a partir do Flash Media Server, envie o URI de um aplicativo Flash Media Server.

  3. Chamar o método addEventListener() do objeto NetConnection para escutar o evento netStatus (NetStatusEvent.NET_STATUS).
  4. No "NetConnection.Connect.Success", crie um objeto NetStream e envie o objeto NetConnection para o construtor.
  5. Chamar o método attachNetStream() do objeto Viceo e passar o objeto NetStream.
  6. Chame o método play() do objeto NetStream.

    Para exibir um fluxo contínuo ao vivo, envie o nome do fluxo contínuo despachado para o método NetStream.publish().

    Para reproduzir um arquivo gravado, envie o nome do arquivo.

Observação: Como prática recomendada, sempre adicione o objeto Video ao palco, em seguida, anexe o NetStream a ele e chame o método play() do objeto NetStream.

Ativam o Modo de Geração de Dados

Chame play(null) para habilitar o "Modo de Geração de Dados". Neste modo, invoque appendBytes() para enviar dados ao NetStream. Use o Modo de Geração de Dados para executar o fluxo do conteúdo sobre HTTP do Módulo de Origem de Fluxo Contínuo Dinâmico HTTP do Adobe em um Servidor HTTP Apache. Diferentemente do carregamento progressivo, o Fluxo Contínuo Dinâmico HTTP permite aos clientes buscar rapidamente qualquer ponto em um arquivo. A Estrutura de Mídia de Origem Aberta (OSMF) suporta o Fluxo Contínuo Dinâmico HTTP para os fluxos de voz sobre dados (vod) e ao vivo. Para exemplos de como o uso Modo de Geração de Dados de NetStream, carregue o OSMF origem. Para obter mais informações sobre o Escorrimento Dinâmico HTTP, ver HTTP Escorrimento Dinâmico.

Se você usar este método sem o Flash Media Server, haverá considerações de segurança. Um arquivo na caixa de proteção local confiável ou local com rede pode carregar e reproduzir um arquivo de vídeo a partir da caixa de proteção remota, mas não pode acessar os dados do arquivo remoto sem permissão explícita no formato de um arquivo de diretivas de URL. Além disso, você pode impedir o arquivo SWF em execução no Flash Player de usar esse método configurando o parâmetro allowNetworking das tags object e embed na página HTML com o conteúdo SWF. Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Parâmetros

... arguments

Jogo um arquivo local

O local de um arquivo de mídia. O argumento pode ser uma string, uma propriedade URLRequest.url ou variável de referência. No conteúdo do Flash Player e do AIR fora da área de segurança do aplicativo, é possível reproduzir arquivos de vídeo local armazenados no mesmo diretório do arquivo SWF ou em um subdiretório. Contudo, não é possível navegar para um diretório de nível superior.

Jogo um arquivo de Flash Media Server

NomeObrigatórioDescrição
name:ObjectObrigatório O nome de um arquivo gravado, um identificador para dados ao vivo publicados pelo NetStream.publish() ou false. Se for false, o fluxo contínuo será interrompido e os parâmetros adicionais serão ignorados. Para obter mais informações sobre a sintaxe de nome de arquivo, consulte a tabela de formatos de arquivo apresentada depois desta.
start:NumberOpcional O horário de início, em segundos. Os valores permitidos são -2, -1, 0 ou um número positivo. O valor padrão é -2, que procura um fluxo ao vivo e, em seguida, um fluxo gravado e, se não achar nenhum, abrirá um fluxo ao vivo. Não é possível usar -2 com arquivos MP3. Se -1, reproduzirá apenas um fluxo ao vivo. Se for 0 ou um número positivo, reproduzirá um fluxo gravado, começando em start segundos.
len:Number Opcional se start for especificado. A duração da reprodução, em segundos. Os valores permitidos são -1, 0 ou um número positivo. O valor padrão é -1, que reproduz um fluxo ao vivo ou gravado até o fim. Se for 0, reproduzirá um único quadro que a start segundos do início de um fluxo gravado. Se for um número positivo, reproduzirá um fluxo ao vivo ou gravado por len segundos.
reset:Object Opcional se len for especificado. Se uma lista de reprodução será ou não limpa. O valor padrão é 1 ou true, que limpa todas as chamadas de play anteriores e reproduz name imediatamente. Se for 0 ou false, adicionará o fluxo a uma lista de reprodução. Se for 2, manterá a lista de reprodução e retornará todas as mensagens de fluxo de uma vez, em vez de em intervalos. Se for 3, limpará a lista de reprodução e retornará todas as mensagens de fluxo de uma vez.

É possível reproduzir os formatos de arquivo descritos na tabela a seguir. A sintaxe pode ser diferente, dependendo do formato de arquivo.

Formato de arquivoSintaxeExemplo
FLVEspecifique o nome do fluxo (no diretório "amostras") como uma string sem extensão de nome de arquivo.ns.play("samples/myflvstream");
mp3 ou ID3Especifique o nome do fluxo contínuo (no diretório "amostras") como uma string, com o prefixo mp3: ou id3:, sem uma extensão de nome de arquivo.

ns.play("mp3:samples/mymp3stream");

ns.play("id3:samples/myid3data");

Arquivos baseados em MPEG-4 (como F4V e MP4)Especifique o nome do fluxo (no diretório "amostras") como uma string com o prefixo mp4:. O prefixo indica ao servidor que o arquivo contém vídeo codificado em H.264 e áudio codificado em AAC no formato de contêiner MPEG-4 Part 14. Se o arquivo no servidor tiver uma extensão de arquivo, especifique-a.

ns.play("mp4:samples/myvideo.f4v");

ns.play("mp4:samples/myvideo.mp4");

ns.play("mp4:samples/myvideo");

ns.play("mp4:samples/myvideo.mov");

RAWEspecifique o nome do fluxo (no diretório "amostras") como uma string com o prefixo raw:ns.play("raw:samples/myvideo");

Ativam o Modo de Geração de Dados

Ativar "o Modo de Geração de Dados", passam o valor null a um NetStream criado em um NetConnection conectado a null. Neste modo, invoque appendBytes() para entregar dados ao NetStream. (Transmitir null também reinicia o contador de bytes para o onSeekPoint() retorno de chamada.)

Considerações especiais para vídeos H.264 no AIR 3.0 para iOS

Para vídeos H.264, as APIs do iOS para a reprodução de vídeo aceitam somente um URL como arquivo ou fluxo. Não é possível transmitir em um buffer de dados de vídeo H264 para ser decodificado. Dependendo da origem do vídeo, transmita o argumento apropriado a NetStream.play () como se segue:

  • Para reprodução progressiva: Transmita o URL do arquivo (local ou remoto).

  • Para vídeo de fluxo contínuo: Transmita o URL de um playlist no formato HTTP Live Streaming (HLS) de Apple. Esse arquivo pode ser hospedado por qualquer servidor; Flash Media Server 4.5 e versões superiores possuem a vantagem de serem capazes de codificar fluxos no formato HLS.


Eventos
status:StatusEvent — Despachado ao tentar reproduzir o conteúdo criptografado com DRM (gerenciamento digital dos direitos). O valor da propriedade code é "DRM.encryptedFLV".

Lança
SecurityError — Arquivos SWF locais não confiáveis não podem se comunicar com a Internet. Você pode conciliar essa restrição reclassificando o arquivo SWF como local com rede ou confiável.
 
ArgumentError — Pelo menos um parâmetro deve ser especificado.
 
Error — O objeto NetStream é inválido. Isso pode ser devido a um NetConnection com falha.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )
Flash Media Server Este exemplo reproduz um arquivo F4V gravado a partir do diretório "amostras", começando do início, por até 100 segundos. Com arquivos MPEG-4, se o arquivo no servidor tem uma extensão de nome de arquivo, o método play() deve especificar uma extensão de nome de arquivo.
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server Este exemplo reproduz um fluxo FLV ao vivo publicado por um cliente, do início ao fim, começando imediatamente.
     ns.play("livestream");
     

O seguinte exemplo mostra como carregar um arquivo FLV externo:
var MyVideo:Video = new Video();
addChild(MyVideo);
 
var MyNC:NetConnection = new NetConnection();
MyNC.connect(null);
 
var MyNS:NetStream = new NetStream(MyNC);
MyVideo.attachNetStream(MyNS);
MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv");

//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
} 

play2

()método 
public function play2(param:NetStreamPlayOptions):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Alterna perfeitamente entre arquivos com diversas taxas de bits e permite que um NetStream retome quando uma conexão é perdida e reconectada.

Esse método é uma versão aprimorada de NetStream.play(). Da mesma forma que o método play(), o play2() inicia a reprodução de arquivo de mídia ou enfileira arquivos de mídia para criar uma lista de reprodução. Quando é usado com o Flash Media Server, ele pode também solicitar ao servidor que passe para um outro arquivo de mídia. A transição ocorre diretamente no aplicativo cliente. Os seguintes recursos usam a alteração de fluxo play2():

Fluxo dinâmico

O fluxo dinâmico (com suporte no Flash Media Server 3.5 e posteriores) permite que você forneça um fluxo codificado em diversas taxas de bits. Como a mudança de condições de rede de um espectador, eles recebem o bitrate que fornece a melhor experiência de visualização. Use a classe NetStreamInfo para monitorar condições de rede e alternar fluxos com base nos dados. Você também pode alternar fluxos para clientes com recursos diferentes. Para obter mais informações, consulte "Dynamic streaming" no "Adobe Flash Media Server Developer’s Guide".

A Adobe criou uma classe ActionScript personalizada chamada DynamicStream que estende a classe NetStream. Você pode usar a classe DynamicStream para implementar um fluxo contínuo dinâmico em um aplicativo, e não gravar um código próprio para detectar condições de rede. Mesmo que você opte por gravar o código de fluxo contínuo dinâmico, use a classe DynamicStream para ver uma implementação em funcionamento. Faça download da classe e da documentação de classe na página ferramentas e downloads do Flash Media Server.

Reconexão de fluxo

A reconexão de fluxo (com suporte no Flash Media Server 3.5.3 e posteriores) permite que os usuários vivenciem a mídia ininterrupta, mesmo quando perdem a conexão. A mídia usa o buffer para reproduzir enquanto a sua lógica ActionScript se reconecta ao Flash Media Server. Depois da reconexão, chame NetStream.attach() para usar o mesmo objeto NetStream com o novo NetConnection. Use APIs NetStream.attach(), NetStreamPlayTransitions. RESUME e NetStreamPlayTrasitions. APPEND_AND_WAIT para reconectar um fluxo. Para obter mais informações, consulte a documentação do Flash Media Server 3.5.3.

Parâmetros

param:NetStreamPlayOptions

Elementos da API relacionados

preloadEmbeddedData

()método 
public function preloadEmbeddedData(param:NetStreamPlayOptions):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.5, Flash Lite 4

Extrai os metadados DRM de um arquivo de mídia armazenado localmente.

Use preloadEmbeddedMetaData() como a primeira etapa no download e no armazenamento em cache dos comprovantes do DRM necessários à reprodução off-line. Quando metadados do DRM incorporados são detectados em um arquivo de mídia, um objeto DRMContentData é passado para a função onDRMContentData do cliente NetStream. Esse objeto DRMContentData contém as informações necessárias à obtenção do comprovante obrigatório para reproduzir o conteúdo. Passe DRMContentDataObject para o método loadVoucher() de DRMManager a fim de baixar o comprovante.

Entre as etapas de pré-carregamento de um comprovante de DRM:

  • Crie um novo objeto NetStream para pré-carregar os metadados.

  • Atribua uma função de retorno de chamada à propriedade onDRMContentData de NetStream client.
  • Crie um novo objeto NetStreamPlayOptions e defina a propriedade streamName como a string da URL do arquivo de vídeo local.
  • Chame preloadEmbeddedMetadata(), passando o objeto NetStreamPlayOptions.
  • Em resposta ao retorno de chamada onDRMContentData, chame o método loadVoucher() de DRMManager, passando o objeto DRMContentData. Caso a propriedade authenticationMethod do objeto DRMContentData tenha o valor userNameAndPassWord, você deverá autenticar o usuário no servidor de direitos da mídia antes de carregar o voucher.
  • Feche o NetStream usado para pré-carregar.

Observação: Se você usar o mesmo objeto NetStream tanto para pré-carregar metadados quanto para reproduzir conteúdo, precisará aguardar a chamada onPlayStatus gerada pela operação de pré-carregamento antes de iniciar a reprodução.

Os comprovantes baixados são armazenados em um cache local. A reprodução de conteúdo on-line também baixa e armazena comprovantes em cache. Quando um arquivo de conteúdo protegido por DRM é exibido, um comprovante armazenado em cache é recuperado no armazenamento local automaticamente. Use o DRMManager para gerenciar o cache do comprovante.

Observações: não há suporte para o pré-carregamento de metadados do DRM por meio das conexões HTTP, HTTPS ou RTMP. Você só pode pré-carregar metadados de arquivos no sistema de arquivos.

Parâmetros

param:NetStreamPlayOptions — NetStreamPlayOptions que descreve as opções a serem usadas durante o processamento do arquivo de conteúdo.

Elementos da API relacionados

publish

()método 
public function publish(name:String = null, type:String = null):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

Envia fluxo contínuo de áudio, vídeo e mensagens de texto de um cliente para o Flash Media Server, opcionalmente gravando o fluxo contínuo durante a transmissão. Este método despacha um objeto de NetStatusEvent com informações sobre o fluxo contínuo. Antes de chamar NetStream.publish(), capture o evento "NetConnection.Connect.Success" para verificar se o aplicativo se conectou com sucesso ao Flash Media Server.

Enquanto publica, você pode gravar arquivos em formato FLV ou F4V. Caso grave um arquivo em formato F4V, você deverá usar uma ferramenta niveladora para editar ou reproduzir o arquivo em outro aplicativo. Para baixar a ferramenta, visite www.adobe.com/go/fms_tools_br.

Nota: não use este método para reproduzir um fluxo contínuo. Par reproduzir um fluxo, chame o método NetStream.play().

Workflow para publicar um fluxo contínuo

  1. Crie um objeto NetConnection object e chame NetConnection.connect().
  2. Chame NetConnection.addEventListener() para ouvir eventos listen for NetStatusEvent.
  3. No evento "NetConnection.Connect.Success", crie um objeto NetStream e envie o objeto NetConnection para o construtor.
  4. Para capturar o áudio e o vídeo, chame o métodoNetStream.attachAudio() e o métodoNetStream.attachCamera().
  5. Para publicar um fluxo, chame o método NetStream.publish(). Também é possível gravar os dados à medida que você os publica, para que os usuários possam reproduzi-los posteriormente.

Nota: um NetStream pode publicar ou reproduzir um fluxo, mas não pode fazer as duas coisas. Para publicar um fluxo contínuo e exibir o playback a partir do servidor, crie dois objetos NetStream. Você pode enviar vários objeto NetStream em um objeto NetConnection.

Quando o Flash Media Server grava um fluxo contínuo, ele cria um arquivo. Por padrão, o servidor cria um diretório com o nome da instância do aplicativo despachado para NetConnection.connect() e armazena o arquivo no diretório. Por exemplo, o seguinte código se conecta à instância padrão do ao aplicativo "lectureseries" e registra um fluxo contínuo chamado "lecture". O arquivo "lecture.flv" é registrado em applications/lectureseries/streams/_definst_ directory:

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://fms.example.com/lectureseries");
     nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
     
     function netStatusHandler(event:NetStatusEvent):void
     {
       if (event.info.code == "NetConnection.Connect.Success")
       {
            var ns:NetStream = new NetStream(nc);
            ns.publish("lecture", "record");
       }
     }
     

O exemplo a seguir conecta a uma sessão "monday" do mesmo aplicativo. O arquivo "lecture.flv" é registrado em directory/applications/lectureseries/streams/monday:

     var nc:NetConnection = new NetConnection();
     nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
     nc.connect("rtmp://fms.example.com/lectureseries/monday");
     
     function netStatusHandler(event:NetStatusEvent):void
     {
       if (event.info.code == "NetConnection.Connect.Success")
       {
            var ns:NetStream = new NetStream(nc);
            ns.publish("lecture", "record");
       }
     }
     

Parâmetros

name:String (default = null) — Uma string que identifica o fluxo. Os clientes que se inscreverem nesse fluxo contínuo deverão transmitir esse nome quando chamarem NetStream.play(). Não insira "/" após o nome do fluxo. Por exemplo, não use o nome de fluxo "bolero/".

Você pode gravar arquivos nos formatos descritos na tabela a seguir (não é possível usar publish() para arquivos de formato MP3). A sintaxe pode ser diferente, dependendo do formato de arquivo.

Formato de arquivoSintaxeExemplo
FLVEspecifique o nome do fluxo contínuo como uma string, sem uma extensão de nome de arquivo.ns.publish("myFLVStream");
Arquivos baseados em MPEG-4 (por exemplo, F4V, MP4)Especifique o nome do fluxo contínuo como uma string com o prefixo mp4: com ou sem a extensão de nome de arquivo. O Flash Player codifica usando H.263, não H.264. O Flash Media Server pode registrar qualquer codec no contêiner F4V. O Flash Media Live Encoder pode codificar usando H.264. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myVideo");
RAWEspecifique o nome do fluxo como um string com o prefixo raw:ns.publish("raw:myvideo");

 
type:String (default = null) — Uma string que especifica como publicar o fluxo. Os valores válidos são "record", "append", "appendWithGap" e "live". O valor padrão é "live".
  • Se você transmitir "record", o aplicativo publicará e gravará dados ao vivo, salvando os dados gravados em um novo arquivo com um nome que corresponda ao valor transmitido ao parâmetro name. Se o arquivo já existir, ele será sobrescrito.
  • Se você transmitir "append", o servidor publicará e gravará dados ao vivo, anexando os dados gravados em um arquivo com um nome que corresponde ao valor passado para o parâmetro name. Se não for encontrado nenhum arquivo correspondente ao parâmetro name, ele será criado.
  • Se você passar "appendWithGap", informações adicionais sobre a coordenação de tempo são passadas para ajudar o servidor a determinar o ponto de transição correto ao fazer o fluxo dinâmico.
  • Se você omitir esse parâmetro ou transmitir "live", o aplicativo publicará dados ao vivo sem gravá-los. Se um arquivo com um nome que corresponde ao valor transmitido ao parâmetro name existir, ele será excluído.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir captura o vídeo de uma câmera e publica-o sobre um NetStream no Flash Media Server. O exemplo exibe o vídeo como ele foi reproduzido do Flash Media Server.

Para executar este exemplo, você precisa conectar uma câmera ao seu computador. Você também precisa adicionar um componente de Botão e um componente de Rótulo à Biblioteca.

O aplicativo tem um botão que publica um fluxo (envia-o ao Flash Media Server) só depois que o aplicativo se conectar ao servidor com sucesso. O aplicativo repete o fluxo do servidor só depois que a corrente é publicada com sucesso. O NetStatusEvent retorna um objeto informações com uma propriedade code que especifica estes casos. A função netStatusHandler processa estes eventos para as classes NetConnection e NetStream.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.media.Camera;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import fl.controls.Button;
    import fl.controls.Label;

    public class NetStream_publish extends Sprite {
        private var connectionURL:String = "rtmp://localhost/live/";
        private var videoURL:String = "liveVideo";
        private var nc:NetConnection;
        private var ns_publish:NetStream;
        private var ns_playback:NetStream;
        private var video_publish:Video;
        private var video_playback:Video;
        private var cam:Camera;
        private var b:Button;
        private var l:Label;

        public function NetStream_publish() {
            setUpUI();
            
            nc = new NetConnection();
            nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            
            // Add bandwidth detection handlers on the NetConnection Client to
            // prevent Reference Errors at runtime when using the "live" and "vod" applications.          
            var clientObj:Object = new Object();
            clientObj.onBWDone = onBWDone;
            clientObj.onBWCheck = onBWCheck;
            nc.client = clientObj;
            
            // Connect to the "live" application on Flash Media Server.
            nc.connect(connectionURL);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            trace(event.info.code + " | " + event.info.description);
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    // Enable the "Publish" button after the client connects to the server.
                    b.enabled = true;
                    break;
                case "NetStream.Publish.Start":
                    playbackVideo();
                    break;
            }
        }
    
        private function publishVideo(event:MouseEvent):void{
            // Disable the button so that you can only publish once.
            b.enabled = false;
            // Create a NetStream to send video to FMS.
            ns_publish = new NetStream(nc);
            ns_publish.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            // Publish (send) the video to FMS.
            cam = Camera.getCamera();
            ns_publish.attachCamera(cam);
               ns_publish.publish(videoURL);
        }

        private function playbackVideo():void {
            // Create the Video object to show the video on the stage
            video_playback = new Video(cam.width, cam.height);
            video_playback.x = cam.width + 20;
            video_playback.y = 10;
            addChild(video_playback);
            // Create a NetStream to receive the video from FMS.
            ns_playback = new NetStream(nc);
            ns_playback.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            // Display the video that was published to FMS.
                  video_playback.attachNetStream(ns_playback);
            ns_playback.play(videoURL); 
        }
        
        
        private function setUpUI():void { 
      b = new Button(); 
      b.addEventListener(MouseEvent.CLICK, publishVideo);
      b.width = 150;
            b.label = "Publish video to server";
            b.move(10, 150);
            b.enabled = false;
            
            l = new Label();
            l.width = 150;
            l.text = "Playing back from server"
            l.move(190, 150);
            
            addChild(b);
            addChild(l);
        }
        
        // Handlers called by the Flash Media Server "live" and "vod" applications.
        public function onBWDone(... rest):Boolean {
            return true;
        }
        
        public function onBWCheck(... rest):Number {
            return 0;
        }
    }
}

receiveAudio

()método 
public function receiveAudio(flag:Boolean):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Especifica se o áudio de entrada é reproduzido no fluxo. Esse método fica disponível somente para clientes inscritos no fluxo especificado. Não está disponível ao publicador do fluxo. Chame este método antes ou depois de chamar o método NetStream.play(). Por exemplo, anexe este método a um botão para permitir aos usuários silenciar e não silenciar o áudio. Use este método somente em fluxos unicast reproduzidos a partir do Flash Media Server. Este método não funciona em fluxos RTMFP multicast ou quando o método NetStream.appendBytes() é usado.

Parâmetros

flag:Boolean — Especifica se o áudio de entrada é reproduzido no fluxo (true) ou não (false). O valor padrão é true. Se o fluxo especificado contiver somente dados de áudio, NetStream.time deixará de ser incrementado quando você passar falso.

receiveVideo

()método 
public function receiveVideo(flag:Boolean):void

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 recebido é reproduzido no fluxo. Esse método fica disponível somente para clientes inscritos no fluxo especificado. Não está disponível ao publicador do fluxo. Chame este método antes ou depois de chamar o método NetStream.play(). Por exemplo, anexe este método a um botão para permitir aos usuários mostrar e ocultar o vídeo. Use este método somente em fluxos unicast reproduzidos a partir do Flash Media Server. Este método não funciona em fluxos RTMFP multicast nem quando o método NetStream.appendBytes() é usado.

Parâmetros

flag:Boolean — Especifica se o vídeo recebido é reproduzido neste fluxo (true) ou não (false). O valor padrão é true. Se o fluxo especificado contiver somente dados de vídeo, NetStream.time deixará de ser incrementado quando você passar false.

receiveVideoFPS

()método 
public function receiveVideoFPS(FPS:Number):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Especifica a taxa de quadros do vídeo recebido. Esse método fica disponível somente para clientes inscritos no fluxo especificado. Não está disponível ao publicador do fluxo. Chame este método antes ou depois de chamar o método NetStream.play(). Por exemplo, chame este método para permitir aos usuários definir a taxa de quadros do vídeo. Para determinar a taxa de quadros atual, use NetStream.currentFPS. Para parar de receber vídeo, passe 0.

Quando você passa um valor ao parâmetro FPS para limitar a taxa de quadros do vídeo, o Flash Media Server tenta reduzir a taxa de quadros, ao mesmo tempo que preserva a integridade do vídeo. Entre cada dois quadros-chave, o servidor envia o número mínimo de quadros necessário para satisfazer a taxa desejada. Observe que os Quadros I (ou quadros intermediários) devem ser despachados contíguamente. Caso contrário, o vídeo é corrompido. Portanto, o número desejado de quadros é despachado imediatamente e de modo contíguo de acordo com um quadro-chave. Como os quadros não são distribuídos de maneira uniforme, o movimento parece mais suave em segmentos pontuados por paradas.

Use este método somente em fluxos unicast reproduzidos a partir do Flash Media Server. Este método não funciona em fluxos RTMFP multicast ou quando o método NetStream.appendBytes() é usado.

Parâmetros

FPS:Number — Especifica a taxa de quadros por segundos com a qual o vídeo recebido será reproduzido.

resetDRMVouchers

()método 
public static function resetDRMVouchers():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 11.8, Flash Lite 4

Em aplicativos AIR, isso exclui todos os dados do comprovante do gerenciamento de direitos digitais (DRM) armazenados localmente. Em aplicativos baseados no navegador, isso só está disponível nos erros 3322 e se comportam conforme o painel Ajustes de reprodução de conteúdo protegido.

O aplicativo deve baixar novamente todos os comprovantes obrigatórios no servidor dos direitos de mídia para que o usuário possa acessar o conteúdo protegido. Chamar essa função é equivalente a chamar a função resetDRMVouchers() do objeto DRMManager.


Lança
IOError — O comprovante não pode ser excluído.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O seguinte exemplo redefine todos os comprovantes do DRM:
NetStream.resetDRMVouchers();

resume

()método 
public function resume():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Reinicia a reprodução de um fluxo de vídeo pausado. Se o vídeo já estiver em reprodução, chamar esse método não terá efeito.

Elementos da API relacionados

seek

()método 
public function seek(offset:Number):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Busca o quadro-chave (também chamado de quadro em I na indústria de vídeo) mais próximo à localização especificada. O quadro-chave é inserido em um deslocamento, em segundos, a partir do início do fluxo.

Os fluxos de vídeo são geralmente codificados com dois tipos de quadros: quadros-chave (ou quadros em I) e quadros em P. Um quadro-chave contém uma imagem inteira, enquanto um quadro em P é um quadro intermediário que fornece informações de vídeo adicionais entre os quadros-chave. Em geral, um fluxo de vídeo tem um quadro-chave a cada 10 a 50 quadros.

O Flash Media Server tem vários tipos de comportamento de buscam: busca avançada e busca inteligente.

Busca avançada

A busca avançada é ativada por padrão. Para desativar a busca avançada, no Flash Media Server, defina o elemento EnhancedSeek no arquivo de configuração Application.xml para false.

Se a busca avançada estiver ativada, o servidor gerará um novo quadro-chave em offset com base no quadro-chave anterior e em quaisquer quadros em P. Entretanto, gerar quadros-chave criauma alta carga de processamento no servidor e poderá haver distorção no quadro-chave gerado. Se o codec de vídeo for On2, o quadro-chave antes do ponto de busca e todos os quadros em P entre esse quadro-chave e o ponto de busca serão despachados ao cliente.

Se a busca avançada estiver desativada, o servidor inicia o fluxo do quadro-chave mais próximo. Por exemplo, suponha que um vídeo tenha quadros-chaves em 0 segundos e 10 segundos. Uma busca de 4 segundos faz que a reprodução inicie em 4 segundos usando o quadro- chave em 0 segundos. O vídeo permanece congelado até atingir o próximo quadro-chave em 10 segundos. Para ter uma experiência de busca melhor, é necessário reduzir o intervalo de quadros-chave. No modo de busca normal, não é possível iniciar o vídeo em um ponto entre os quadros-chave.

Busca inteligente

Para ativar a busca inteligente, defina NetStream.inBufferSeek como true.

A busca inteligente permite que o Flash Player busque dentro de um buffer anterior e um buffer posterior existentes. Quando a busca inteligente é desativada, cada vez que seek() é chamado Flash Player limpa o buffer e solicita dados do servidor. Para obter mais informações, consulte NetStream.inBufferSeek.

Busca no Modo de Geração de Dados

Quando você invoca seek() em um NetStream em Modo de Geração de Dados, todos os transmitidos a appendBytes() são descartados (não armazenados no buffer, acumulados no FIFO de mensagem parcial ou analisados para os pontos de busca) até que você invoque appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) ouappendBytesActi para reiniciar o analisador. Para informações sobre o Modo de Geração de Dados, ver NetStream.play().

Parâmetros

offset:Number — O valor de tempo aproximado, em segundos, para mover para um arquivo de vídeo. Com o Flash Media Server, se <EnhancedSeek> estiver definido como true no arquivo de configuração Application.xml (o que ocorre por padrão), o servidor gerará um quadro-chave em offset.
  • Para retornar ao início do fluxo, transmita 0 para offset.
  • Para avançar a partir do início do fluxo, transmita o número de segundos a serem avançados. Por exemplo, para posicionar o indicador de reprodução em 15 segundos do início (ou o quadro-chave depois de 15 segundos), use myStream.seek(15).
  • Para buscar com base na posição atual, transmita NetStream.time + n ou NetStream.time - n para buscar n segundos à frente ou atrás, respectivamente, da posição atual. Por exemplo, para voltar 20 segundos a partir da posição atual, use NetStream.seek(NetStream.time - 20).

Elementos da API relacionados

send

()método 
public function send(handlerName:String, ... arguments):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9

Envia uma mensagem em um fluxo publicado a todos os clientes assinantes. Esse método apenas está disponível ao publicador do fluxo especificado. Este método está disponível apenas para a utilização com o Flash Media Server. Para processar e responder a essa mensagem, crie um manipulador no objeto NetStream; por exemplo, ns.HandlerName.

O Flash Player ou o AIR não serializa métodos ou seus dados, variáveis de protótipo de objetos ou variáveis não enumeráveis. Para objetos de exibição, o Flash Player ou o AIR serializa o caminho, mas nenhum dos dados.

Você pode chamar o método send() para adicionar quadros-chave de dados a um fluxo ao vivo despachado ao Flash Media Server. Um quadro-chave de dados é uma mensagem que um publicador adiciona a um fluxo ao vivo. Quadros-chave de dados são geralmente usados para adicionar metadados a um fluxo ao vivo antes de os dados serem capturados para esse fluxo a partir de uma câmera ou microfone. Um publicador pode adicionar um quadro-chave de dados a qualquer momento enquanto o fluxo ao vivo estiver sendo publicado. O quadro-chave de dados será salvo na memória do servidor pelo tempo em que o publicador estiver conectado ao servidor.

Os clientes que estiverem inscritos no fluxo ao vivo antes da adição de um quadro-chave de dados receberão esse quadro-chave assim que ele foi adicionado. Os clientes que se inscreverem no fluxo ao vivo após a adição do quadro-chave de dados receberão esse quadro-chave na ocasião da assinatura.

Para adicionar um quadro-chave de metadados a um fluxo ao vivo despachado ao Flash Media Server, use @setDataFrame como nome do manipulador, seguido de dois argumentos adicionais, por exemplo:

     var ns:NetStream = new NetStream(nc);
     ns.send("@setDataFrame", "onMetaData", metaData);
     

O argumento @setDataFrame refere-se a um manipulador especial incorporado ao Flash Media Server. O argumento onMetaData corresponde ao nome de uma função de retorno de chamada no seu aplicativo cliente que monitora o evento onMetaData e recupera os metadados. O terceiro item, metaData, é uma instância de Object ou Array com propriedades que definem os valores de metadados.

Use @clearDataFrame para limpar um quadro-chave de metadados que já foi definido no fluxo:

     ns.send("@clearDataFrame", "onMetaData");
     

Parâmetros

handlerName:String — A mensagem a ser enviada; também o nome do manipulador ActionScript que receberá essa mensagem. O nome do manipulador pode ter profundidade de apenas um nível (ou seja, não pode estar no formato pai/filho) e é relativo ao objeto de fluxo. Não use um termo reservado para um nomes de manipulador. Por exemplo, usar "close" como nome de manipulador faz o método falhar. Com o Flash Media Server, use @setDataFrame para adicionar um quadro-chave de metadados a um fluxo ao vivo ou @clearDataFrame para remover um quadro-chave.
 
... arguments — Argumentos opcionais que podem ser de qualquer tipo. Eles são serializados e despachados pela conexão, e o manipulador de recebimento os recebe na mesma ordem. Se um parâmetro for um objeto circular (por exemplo, uma lista vinculada circular), o serializador manipulará as referências corretamente. Com o Flash Media Server, se @setDataFrame for o primeiro argumento, use onMetaData como segundo argumento e, para o terceiro, transmita uma ocorrência de Object ou Array que tenha os metadados definidos como propriedades. Consulte Flash Media Server Developer Guide para obter uma lista de nomes de propriedade sugeridos. Com @clearDataFrame como primeiro argumento, use onMetaData como o segundo argumento, se um terceiro.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir cria dois objetos NetStream. Um é usado para publicar um fluxo ao vivo no servidor, enquanto o outro se inscreve no fluxo.
package {
   import flash.display.Sprite;
   import flash.net.NetConnection;
   import flash.net.NetStream;
   import flash.events.NetStatusEvent;
   import flash.media.Video;
   import flash.utils.setTimeout;

 
   public class TestExample extends Sprite
   {
     var nc:NetConnection = new NetConnection();
     var ns1:NetStream;
     var ns2:NetStream;
     var vid:Video = new Video(300,300);
     var obj:Object = new Object();
 
     public function TestExample() {
        nc.objectEncoding = 0;
        nc.addEventListener("netStatus", onNCStatus);
        nc.connect("rtmp://localhost/FlashVideoApp");
        addChild(vid); 
     }
  
     function onNCStatus(event:NetStatusEvent):void {
       switch (event.info.code) {
           case "NetConnection.Connect.Success":
               trace("You've connected successfully");
               ns1 = new NetStream(nc);
               ns2 = new NetStream(nc);
               
               ns1.client = new CustomClient();
               ns1.publish("dummy", "live");
    
               ns2.client = new CustomClient();
               vid.attachNetStream(ns2);
               ns2.play("dummy");
               setTimeout(sendHello, 3000);
               break;
              
           case "NetStream.Publish.BadName":
               trace("Please check the name of the publishing stream" );
               break;
        }   
     }

     function sendHello():void {
         ns1.send("myFunction", "hello");
     }       
   }
 }
 
 class CustomClient {
    public function myFunction(event:String):void {
       trace(event);
    }
 }

O exemplo a seguir cria metadados e os adiciona a um fluxo ao vivo:
private function netStatusHandler(event:NetStatusEvent):void {
     switch (event.info.code) {  
        case "NetStream.Publish.Start":
            var metaData:Object = new Object();
            metaData.title = "myStream";
            metaData.width = 400;
            metaData.height = 200;
            ns.send("@setDataFrame", "onMetaData", metaData);
            ns.attachCamera( Camera.getCamera() );
            ns.attachAudio( Microphone.getMicrophone() );        
    }
}

Para responder a um quadro-chave de dados adicionado a um vídeo, o cliente precisa definir um manipulador de eventos onMetaData. O manipulador de eventos onMetaData não é registrado com addEventListener(), em vez disso é uma função de retorno de chamada denominada onMetaData. Por exemplo:
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

Este exemplo mostra como criar uma lista de reprodução no servidor:
 // Create a NetStream for playing
 var my_ns:NetStream = new NetStream(my_nc);
 my_video.attachNetStream(my_ns);
 
 // Play the stream record1
 my_ns.play("record1", 0, -1, true);
 
 // Switch to the stream live1 and play for 5 seconds.  
 // Since reset is false, live1 will start to play after record1 is done.
 my_ns.play("live1", -1 , 5, false);

Se o arquivo de vídeo gravado contiver apenas mensagens de dados, você poderá reproduzir esse arquivo na velocidade em que ele foi originalmente gravado ou poderá obter todas as mensagens de dados de uma vez.
 //To play at normal speed
 var my_ns:NetStream = new NetStream(my_nc);
 my_ns.play("log", 0, -1);
 
 //To get the data messages all at once
 my_ns.play("log", 0, -1, 3);

setDRMAuthenticationCredentials

()método 
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Lite 4

Define as credenciais de autenticação DRM necessárias para visualização do conteúdo

O método setDRMAuthenticationCredentials() fornece credenciais compatíveis com aquelas conhecidas e aceitas pelo fornecedor de conteúdo ou servidor proxy. Essas credenciais são as mesmas usadas pelo usuário ao obter a permissão de visualização do conteúdo.

Parâmetros

userName:String — Uma credencial de nome de usuário válida.
 
password:String — A credencial de senha correspondente ao nome de usuário fornecido.
 
type:String — Uma string que especifica qual tipo de credenciais de autenticação são fornecidos. Os valores válidos são "drm" e "proxy". O valor padrão é "drm".
  • Com o tipo de autenticação “drm” , as credenciais fornecidas são autenticadas em relação ao Flash Access.
  • Com o tipo de autenticação "proxy", as credenciais fornecidas são autenticadas em comparação ao servidor proxy e devem ser compatíveis àquelas solicitadas por ele. Por exemplo, a opção "proxy" permite que o aplicativo autentique em um servidor proxy se a empresa requerer essa etapa antes de o usuário acessar a Internet. A menos que seja usada a autenticação anônima, depois da autenticação proxy, o usuário ainda precisa ser autenticado no Flash Access para obter o comprovante e executar o conteúdo. Você pode usar setDRMAuthenticationcredentials() uma segunda vez, com a opção "drm" para autenticar no Flash Access.

Elementos da API relacionados

step

()método 
public function step(frames:int):void

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2

As etapas avançam ou voltam o número especificado de quadros, relativo ao quadro atualmente exibido. Especifique um número positivo para avançar e um número negativo para voltar. Invoque este método para criar a funcionalidade avanço rápido preciso ou retrocesso rápido preciso.

Nota: Esse método não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Este método está disponível só quando o dado está correndo de Flash Media Server 3.5.3 ou mais alto e quando NetStream.inBufferSeek é true. Também, o quadro de destino deve estar no buffer. Por exemplo, se o quadro atualmente exibido for o quadro número 120 e você especificar um valor de 1.000, o método falhará se o quadro número 1.120 não estiver no buffer.

Este método é para ser usado com os métodos pause() ou togglePause(). Se você avançar 10 quadros para a frente ou para trás durante a reprodução sem fazer uma pausa, não poderá notar os passos ou eles parecerão um pulso aleatório. Igualmente, quando você chama pause() ou togglePause o áudio é suprimido.

Se a chamada de NetStream.step() for bem sucedida, um NetStatusEvent será despachado com "NetStream.Step.Notify" como o valor da propriedade code dos objetos de informações.

Parâmetros

frames:int

Elementos da API relacionados

togglePause

()método 
public function togglePause():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Pausa ou reinicia a reprodução de um fluxo. Quando esse método for chamado pela primeira vez, ele irá pausar a reprodução, reiniciando-a na próxima vez. Esse método pode ser usado para permitir que os usuários pausem ou reiniciem a reprodução pressionando um único botão.

Elementos da API relacionados

Detalhe do evento

asyncError

Evento
Tipo do objeto de evento: flash.events.AsyncErrorEvent
propriedade AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Despachado quando uma exceção é lançada assincronamente – ou seja, a partir do código assíncrono nativo. Esse evento é despachado quando um servidor chama um método no cliente que não está definido.

A constante AsyncErrorEvent.ASYNC_ERROR define o valor da propriedade type de um objeto de evento asyncError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
targetO objeto que está enviando o evento.
errorO erro que disparou o evento.

Elementos da API relacionados

drmAuthenticate

Evento  
Tipo do objeto de evento: flash.events.DRMAuthenticateEvent
propriedade DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Lite 4

Despachado quando um objeto NetStream tenta executar um conteúdo criptografado de gerenciamento digital dos direitos (DRM) que necessita de uma credencial de usuário antes de sua execução.

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Use o método setDRMAuthenticationCredentials() do objeto NetStream para autenticar o usuário. Se a autenticação do usuário falhar, o aplicativo tentará a autenticação novamente e enviará um novo evento DRMAuthenticateEvent para o objeto NetStream.

A constante DRMAuthenticateEvent.DRM_AUTHENTICATE define o valor da propriedade type de um objeto DRMAuthenticateEvent.

Esse evento tem as seguintes propriedades:

PropriedadeValor
authenticationTypeIndica se as credenciais fornecidas são para autenticação pelo Flash Media Rights Management Server (FMRMS) ou um servidor proxy.
bubblesfalse
cancelablefalse não há comportamento padrão a ser cancelado.
cabeçalhoO cabeçalho do arquivo de conteúdo criptografado fornecido pelo servidor.
netstreamO objeto NetStream que iniciou esse evento.
passwordPromptUma solicitação para a credencial de senha, fornecida pelo servidor.
targetO objeto NetStream.
urlPromptUma solicitação para um URL a ser exibido, fornecido pelo servidor.
usernamePromptUma solicitação para a credencial de nome do usuário, fornecida pelo servidor.

Elementos da API relacionados

drmError

Evento  
Tipo do objeto de evento: flash.events.DRMErrorEvent
propriedade DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 10.1, Flash Lite 4

Despachado quando um objeto NetStream encontra um erro relacionado ao DRM ao tentar executar o arquivo criptografado de gerenciamento digital dos direitos (DRM). Por exemplo, um objeto DRMErrorEvent é despachado quando a autorização do usuário falha. Talvez seja porque o usuário não adquiriu os direitos de visualização do conteúdo ou porque o fornecedor do conteúdo não oferece suporte ao aplicativo de visualização.

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

A constante DRMErrorEvent.DRM_ERROR define o valor da propriedade type de um objeto de evento drmError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
errorIDUm código de erro numérico atribuído ao problema.
subErrorIDUm código de erro que indica informações mais detalhadas sobre o problema subjacente.
targetO objeto NetStream.

Elementos da API relacionados

drmStatus

Evento  
Tipo do objeto de evento: flash.events.DRMStatusEvent
propriedade DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 10.1, Flash Lite 4

Despachado quando o conteúdo DRM (digital rights management - gerenciamento digital dos direitos) criptografado inicia a execução (quando o usuário for autenticado e autorizado a executar o conteúdo).

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

O objeto de DRMStatusEvent contém informações relacionadas ao voucher, como se o conteúdo está disponível off-line ou quando o voucher vence e os usuários não podem exibir mais o conteúdo.

A constante DRMStatusEvent.DRM_STATUS define o valor propriedade type de um objeto de evento drmStatus.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
detailA string que explica o contexto do evento de status.
isAnonymousIndica se o conteúdo, protegido pela criptografia do DRM, está disponível sem precisar que o usuário forneça as credenciais de autenticação.
isAvailableOfflineIndica se o conteúdo, protegido pela criptografia do DRM, está disponível offline.
offlineLeasePeriodO número de dias remanescentes em que o conteúdo pode ser exibido offline.
diretrizesUm objeto personalizado do evento de status DRM.
targetO objeto NetStream.
voucherEndDateA data absoluta em que o voucher vence e o conteúdo não pode mais ser exibido pelos usuários
contentDataDRMContentData de conteúdo
comprovanteO objeto DRMVoucher do conteúdo.
isLocalIndica se o conteúdo é armazenado no sistema de arquivos local

Elementos da API relacionados

ioError

Evento  
Tipo do objeto de evento: flash.events.IOErrorEvent
propriedade IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Despachado quando ocorre um erro de entrada ou saída que resulta na falha de uma operação de rede.

Define o valor da propriedade type de um objeto de evento ioError.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
errorIDUm número de referência associado ao erro específico (somente AIR).
targetO objeto de rede que está recebendo o erro de entrada/saída.
textTexto a ser exibido como uma mensagem de erro.

mediaTypeData

Evento  
Tipo do objeto de evento: flash.events.NetDataEvent
propriedade NetDataEvent.type = flash.events.NetDataEvent

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.3, AIR 2.7

Despachado ao reproduzir conteúdo de vídeo e quando certos tipos de mensagens são processados.

Um NetDataEvent é despachado para as seguintes mensagens:

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (para código NetStream.Play.Complete)
  • onTextData
  • onXMPData

Observação: este evento não é despachado pelo conteúdo em execução no Flash Player no navegador do sistema operacional de tablet Android ou Blackberry ou por conteúdo em execução no AIR no iOS.

netStatus

Evento  
Tipo do objeto de evento: flash.events.NetStatusEvent
propriedade NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Despachado quando um objeto NetStream está relatando seu status ou uma condição de erro. O evento netStatus contém uma propriedade info, que é um objeto de informações contendo informações específicas sobre esse evento; por exemplo, se uma tentativa de conexão foi bem-sucedida ou se falhou.

Define o valor da propriedade type de um objeto de evento netStatus.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
infoUm objeto com propriedades que descrevem o status ou condição de erro do objeto.
targetO objeto NetConnection ou o NetStream reportando o respectivo status.

Elementos da API relacionados

onCuePoint

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Estabelece um ouvinte de resposta quando se chega a um ponto de sinalização incorporado durante a reprodução de um arquivo de vídeo. Você pode usar o ouvinte para ativar ações no código quando o vídeo atingir um ponto de sinalização específico, o que permite sincronizar outras ações do aplicativo com eventos de reprodução de vídeo. Para obter informações sobre formatos de arquivo de vídeo apoiados pelo Servidor de Flash Media, visite www.adobe.com/go/learn_fms_fileformats_br .

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

onCuePoint é, na verdade, uma propriedade do objeto NetStream.client. A propriedade está listada na seção Eventos porque responde a um evento de dados durante a transmissão de mídia, usando o Flash Media Server ou durante a reprodução do arquivo FLV. Para obter mais informações, consulte a descrição da classe NetStream. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onCuePoint como evento. Defina uma função de retorno de chamada e anexe-a a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Crie uma subclasse do NetStream e defina seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

O ouvinte de evento associado é acionado depois de uma chamada para o método NetStream.play(), mas antes do avanço do indicador de reprodução do vídeo.

Você pode incorporar os seguintes tipos de pontos de sinalização em um arquivo vídeo:

  • Um ponto de sinalização de navegação especifica um quadro-chave no arquivo de vídeo e a propriedade time desse ponto de sinalização corresponde a esse quadro-chave exato. Pontos de sinalização de navegação costumam ser usados como marcadores ou pontos de entrada para permitir que os usuários naveguem pelo arquivo de vídeo.
  • Um ponto de sinalização de evento especifica uma hora. A hora pode ou pode não equivaler a um quadro chave específico. Um ponto de sinalização de evento geralmente representa um momento no vídeo quando ocorre algo que poderia ser usado para acionar outros eventos do aplicativo.

O objeto de evento onCuePoint tem as seguintes propriedades:

PropriedadeDescrição
nameO nome dado ao ponto de sinalização quando ele foi incorporado ao arquivo de vídeo.
parametersUma matriz de associação das strings de nome e par de valores especificada para este ponto de sinalização. Qualquer string válida pode ser usada para o nome ou o valor do parâmetro.
timeO tempo em segundos no qual o ponto de sinalização ocorreu no arquivo de vídeo durante a reprodução.
tipoO tipo de ponto de sinalização que foi atingido, seja de navegação ou evento.

Você pode definir pontos de sinalização em um arquivo de vídeo quando codificar esse arquivo pela primeira vez ou quando importar um videoclipe na ferramenta de autoria do Flash usando o Assistente de importação de vídeo.

O evento onMetaData também recupera informações sobre os pontos de sinalização em um arquivo de vídeo. Entretanto, o evento onMetaData obtém informações sobre todos os pontos de sinalização antes que o vídeo comece a ser reproduzido. O evento onCuePoint recebe informações sobre um único ponto de sinalização no momento especificado para esse ponto de sinalização durante a reprodução.

Em geral, para que o seu código responda a um ponto de sinalização específico no momento em que ele ocorrer, use o evento onCuePoint para acionar uma ação no código.

Você pode usar a lista de pontos de sinalização fornecida ao evento onMetaData para permitir que o usuário inicie a reprodução do vídeo em pontos predefinidos no fluxo de vídeo. Transmita o valor da propriedade time do ponto de sinalização ao método NetStream.seek() para reproduzir o vídeo a partir desse ponto de sinalização.


Exemplo  ( Como usar este exemplo )

O seguinte exemplo mostra como você pode carregar arquivos FLV externos e responder aos metadados e pontos de sinalização. Exemplo fornecido por ActionScriptExamples.com.
var video:Video = new Video();
addChild(video);
 
var nc:NetConnection = new NetConnection();
nc.connect(null);
 
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;

video.attachNetStream(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");

 
function ns_onMetaData(item:Object):void {
    trace("metaData");
    // Resize video instance.
    video.width = item.width;
    video.height = item.height;
    // Center video instance on Stage.
    video.x = (stage.stageWidth - video.width) / 2;
    video.y = (stage.stageHeight - video.height) / 2;
}
 
function ns_onCuePoint(item:Object):void {
    trace("cuePoint");
    trace(item.name + "\t" + item.time);
}

Elementos da API relacionados

onDRMContentData

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.5, Flash Lite 4

Estabelece um ouvinte para responder quando o AIR extrai metadados de conteúdo DRM incorporados a um arquivo de mídia.

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Um objeto DRMContentData contém as informações necessárias à obtenção de um comprovante obrigatório para reproduzir um arquivo de mídia protegido por DRM. Use a classe DRMManager para baixar o comprovante com essas informações.

onDRMContentData é uma propriedade do objeto NetStream.client. Esta propriedade não está listada na seção Eventos porque responde a um evento de dados durante o pré-carregamento de dados incorporados de um arquivo de mídia local. Para obter mais informações, consulte a descrição da classe NetStream. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onDRMContentData como evento. Em vez disso, você deve definir uma única função de retorno de chamada e anexá-la diretamente a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Entretanto, você pode criar uma subclasse de NetStream e definir o seu manipulador de eventos na subclasse ou torná-la dinâmica e adicionar a função do manipulador de eventos a uma ocorrência dessa subclasse.

Elementos da API relacionados

onImageData

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Estabelece um ouvinte de resposta quando o Flash Player recebe dados de imagem como uma matriz de bytes incorporada em um arquivo de mídia em reprodução. Os dados de imagem podem produzir conteúdo em JPEG, PNG ou GIF. Utilize o método flash.display.Loader.loadBytes() para carregar a matriz de bytes em um objeto de exibição.

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

onImageData é, na verdade, uma propriedade do objeto NetStream.client. A propriedade está listada na seção Eventos porque responde a um evento de dados durante a transmissão de mídia, usando o Flash Media Server, ou durante a reprodução do arquivo FLV. Para obter mais informações, consulte a descrição da classe NetStream. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onImageData como evento. Define uma única função de retorno de chamada e anexa-a diretamente a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Crie uma subclasse do NetStream e defina seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

O ouvinte de evento associado é acionado depois de uma chamada para o método NetStream.play(), mas antes do avanço do indicador de reprodução do vídeo.

O objeto de evento onImageData contém os dados de evento como uma matriz de bytes enviada por meio de um canal de dados AMF0.


Exemplo  ( Como usar este exemplo )

O código do exemplo usa a propriedade Netstream.client para manipular as funções de retorno de chamada de onTextData e onImageData. A função onImageDataHandler() usa o objeto de evento onImageData imageData para armazenar a matriz de bytes. A função onTextDataHandler() usa o objeto de evento onTextData textData para armazenar partes dos dados de texto (cada parte dos dados é uma propriedade do objeto textData).

É necessário substituir um local real de arquivos de mídia por metadados de texto ou de imagem do local "yourURL" no código.

Você também pode manipular dados de texto e de imagem usando uma classe personalizada. Consulte o artigo Handling metadata and cue points in Flash video (Controle de metadados e pontos de sinalização no vídeo do Flash) para obter mais informações e exemplos.

package {
    import flash.display.*;
    import flash.net.*;
    import flash.media.*;
    import flash.system.*;
    import flash.events.*;

        public class OnTextDataExample extends Sprite {
                                              
            public function OnTextDataExample():void {

                var my_video:Video = new Video();
                addChild(my_video);

                var customClient:Object = new Object();
                customClient.onImageData = onImageDataHandler;           
                customClient.onTextData = onTextDataHandler;               

                var my_nc:NetConnection = new NetConnection();
                my_nc.connect(null);
                var my_ns:NetStream = new NetStream(my_nc);
                my_ns.client = customClient;

                my_video.attachNetStream(my_ns);
                my_ns.play("yourURL");
            }

            public function onImageDataHandler(imageData:Object):void {

                trace("imageData length: " + imageData.data.length);
                var imageloader:Loader = new Loader();           
                imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object.
                addChild(imageloader);
            }

    
            public function onTextDataHandler(textData:Object):void {

                trace("--- textData properties ----");
                var key:String;

                for (key in textData) {
                    trace(key + ": " + textData[key]);
                }
            }

        }

}

Elementos da API relacionados

onMetaData

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Estabelece um ouvinte de resposta quando o Flash Player recebe informações descritivas incorporadas ao vídeo em reprodução. Para obter informações sobre formatos de arquivo de vídeo apoiados pelo Servidor de Flash Media, visite www.adobe.com/go/learn_fms_fileformats_br .

onTextData é, na verdade, uma propriedade do objeto NetStream.client. A propriedade está listada na seção Eventos porque responde a um evento de dados durante a transmissão de mídia, usando o Flash Media Server, ou durante a reprodução do arquivo FLV. Para obter mais informações, consulte a descrição da classe e da propriedade NetStream.client. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onMetaData como evento. Define uma única função de retorno de chamada e anexa-a diretamente a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Você pode criar uma subclasse de NetStream e definir o seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

O utilitário Flash Video Exporter (versão 1.1 ou posterior) incorpora informações sobre duração, data de criação e taxas de dados de um vídeo, entre outras, ao próprio arquivo de vídeo. Diferentes codificadores de vídeo incorporam diferentes conjuntos de metadados.

O ouvinte de evento associado é acionado depois de uma chamada para o método NetStream.play(), mas antes do avanço do indicador de reprodução do vídeo.

Em muitos casos, o valor de duração incorporado em metadados de fluxos se aproxima da duração real, mas não é exato. Em outras palavras, nem sempre ele corresponde ao valor da propriedade NetStream.time quando o indicador de reprodução está no final do fluxo de vídeo.

O objeto de evento passado para o manipulador de eventos onMetaData contém uma propriedade para cada parte dos dados.


Exemplo  ( Como usar este exemplo )

O seguinte exemplo mostra como você pode carregar arquivos FLV externos e responder aos metadados e pontos de sinalização. Exemplo fornecido por ActionScriptExamples.com.
var video:Video = new Video();
addChild(video);
 
var nc:NetConnection = new NetConnection();
nc.connect(null);
 
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;

video.attachNetStream(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");

 
function ns_onMetaData(item:Object):void {
    trace("metaData");
    // Resize video instance.
    video.width = item.width;
    video.height = item.height;
    // Center video instance on Stage.
    video.x = (stage.stageWidth - video.width) / 2;
    video.y = (stage.stageHeight - video.height) / 2;
}
 
function ns_onCuePoint(item:Object):void {
    trace("cuePoint");
    trace(item.name + "\t" + item.time);
}

Elementos da API relacionados

onPlayStatus

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Estabelece um ouvinte de resposta quando um objeto NetStream reproduziu um fluxo na íntegra. O objeto de evento associado fornece informações além do que é retornado pelo evento netStatus. Você pode usar a propriedade para ativar ações no código quando um objeto NetStream alternar de um fluxo para outro em uma lista de reprodução (conforme indicação do objeto informações NetStream.Play.Switch) ou quando um objeto NetStream tiver sido reproduzido até o final (conforme indicação do objeto de informações NetStream.Play.Complete).

onPlayStaus é, na verdade, uma propriedade do objeto NetStream.client. A propriedade está listada na seção Eventos porque responde a um evento de dados durante a transmissão de mídia, usando o Flash Media Server, ou durante a reprodução do arquivo FLV. Para obter mais informações, consulte a descrição da classe NetStream. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onPlayStatus como evento. Defina uma função de retorno de chamada e anexe-a a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Crie uma subclasse do NetStream e defina seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

Esse evento pode retornar um objeto de informações com as seguintes propriedades:

Propriedade codePropriedade levelSignificado
NetStream.Play.Switch"status"O assinante está alternando de um fluxo para outro em uma lista de reprodução.
NetStream.Play.Complete"status"A reprodução foi concluída.
NetStream.Play.TransitionComplete"status"O assinante está passando para um novo fluxo, como resultado de uma alternância de taxa de bits do fluxo

Elementos da API relacionados

onSeekPoint

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 2, Flash Lite 4

Invocado sincronicamente de appendBytes() quando o analisador de anexação de bytes encontra um ponto passível de busca (por exemplo, um quadro-chave de vídeo). Use este evento para construir uma tabela de pontos de busca. O byteCount equivale ao byteCount no primeiro byte da mensagem analisável deste ponto de busca, e é redefinido em zero como descrito em cima. Pra realizar uma busca, no evento NetStream.Seek.Notify, localize os bytes que iniciam em um ponto passível de busca e chame appendBytes (bytes). Se o argumento bytes for uma ByteArraycomposta de bytes que iniciam no ponto passível de busca, o vídeo será reproduzido neste ponto de busca.

Observação: As chamadas a appendBytes() de dentro deste retorno de chamada não são ignoradas.

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

A propriedade onSeekPoint é uma propriedade do objeto NetStream.client. A propriedade é enumerada na seção Eventos porque responde a dados que entram para o método appendBytes(). Para obter mais informações, consulte a descrição da classe e da propriedade NetStream.client. Você não pode usar o método addEventListener() ou qualquer outro método EventDispatcher para ouvir ou processar onSeekPOint como um evento. Para usar onSeekPoint, defina uma função de retorno de chamada e anexe-a a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Contudo, você pode criar uma subclasse do NetStream e definir seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

Elementos da API relacionados

onTextData

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Estabelece um ouvinte de resposta quando o Flash Player recebe dados de texto incorporados em um arquivo de mídia em reprodução. Os dados de texto estão no formato UTF-8 e podem conter informações sobre a formatação baseada na especificação de texto com tempo 3GP.

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

onTextData é, na verdade, uma propriedade do objeto NetStream.client. A propriedade está listada na seção Eventos porque responde a um evento de dados durante a transmissão de mídia, usando o Flash Media Server, ou durante a reprodução do arquivo FLV. Para obter mais informações, consulte a descrição da classe NetStream. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onTextData como evento. Defina uma função de retorno de chamada e anexe-a a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Crie uma subclasse do NetStream e defina seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

O ouvinte de evento associado é acionado depois de uma chamada para o método NetStream.play(), mas antes do avanço do indicador de reprodução do vídeo.

O evento onTextData contém uma propriedade para cada parte dos dados de texto.


Exemplo  ( Como usar este exemplo )

O código do exemplo usa a propriedade Netstream.client para manipular as funções de retorno de chamada de onTextData e onImageData. A função onImageDataHandler() usa o objeto de evento onImageData imageData para armazenar a matriz de bytes. A função onTextDataHandler() usa o objeto de evento onTextData textData para armazenar partes dos dados de texto (cada parte dos dados é uma propriedade do objeto textData).

É necessário substituir um local real de arquivos de mídia por metadados de texto ou de imagem do local "yourURL" no código.

Você também pode manipular dados de texto e de imagem usando uma classe personalizada. Consulte o artigo Handling metadata and cue points in Flash video (Controle de metadados e pontos de sinalização no vídeo do Flash) para obter mais informações e exemplos.

package {
    import flash.display.*;
    import flash.net.*;
    import flash.media.*;
    import flash.system.*;
    import flash.events.*;

        public class OnTextDataExample extends Sprite {
                                              
            public function OnTextDataExample():void {

                var my_video:Video = new Video();
                addChild(my_video);

                var customClient:Object = new Object();
                customClient.onImageData = onImageDataHandler;           
                customClient.onTextData = onTextDataHandler;               

                var my_nc:NetConnection = new NetConnection();
                my_nc.connect(null);
                var my_ns:NetStream = new NetStream(my_nc);
                my_ns.client = customClient;

                my_video.attachNetStream(my_ns);
                my_ns.play("yourURL");
            }

            public function onImageDataHandler(imageData:Object):void {

                trace("imageData length: " + imageData.data.length);
                var imageloader:Loader = new Loader();           
                imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object.
                addChild(imageloader);
            }

    
            public function onTextDataHandler(textData:Object):void {

                trace("--- textData properties ----");
                var key:String;

                for (key in textData) {
                    trace(key + ": " + textData[key]);
                }
            }

        }

}

Elementos da API relacionados

onXMPData

Evento  

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Estabelece um ouvinte para responder quando o Flash Player recebe informações específicas do Adobe Extensible Metadata Platform (XMP) incorporadas ao vídeo que está sendo reproduzido. Para obter informações sobre formatos de arquivo de vídeo apoiados pelo Servidor de Flash Media, visite www.adobe.com/go/learn_fms_fileformats_br .

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

onXMPData é, na verdade, uma propriedade do objeto NetStream.client. A propriedade está listada na seção Eventos porque responde a um evento de dados durante a transmissão de mídia, usando o Flash Media Server, ou durante a reprodução do arquivo FLV. Para obter mais informações, consulte a descrição da classe e da propriedade NetStream.client. Você não pode usar o método addEventListener(), ou qualquer outro método EventDispatcher, para ouvir ou processar onMetaData como evento. Defina uma função de retorno de chamada e anexe-a a um dos seguintes objetos:

  • O objeto ao qual a propriedade client de uma ocorrência de NetStream faz referência.
  • Uma ocorrência de uma subclasse NetStream. NetStream é uma classe selada; ou seja, propriedades ou métodos não podem ser adicionados a um objeto NetStream em tempo de execução. Contudo, você pode criar uma subclasse do NetStream e definir seu manipulador de eventos na subclasse. Também é possível tornar a subclasse dinâmica e adicionar a função de controlador de eventos a uma instância da subclasse.

O ouvinte de evento associado é acionado depois de uma chamada para o método NetStream.play(), mas antes do avanço do indicador de reprodução do vídeo.

O objeto transmitido para a função de manipulação de evento onXMPData() tem uma propriedade data, que é uma string. A string é gerada de uma caixa UUID de nível superior. (O UUID de 128 bits da caixa de nível superior é BE7ACFCB-97A9-42E8-9C71-999491E3AFAC.) Essa caixa UUID de nível superior contém exatamente um documento XML representado como uma string UTF-8 terminada por caractere nulo.

Elementos da API relacionados

status

Evento  
Tipo do objeto de evento: flash.events.StatusEvent
propriedade StatusEvent.type = flash.events.StatusEvent.STATUS

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10.1, AIR 1.0, Flash Lite 4

Despachado quando o aplicativo tenta executar o conteúdo criptografado com gerenciamento digital dos direitos (DRM), invocando o método NetStream.play(). O valor da propriedade do código de status será "DRM.encryptedFLV".

Nota: Esse evento não é suportado em vídeos H.264 no AIR 3.0 para iOS.

Define o valor da propriedade type de um objeto de evento status.

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
codeUma descrição do status do objeto.
currentTargetO objeto que está processando ativamente o objeto Event com um ouvinte de evento.
nívelA categoria da mensagem, como "status", "warning" ou "error".
targetO objeto que está reportando o status.

Elementos da API relacionados

Detalhes da constante

CONNECT_TO_FMS

Constante
public static const CONNECT_TO_FMS:String = "connectToFMS"

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Um objeto estático usado como um parâmetro para o construtor de uma ocorrência de NetStream. É o valor padrão do segundo parâmetro do construtor de NetStream; não é usado pelo aplicativo para a reprodução progressiva de mídia. Quando usado, esse parâmetro faz com que o construtor estabeleça uma conexão com uma ocorrência do Flash Media Server.

DIRECT_CONNECTIONS

Constante 
public static const DIRECT_CONNECTIONS:String = "directConnections"

Versão da linguagem: ActionScript 3.0
Versões de runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Cria uma conexão ponto a ponto com o editor. Transmita essa string do segundo parâmetro (opcional) para o construtor de uma ocorrência de NetStream. Com essa string, um aplicativo pode criar uma conexão NetStream para fins de publicação de áudio e vídeo para clientes.

NetConnectionExample.as

O exemplo a seguir usa um objeto Video com as classes NetConnection e NetStream para carregar e reproduzir um arquivo FLV.

Nesse exemplo, o código que cria os objetos Video e NetStream e chama os métodos Video.attachNetStream() e NetStream.play() é inserido em uma função de manipulador. O manipulador apenas será chamado se uma tentativa de conexão com o objeto NetConnection for bem-sucedida; ou seja, quando o evento netStatus retorna um objeto info com uma propriedade code que indica êxito. Convém aguardar uma conexão bem-sucedida antes de chamar NetStream.play().

package {
    import flash.display.Sprite;
    import flash.events.NetStatusEvent;
    import flash.events.SecurityErrorEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.events.Event;

    public class NetConnectionExample extends Sprite {
        private var videoURL:String = "http://www.helpexamples.com/flash/video/cuepoints.flv";
        private var connection:NetConnection;
        private var stream:NetStream;
        private var video:Video = new Video();        

        public function NetConnectionExample() {
            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("Stream not found: " + videoURL);
                    break;
            }
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function connectStream():void {
            addChild(video);
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.client = new CustomClient();
            video.attachNetStream(stream);
            stream.play(videoURL);
        }
    }
}

class CustomClient {
    public function onMetaData(info:Object):void {
        trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
    }
    public function onCuePoint(info:Object):void {
        trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
    }
}
NetConnectionExample.2.as

Você pode obter metadados usando uma função, em vez de criar uma classe personalizada. A seguinte sugestão, fornecida por Bill Sanders, mostra como editar o código NetConnectionExample acima para chamar metadados dentro de uma função. Nesse caso, o objeto mdata é usado para configurar a largura e a altura de a instância de video:
  //Place the following in the connectStream() function
  //in the NetConnectionExample code
  var metaSniffer:Object=new Object();  
  stream.client=metaSniffer; //stream is the NetStream instance  
  metaSniffer.onMetaData=getMeta;  
      
   
  // Add the following function within the NetConnectionExample class  
  private function getMeta (mdata:Object):void  
  {  
     video.width=mdata.width/2;  
     video.height=mdata.height/2;  
  }  




[ X ]Por que inglês?
O conteúdo na Referência do ActionScript 3.0 aparece em inglês

Nem todas as partes da Referência do ActionScript 3.0 estão traduzidas em todos os idiomas. Quando um elemento de um idioma não está traduzido, ele é exibido em inglês. Por exemplo, a classe ga.controls.HelpBox não está traduzida em nenhum idioma. Por isso, na versão da referência em português do Brasil, a classe ga.controls.HelpBox é exibida em inglês.