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.media 

Sound  - 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.media
Classepublic class Sound
HerançaSound Inheritance EventDispatcher Inheritance Object
Subclasses SoundAsset

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

A classe Sound permite trabalhar com o som em um aplicativo. A classe Sound permite criar um novo objeto Sound, carregar e reproduzir um arquivo MP3 original nesse objeto, fechar o fluxo de som e acessar os dados sobre o som, como informações sobre o número de bytes no fluxo e nos metadados ID3. São realizados controles mais detalhados do som através da origem – o objeto SoundChannel ou Microphone para o som – e através das propriedade na classe SoundTransform que controlam a saída do som dos alto-falantes do computador.

No Flash Player 10 e posterior e no AIR 1.5 e posterior, você pode também usar esta classe para trabalhar com o som gerado dinamicamente. Nesse caso, o o objeto Sound usa a função atribuída a um identificador de evento sampleData para consultar dados de som. O som é reproduzido quando é recuperado de um objeto ByteArray que você preenche com dados de som. É possível usar a função Sound.extract() para extrair dados de som de um objeto Sound e, depois, manipulá-los antes de gravá-los novamente no fluxo de reprodução.

Para controlar sons que estão incorporados em um arquivo SWF, use as propriedades na classe SoundMixer.

Observação: a API Sound do ActionScript 3.0 é diferente do ActionScript 2.0. No ActionScript 3.0, não é possível pegar os objetos de som e organizá-los em uma hierarquia para controlar suas propriedades.

Ao usar essa classe, considere o seguinte modelo de segurança:

  • Não é permitido carregar e reproduzir um som se o arquivo de chamada estiver em uma caixa de proteção de rede e o arquivo de som a ser carregado for local.
  • Por padrão, o carregamento e a reprodução de um som não serão permitidos se o arquivo de chamada for local e houver tentativa de carregar e reproduzir um som remoto. O usuário deve conceder permissão explícita para permitir esse tipo de acesso.
  • Certas operações que lidam com som são restritas. Os dados em um som carregado não podem ser acessados por um arquivo em um domínio diferente, a menos que você implemente um arquivo de política de vários domínios. As APIs relacionadas com som que se enquadram nesta restrição são as classes Sound.id3, SoundMixer.computeSpectrum(), SoundMixer.bufferTime e SoundTransform.

Contudo, no Adobe AIR, o conteúdo na caixa de proteção de segurança application (conteúdo instalado com o Adobe AIR) não é restringido por essas limitações de segurança.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Veja os exemplos

Elementos da API relacionados



Propriedades públicas
 PropriedadeDefinido por
  bytesLoaded : uint
[somente leitura] Retorna o número atualmente disponível de bytes neste objeto de som.
Sound
  bytesTotal : int
[somente leitura] Retorna o número total de bytes neste objeto de som.
Sound
 Inheritedconstructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto.
Object
  id3 : ID3Info
[somente leitura] Fornece acesso aos metadados que fazem parte de um arquivo MP3.
Sound
  isBuffering : Boolean
[somente leitura] Retorna o estado de buffer dos arquivos MP3 externos.
Sound
  isURLInaccessible : Boolean
[somente leitura] Indica se a propriedade Sound.url foi truncada.
Sound
  length : Number
[somente leitura] A duração do som atual em milésimos de segundo.
Sound
  url : String
[somente leitura] A URL a partir da qual esse som foi carregado.
Sound
Métodos públicos
 MétodoDefinido por
  
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
Cria um novo objeto Sound.
Sound
 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
  
Fecha o fluxo, resultando no encerramento de qualquer download de dados.
Sound
 Inherited
Envia um evento para o fluxo de eventos.
EventDispatcher
  
extract(target:ByteArray, length:Number, startPosition:Number = -1):Number
Extrai dados de som brutos de um objeto Sound.
Sound
 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
  
load(stream:URLRequest, context:SoundLoaderContext = null):void
Inicia o carregamento de um arquivo MP3 externo a partir da URL especificada.
Sound
  
carrega dados de áudio MP3 a partir de um objeto ByteArray em um objeto Sound.
Sound
  
loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Carrega dados de áudio do ponto flutuante PCM de 32 bits de um objeto ByteArray para um objeto Sound.
Sound
  
play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Gera um novo objeto SoundChannel para reproduzir o som.
Sound
 Inherited
Indica se a propriedade especificada existe e é enumerável.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Remove um ouvinte do objeto EventDispatcher.
EventDispatcher
 Inherited
Define a disponibilidade de uma propriedade dinâmica para operações de repetição.
Object
 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 os dados foram carregados com êxito.Sound
 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 por um objeto Sound quando dados ID3 estão disponíveis para sons MP3.Sound
  Despachado quando ocorre um erro de entrada/saída que resulta na falha de uma operação de carregamento.Sound
  Despachado quando uma operação de carregamento é iniciada.Sound
  Despachado quando os dados são recebidos ao longo do progresso de uma operação de carregamento.Sound
  Despachado quando o tempo de execução solicita novos dados de áudio.Sound
Detalhes da propriedade

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

Retorna o número atualmente disponível de bytes neste objeto de som. Geralmente, essa propriedade é útil somente para arquivos carregados externamente.



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

bytesTotal

propriedade 
bytesTotal:int  [somente leitura]

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

Retorna o número total de bytes neste objeto de som.



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

id3

propriedade 
id3:ID3Info  [somente leitura]

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

Fornece acesso aos metadados que fazem parte de um arquivo MP3.

Os arquivos de som MP3 podem conter marcas ID3, que fornece metadados sobre o arquivo. Caso um som MP3 que você carregar com o método Sound.load() contiver marcas ID3, você pode pesquisar essas propriedades. Apenas as marcas ID3, que usam o conjunto de caracteres UTF-8, recebem suporte.

O Flash Player 9 e posterior e o AIR oferecem suporte a marcas ID3 2.0, especialmente 2.3 e 2.4. As tabelas a seguir listam as marcas ID3 2.0 padrão e o tipo de conteúdo que elas representam. A propriedade Sound.id3 fornece acesso a essas marcas através do formato my_sound.id3.COMM, my_sound.id3.TIME e assim por diante. A primeira tabela descreve as marcas que podem ser acessadas através do nome da propriedade ID3 2.0 ou do nome da propriedade ActionScript. A segunda tabela descreve as marcas ID3 que recebem suporte, mas não têm propriedade predefinidas no ActionScript.

Marca ID3 2.0Propriedade da classe Sound correspondente
COMMSound.id3.comment
TALBSound.id3.album
TCONSound.id3.genre
TIT2Sound.id3.songName
TPE1Sound.id3.artist
TRCKSound.id3.track
TYERSound.id3.year

A tabela a seguir descreve as marcas ID3 suportadas, mas que não têm propriedades pré-definidas na classe Sound. Você as acessa chamando mySound.id3.TFLT, mySound.id3.TIME e assim por diante. NOTA: Nenhuma destas tags é suportada no Flash Lite 4.

PropriedadeDescrição
TFLTTipo de arquivo
TIMETempo
TIT1Descrição do grupo de conteúdo
TIT2Título/nome da música/descrição do conteúdo
TIT3Subtítulo/refinamento da descrição
TKEYChave inicial
TLANIdiomas
TLENDuração
TMEDTipo de mídia
TOALÁlbum/filme/título do show originais
TOFNNome do arquivo original
TOLYCompositores/autores do texto originais
TOPEArtistas/intérpretes originais
TORYAno da versão original
TOWNPropriedade do arquivo/licenciado
TPE1Principais artistas/solistas
TPE2Banda/orquestra/acompanhamento
TPE3Refinamento de condutor/realizador
TPE4Interpretado, remixado ou modificado por
TPOSParte de um conjunto
TPUBEditor
TRCKNúmero/posição da faixa em conjunto
TRDADatas da gravação
TRSNNome da estação de rádio da Internet
TRSOProprietário da estação de rádio da Internet
TSIZTamanho
TSRCISRC (código de gravação padrão internacional)
TSSESoftware/hardware e configurações usadas para codificação
TYERAno
WXXXQuadro do link de URL

Ao usar essa propriedade, considere o modelo de segurança do Flash Player:

  • A propriedade id3 de um objeto Sound é sempre permitida pelos arquivos SWF que estão na mesma sandbox de segurança que o arquivo de som. Para os arquivos em outras sandboxes, há verificações de segurança.
  • Ao carregar o som, usando o método load() da classe Sound, você pode especificar um parâmetro context, que é um objeto SoundLoaderContext. Se você define a propriedade checkPolicyFile do objeto SoundLoaderContext como true, o Flash Player verifica se há um arquivo de diretivas de URL no servidor do qual o som é carregado. Se existir um arquivo de diretivas que permita o acesso a partir do domínio do arquivo SWF de carregamento, o arquivo poderá acessar a propriedade id3 do objeto Sound; caso contrário, ele não poderá.

Contudo, no Adobe AIR, o conteúdo na caixa de proteção de segurança application (conteúdo instalado com o Adobe AIR) não é restringido por essas limitações de segurança.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.



Implementação
    public function get id3():ID3Info

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )
O exemplo a seguir lê as informações de ID3 de um arquivo de som e as exibe em um campo de texto.

No construtor, o arquivo de som é carregado, mas não é configurado para reprodução. Aqui assume-se que o arquivo esteja no diretório SWF. O sistema deve ter permissão para ler as marcas ID3 de um arquivo de som carregado. Se houver informações ID3 no arquivo e o programa tiver permissão para lê-las, será acionado um evento Event.ID3, e a propriedade id3 do arquivo de som será preenchida. A propriedade id3 contém um objeto ID3Info com todas as informações ID3.

No método id3Handler(), as marcas ID3 do arquivo são armazenadas em id3, um objeto da classe ID3Info. O campo de texto é instancionado para exibir a lista das marcas ID3. O loop for realiza todas as marcas ID3 2.0 e anexa o nome e o valor ao conteúdo do campo de texto. Usando as propriedades de informações ID3 (ID3Info), o artista, o nome da música e o álbum também são anexados. O ActionScript 3.0 e o Flash Player 9 e as versões posteriores oferecem suporte às marcas ID3 2.0, especificamente 2.3 e 2.4. Se você iterar pelas propriedades como no loop for, vão aparecer apenas as marcas ID3 2.0. No entanto, as datas das versões anteriores também são armazenadas na propriedade id3 da música, podendo ser acessada com as propriedades da classe de informação ID3. As marcas para o ID3 1.0 estão no final do arquivo, enquanto as marcas ID3 2.0 estão no começo do arquivo. (Às vezes, os arquivos podem ter marcas da versão anterior e da versão mais recente no mesmo lugar.) Caso um arquivo tenha sido codificado com marcas da versão 1.0 e 2.0 no começo e no final do arquivo, o método id3Handler() será invocado duas vezes. Ele primeiro lê a versão 2.0 e depois a versão 1.0. Caso apenas a marca ID3 1.0 esteja disponível, as informações podem ser acessadas através das propriedades de informação ID3, como id3.songname. Para o ID3 2.0, a propriedade id3.TITS vai recuperar o nome da música a nova marca (TITS).

Observe que nenhum tratamento de erro é gravado para este exemplo e, se o conteúdo ID3 for longo, o resultado pode ir além da área visualizável.

package {
    import flash.display.Sprite;
    import flash.media.Sound;
    import flash.net.URLRequest;
    import flash.media.ID3Info;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.Event;

    public class Sound_id3Example extends Sprite {
        private var snd:Sound = new Sound();       
        private var myTextField:TextField = new TextField();

        public function Sound_id3Example() {
            snd.addEventListener(Event.ID3, id3Handler);
            snd.load(new URLRequest("mySound.mp3"));
        }
    
        private function id3Handler(event:Event):void {
            var id3:ID3Info = snd.id3;

            myTextField.autoSize = TextFieldAutoSize.LEFT;
            myTextField.border = true;

            myTextField.appendText("Received ID3 Info: \n");
              
            for (var propName:String in id3) {
                myTextField.appendText(propName + " = " + id3[propName] + "\n");
            }
 
            myTextField.appendText("\n" + "Artist: " + id3.artist + "\n");
            myTextField.appendText("Song name: " + id3.songName + "\n");
            myTextField.appendText("Album: " + id3.album + "\n\n"); 
 
            this.addChild(myTextField);
        }
    }
}

isBuffering

propriedade 
isBuffering:Boolean  [somente leitura]

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

Retorna o estado de buffer dos arquivos MP3 externos. Se o valor for true, qualquer reprodução está suspensa no momento, enquanto o objeto aguarda mais dados.



Implementação
    public function get isBuffering():Boolean

isURLInaccessible

propriedade 
isURLInaccessible:Boolean  [somente leitura]

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

Indica se a propriedade Sound.url foi truncada. Quando o valor isURLInaccessible o é true o valor Sound.url é apenas o domínio do URL final do qual o som carregou. Por exemplo, a propriedade será truncada se o som for carregado de http://www.adobe.com/assets/hello.mp3 e a propriedade Sound.url tiver o valor http://www.adobe.com.br. O valor isURLInaccessible é true somente quando todos os seguintes também são true:

  • Um redirecionamento de HTTP ocorreu ao carregar o arquivo de som.
  • A chamada de arquivo SWF Sound.load() é de um domínio diferente do que o URL final do arquivo sólido.
  • A chamada de arquivo SWF Sound.load() não tem permissão para acessar o arquivo sólido. A permissão é dada para acessar o arquivo de som da mesma forma que é dada para a propriedade Sound.id3: estabeleça um arquivo de política e use a propriedadeSoundLoaderContext.checkPolicyFile.

Observação: A propriedade isURLInaccessible foi adicionada para o Flash Player 10.1 e o AIR 2.0. Contudo, esta propriedade está disponível para arquivos SWF de todas as versões quando o tempo de execução do Flash a suporta. Desta maneira, usar algumas ferramentas de autoria no "modo estrito" causa um erro de compilação. Para trabalhar em retorna do erro usam a sintaxe indireta mySound ("isURLInaccessible") , ou desativam o modo estrito. Se você estiver usando Flash Professional CS5 ou Flex SDK 4.1, você pode usar e compilar este API para tempos de execução lançados antes do Flash Player 10.1 e AIR 2.

Para conteúdo de aplicativo no AIR, o valor desta propriedade é sempre false.



Implementação
    public function get isURLInaccessible():Boolean

Elementos da API relacionados

length

propriedade 
length:Number  [somente leitura]

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

A duração do som atual em milésimos de segundo.



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

url

propriedade 
url:String  [somente leitura]

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

A URL a partir da qual esse som foi carregado. Essa propriedade é aplicável apenas aos objetos Sound que foram carregados usando o método Sound.load(). Para os objetos Sound que estão associados com um ativo de som de uma biblioteca do SWF, o valor da propriedade url é null.

Quando você chama primeiro Sound.load(), a propriedade url inicialmente tem o valor null, pois a URL final ainda não é conhecida. A propriedade url terá um valor não null tão logo seja despachado um evento open do objeto Sound.

A propriedade url contém a URL final e absoluta a partir da qual foi carregado um som. O valor de url é geralmente igual ao valor passado para o parâmetro streamde Sound.load(). No entanto, se você passou uma URL relativa para Sound.load(), o valor da propriedade url vai representar a URL absoluta. Além disso, se a solicitação da URL original foi redirecionada por um servidor HTTP, o valor da propriedade url reflete a URL final a partir da qual o arquivo de som foi realmente baixado. Esse relatório de uma URL final absoluta é equivalente ao comportamento de LoaderInfo.url.

Em alguns casos, o valor da propriedade url é truncado; consulte a propriedade isURLInaccessible para obter detalhes.



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

Elementos da API relacionados

Detalhes do construtor

Sound

()Construtor
public function Sound(stream:URLRequest = null, context:SoundLoaderContext = null)

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

Cria um novo objeto Sound. Se você passar um objeto URLRequest válido para o construtor Sound, o construtor chama automaticamente a função load() para o objeto Sound. Se você não passar um objeto URLRequest válido para o construtor Sound, você mesmo deve chamar a função load() para o objeto Sound, ou o fluxo não será carregado.

Depois que load() é chamado em um objeto Sound, você não pode carregar mais tarde um arquivo de som diferente naquele objeto Sound. Para carregar um arquivo de som diferente, crie um objeto Sound.

No Flash Player 10 e posterior e no AIR 1.5 e posterior, em vez de usar load(), você pode usar o identificador de evento sampleData para carregar dinamicamente o som no objeto Sound.

Parâmetros
stream:URLRequest (default = null) — A URL que aponta para um arquivo MP3 externo.
 
context:SoundLoaderContext (default = null) — Um objeto context opcional SoundLoader, que pode definir o tempo do buffer (o número mínimo de milissegundos de dados de MP3 a ser armazenado buffer do objeto Sound) e pode especificar se o aplicativo deve pesquisar uma política de vários domínios antes de carregar o som.
Detalhes do método

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

Fecha o fluxo, resultando no encerramento de qualquer download de dados. Não é possível ler dados do fluxo depois que se chama o método close().


Lança
IOError — O fluxo não poderia ser fechado, ou o fluxo não foi aberto.

Exemplo  ( Como usar este exemplo )

No exemplo a seguir, quando o usuário clica no botão Parar, o método Sound.close() será chamado e o som vai parar com o streaming.

No construtor, é criado um campo de texto para o botão Iniciar e Parar. Quando o usuário clica no campo de texto, o método clickHandler() é invocado. Ele lida com o início e a interrupção do arquivo de som. Observe que, dependendo da conexão de rede ou de quando o usuário clica no botão Parar, boa parte do arquivo já poderia ter sido carregado, podendo levar algum tempo para que o arquivo de som comece a ser reproduzido. É usado um bloco try...catch para capturar qualquer erro IO que pode ocorrer enquanto se fecha o fluxo. Por exemplo, se o som é carregado de um diretório local e não passa por streaming, é capturado o erro 2029, que afirma o seguinte: "Esse objeto URLStream não tem um fluxo aberto".

 
package {
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.media.Sound;    
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.MouseEvent;
    import flash.errors.IOError;
    import flash.events.IOErrorEvent;

    public class Sound_closeExample extends Sprite {
        private var snd:Sound = new Sound();
        private var button:TextField = new TextField();
        private var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3");
        
        public function Sound_closeExample() {
            button.x = 10;
            button.y = 10;
            button.text = "START";
            button.border = true;
            button.background = true;
            button.selectable = false;
            button.autoSize = TextFieldAutoSize.LEFT;

            button.addEventListener(MouseEvent.CLICK, clickHandler);

            this.addChild(button);
        }

        private function clickHandler(e:MouseEvent):void {

            if(button.text == "START") {

                snd.load(req);
                snd.play();        

                snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);

                button.text = "STOP";
            }
            else if(button.text == "STOP") {
                    
                try {
                    snd.close();
                    button.text = "Wait for loaded stream to finish.";
                }
                catch (error:IOError) {
                    button.text = "Couldn't close stream " + error.message;    
                }
            }
        }
        
        private function errorHandler(event:IOErrorEvent):void {
                button.text = "Couldn't load the file " + event.text;
        }
    }
}


extract

()método 
public function extract(target:ByteArray, length:Number, startPosition:Number = -1):Number

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

Extrai dados de som brutos de um objeto Sound.

Este método deve ser usado quando você estiver trabalhando com áudio gerado dinamicamente, usando uma função atribuída ao evento sampleData de um objeto Sound diferente. Ou seja, você pode usar esse método para extrair dados de som de um objeto Sound. Em seguida, grave os dados na matriz de bytes que um outro objeto Sound está usando para transmitir áudio dinâmico.

Os dados de áudio são colocados na matriz de bytes de destino, começando na posição atual da matriz de bytes. Os dados de áudio são sempre expostos como 44100 Hz Stereo. O tipo de amostra é um valor de ponto de flutuação de 32 bits que pode ser convertido em número usando a função ByteArray.readFloat().

Parâmetros

target:ByteArray — Um objeto ByteArray no qual são colocadas as amostras de som extraídas.
 
length:Number — O número de amostras de som para extrair. Uma amostra contém os canais esquerdo e direito, ou seja, dois valores de ponto flutuante de 32 bits.
 
startPosition:Number (default = -1) — A amostra na qual começa a extração. Se você não especificar um valor, a primeira chamada à função Sound.extract() começará no início do som; as chamadas subsequentes sem um valor para startPosition avançam em sequência pelo arquivo.

Retorna
Number — O número de amostras gravado no ByteArray especificado no parâmetro target.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir carrega um arquivo mp3 e usa o método extract() da classe Sound para acessar os dados de áudio.

Os dados mp3 são carregados no objeto Sound sourceSnd. Quando o aplicativo carrega os dados mp3, ele chama a função loaded() (o manipulador do evento complete do objeto sourceSnd). Um segundo objeto Sound, outputSound, é usado para reproduzir o áudio modificado. O objeto outputSound tem um ouvinte de evento sampleData; assim, o objeto despacha eventos sampleData periódicos quando você chama o método play() do objeto. O método upOctave() retorna uma matriz de bytes dos dados de áudio modificados com base nos dados de áudio de origem. Ele retorna áudio um oitavo mais alto, ignorando todas as outras amostras de áudio dos dados de origem. O manipulador do evento sampleData grava a matriz de bytes retornada na propriedade data do objeto outputSound. A matriz de bytes data é acrescentada aos dados de áudio de saída do objeto outputSound.

Para testar esse exemplo, adicione o arquivo test.mp3 ao mesmo diretório do arquivo SWF.

var sourceSnd:Sound = new Sound();
var outputSnd:Sound = new Sound();
var urlReq:URLRequest = new URLRequest("test.mp3");

sourceSnd.load(urlReq);
sourceSnd.addEventListener(Event.COMPLETE, loaded);

function loaded(event:Event):void
{
    outputSnd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound);
    outputSnd.play();
}

function processSound(event:SampleDataEvent):void
{
    var bytes:ByteArray = new ByteArray();
    sourceSnd.extract(bytes, 4096);
    event.data.writeBytes(upOctave(bytes));
}

function upOctave(bytes:ByteArray):ByteArray
{
    var returnBytes:ByteArray = new ByteArray();
    bytes.position = 0;
    while(bytes.bytesAvailable > 0)
    {
        returnBytes.writeFloat(bytes.readFloat());
        returnBytes.writeFloat(bytes.readFloat());
        if (bytes.bytesAvailable > 0)
        {
            bytes.position += 8;
        }
    }
    return returnBytes;
}

load

()método 
public function load(stream:URLRequest, context:SoundLoaderContext = null):void

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

Inicia o carregamento de um arquivo MP3 externo a partir da URL especificada. Se você fornecer um objeto URLRequest válido ao construtor Sound, o construtor chama Sound.load() para você. Você mesmo só precisa chamar Sound.load() se você não passar um objeto URLRequest válido para o construtor Sound ou passar um valor null.

Depois que load() é chamado em um objeto Sound, você não pode carregar mais tarde um arquivo de som diferente naquele objeto Sound. Para carregar um arquivo de som diferente, crie um objeto Sound.

Ao usar esse método, considere o seguinte modelo de segurança:

  • A chamada de Sound.load() não é permitida se a chamada do arquivo encontra-se na caixa de proteção local com sistema de arquivo e o som está na sandbox de rede.
  • O acesso da caixa de proteção local confiável ou local com rede exige permissão de um site através de um arquivo de diretivas de URL.
  • Não é possível conectar-se às portas normalmente reservadas. Para ver uma lista completa de portas bloqueadas, consulte "Restrição de APIs de rede" no Guia do Desenvolvedor do ActionScript 3.0.
  • Você pode impedir o arquivo SWF de usar esse método definindo o parâmetro allowNetworking das tags object e embed na página HTML com o conteúdo SWF.

No Flash Player 10 e posterior, se você usar um Content-Type de partes múltiplas (por exemplo, "multipart/form-data") que contém um upload (indicado por um parâmetro "filename" no cabeçalho "content-disposition" do corpo POST), a operação POST ficará sujeita às regras de segurança aplicadas a uploads:

  • A operação POST deverá ser executada em resposta a uma ação iniciada pelo usuário, por exemplo, clique de mouse ou pressionamento de tecla.
  • Se a operação POST for entre domínios (se o destino de POST não estiver no mesmo servidor do arquivo SWF que está enviando a solicitação POST), o servidor de destino deverá fornecer um arquivo de diretivas de URL que permita o acesso entre domínios.

Além disso, a sintaxe deverá ser válida (de acordo com os padrões RFC2046) para qualquer Content-Type de partes múltiplas. Se a sintaxe for inválida, a operação POST ficará sujeita às regras de segurança aplicadas a uploads.

No Adobe AIR, o conteúdo na caixa de proteção de segurança application (conteúdo instalado com o aplicativo AIR) não é restringido por essas limitações de segurança.

Para obter mais informações relacionadas à segurança, consulte o tópico do Centro dos desenvolvedores do Flash Player Security.

Parâmetros

stream:URLRequest — Uma URL que aponta para um arquivo MP3 externo.
 
context:SoundLoaderContext (default = null) — Um objeto context opcional SoundLoader, que pode definir o tempo do buffer (o número mínimo de milissegundos de dados de MP3 a ser armazenado buffer do objeto Sound) e pode especificar se o aplicativo deve pesquisar uma política de vários domínios antes de carregar o som.


Lança
IOError — Um erro de rede fez com que houvesse falha no carregamento.
 
SecurityError — Os arquivos locais não confiáveis não podem se comunicar com a Internet. Você pode trabalhar com isso reclassificando esse arquivo como local com rede ou confiável.
 
SecurityError — Não é possível conectar-se às portas normalmente reservadas. Para ver uma lista completa de portas bloqueadas, consulte "Restrição de APIs de rede" no Guia do Desenvolvedor do ActionScript 3.0.
 
IOError — A propriedade digest do objeto stream não é null. Somente defina a propriedade digest de um objeto URLRequest quando chamar o método URLLoader.load() ao carregar um arquivo SWZ (componente da plataforma Adobe).

Exemplo  ( Como usar este exemplo )

O exemplo a seguir exibe o progresso de carregamento de um arquivo de som.

No construtor, é criado um objeto URLRequest para identificar o local do arquivo de som, que é um podcast da Adobe. O arquivo é carregado em um bloco try...catch para capturar qualquer erro que pode ocorrer enquanto se está carregando o arquivo. Se tiver ocorrido um erro IO, o método errorHandler() também é invocado e a mensagem de erro é gravada no campo de texto pretendido para o relatório de progresso. Enquanto a operação de carga está em progresso, é despachado um evento ProgressEvent.PROGRESS e o método progressHandler() é chamado. Aqui, o evento ProgressEvent.PROGRESS é usado como timer para calcular o progresso do carregamento.

O método progressHandler() divide o valor bytesLoaded transmitido com o objeto ProgressEvent pelo valor bytesTotal para chegar a uma percentagem dos dados de som que estão sendo carregados. Então, esses valores são exibidos no campo de texto. (Observe que, se o arquivo for pequeno, estiver em cache ou estiver no diretório local, não é possível observar o progresso.)

package {
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.media.Sound;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.ProgressEvent;
    import flash.events.IOErrorEvent;
    
    public class Sound_loadExample extends Sprite {
        private var snd:Sound = new Sound();
        private var statusTextField:TextField  = new TextField();

        public function Sound_loadExample(){

            statusTextField.autoSize = TextFieldAutoSize.LEFT;
            var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3");
            
            try {
            snd.load(req);
            
            snd.play();
            }
            catch (err:Error) {
                trace(err.message);
            }
 
            snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            snd.addEventListener(ProgressEvent.PROGRESS, progressHandler);
                     
            this.addChild(statusTextField);
        }
    
        private function progressHandler(event:ProgressEvent):void {
            var loadTime:Number = event.bytesLoaded / event.bytesTotal;
            var LoadPercent:uint = Math.round(100 * loadTime);
              
            statusTextField.text = "Sound file's size in bytes: " + event.bytesTotal + "\n" 
                                 + "Bytes being loaded: " + event.bytesLoaded + "\n" 
                                 + "Percentage of sound file that is loaded " + LoadPercent + "%.\n";
        }
 
        private function errorHandler(errorEvent:IOErrorEvent):void {
            statusTextField.text = "The sound could not be loaded: " + errorEvent.text;
        }
    }
}

loadCompressedDataFromByteArray

()método 
public function loadCompressedDataFromByteArray(bytes:ByteArray, bytesLength:uint):void

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

carrega dados de áudio MP3 a partir de um objeto ByteArray em um objeto Sound. Os dados serão lidos na posição de ByteArray atual e deixarão a posição ByteArray no fim do comprimento de bytes especificado, após o término. Se os dados de áudio de MP3 contiverem dados ID3, os eventos de ID3 serão despachados durante estas chamadas de função. Essa função irá gerar uma exceção se o objeto ByteArray não contiver dados suficientes.

Parâmetros

bytes:ByteArray
 
bytesLength:uint

loadPCMFromByteArray

()método 
public function loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void

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

Carrega dados de áudio do ponto flutuante PCM de 32 bits de um objeto ByteArray para um objeto Sound. Os dados serão lidos na posição de ByteArray atual e deixarão a posição ByteArray no fim do comprimento de amostra especificado, multiplicado por 1 canal ou por 2 canais, se o sinalizador estéreo for definido, após o término.

A partir do Flash Player 11.8, a quantidade de dados de áudio que podem ser transmitidos para essa função é limitada. Em versões SWF >= 21, essa função lançará uma exceção se a quantidade de dados de áudio transmitidos nessa função for acima de 1800 segundos. Isto é, as amostras / sampleRate deve ser menor ou igual a 1800. Em versões swf < 21, o tempo de execução falha silenciosamente se a quantidade de dados de áudio transmitidos for mais de 12000 segundos. Isso é fornecido somente para compatibilidade retroativa.

Essa função gera uma exceção se o objeto ByteArray não contiver dados suficientes.

Parâmetros

bytes:ByteArray
 
samples:uint
 
format:String (default = "float")
 
stereo:Boolean (default = true)
 
sampleRate:Number (default = 44100.0)

play

()método 
public function play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel

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

Gera um novo objeto SoundChannel para reproduzir o som. Esse método retorna um objeto SoundChannel, que você acessa para parar o som e monitorar o volume. (Para controlar o volume, o panorama e o equilíbrio, acesse o objeto SoundTransform atribuído ao canal de som.)

Parâmetros

startTime:Number (default = 0) — A posição inicial em milissegundos na qual a reprodução deve iniciar.
 
loops:int (default = 0) — Define o número de vezes que um som realiza loop novamente para o valor startTime antes que o canal de som pare de ser reproduzido.
 
sndTransform:flash.media:SoundTransform (default = null) — O objeto SoundTransform inicia atribuído ao canal de som.

Retorna
SoundChannel — Um objeto SoundChannel, que você usa para controlar o som. Esse método retorna null se você não tiver placa de som ou se ficar sem canais de som disponíveis. O número máximo de canais de sons disponíveis de uma vez é 32.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

No exemplo a seguir, depois que o arquivo é carregado, o usuário que usa uma barra gráfica pode selecionar a posição de início (hora de início) do arquivo de som.

O construtor chama o método Sound.load() para iniciar o carregamento dos dados de som. Em seguida, ele chama o método Sound.play() que vai começar a reproduzir o som tão logo tenham sido carregados dados suficientes. O método Sound.play() retorna um objeto SoundChannel que pode ser usado para controlar a reprodução do som. O campo de texto exibe as instruções. Para garantir que o conteúdo de onde o usuário deseja que o som seja iniciado já tenha sido carregado, o objeto bar Sprite é criado e exibido depois que o carregamento do arquivo foi concluído. É despachado um evento Event.COMPLETE quando o arquivo é carregado com sucesso, que dispara o método completeHandler(). O método completeHandler() cria então a barra e a adiciona à lista de exibição. (É usado um objeto sprite no lugar de um objeto de forma para suportar a interatividade.) Quando o usuário clica na barra, o método clickHandler() é acionado.

No método clickHandler(), a posição da coordenada x do clique do usuário, event.localX, é usada para determinar onde o usuário quer que o arquivo comece. Como a barra tem 100 pixels e começa nos 100 pixels da coordenada x, é fácil determinar a percentagem da posição. Além disso, como o arquivo é carregado, a propriedade length do arquivo de som terá a extensão do arquivo completo em milissegundos. Usando a duração do arquivo de som e a posição na linha, é determinada uma posição inicial para o arquivo de som. Depois que se interrompe a reprodução do som, o arquivo reinicia na posição inicial selecionada, que fica depois do parâmetro startTime do método play().

 
package {
    import flash.display.Sprite;
    import flash.display.Graphics;
    import flash.events.MouseEvent;
    import flash.media.Sound;;
    import flash.net.URLRequest;
    import flash.media.SoundChannel;
    import flash.events.ProgressEvent;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.IOErrorEvent;
    
    public class Sound_playExample1 extends Sprite {
        private var snd:Sound = new Sound();
        private var channel:SoundChannel = new SoundChannel();
        private var infoTextField:TextField = new TextField();
    
        public function Sound_playExample1() {

            var req:URLRequest = new URLRequest("MySound.mp3");
            
            infoTextField.autoSize = TextFieldAutoSize.LEFT;
            infoTextField.text = "Please wait for the file to be loaded.\n" 
                                + "Then select from the bar to decide where the file should start.";
            
            snd.load(req);               
            channel = snd.play();

            snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            snd.addEventListener(Event.COMPLETE, completeHandler);


            this.addChild(infoTextField);
        }

        private function completeHandler(event:Event):void {                
            infoTextField.text = "File is ready.";

            var bar:Sprite = new Sprite();

            bar.graphics.lineStyle(5, 0xFF0000);
            bar.graphics.moveTo(100, 100);
            bar.graphics.lineTo(200, 100);

            bar.addEventListener(MouseEvent.CLICK, clickHandler);

            this.addChild(bar);
        }
    
        private function clickHandler(event:MouseEvent):void {
            
                var position:uint = event.localX;
                var percent:uint = Math.round(position) - 100;   
                var cue:uint = (percent / 100) * snd.length;

                channel.stop();
                channel = snd.play(cue);    
        }

        private function errorHandler(errorEvent:IOErrorEvent):void {
            infoTextField.text = "The sound could not be loaded: " + errorEvent.text;
        }
    }
}

No exemplo a seguir, dependendo de se o usuário clica uma ou duas vezes em um botão, o som será reproduzido uma ou duas vezes.

No construtor, o som é carregado, e é criado apenas um objeto button simples da entidade gráfico do retângulo. (É usado um objeto sprite no lugar de um objeto de forma para suportar a interatividade.) Aqui assume-se que o arquivo de som encontra-se no mesmo diretório que o arquivo SWF. (Não há código de manuseio de erro para este exemplo.)

Dois ouvintes de eventos são configurados para responder a cliques únicos ou cliques duplos do mouse. Se o usuário clicar uma vez, é invocado o método clickHandler(), que reproduz o som. Se o usuário clicar duas vezes em um botão, é invocado o método doubleClickHandler(), que reproduzirá o arquivo de som duas vezes. O segundo argumento do método play() é configurado como 1, o que significa que haverá no som um loop novamente para a hora de início e ele será reproduzido novamente. A hora de início, o primeiro argumento, é configurada como 0, significando que o arquivo será reproduzido desde o início.

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.media.Sound;
    import flash.net.URLRequest;

    public class Sound_playExample2 extends Sprite {
        private var button:Sprite = new Sprite(); 
        private var snd:Sound = new Sound();
            
        public function Sound_playExample2() {

            var req:URLRequest = new URLRequest("click.mp3");
            snd.load(req);               
     
            button.graphics.beginFill(0x00FF00);
            button.graphics.drawRect(10, 10, 50, 30);
            button.graphics.endFill();
     
            button.addEventListener(MouseEvent.CLICK, clickHandler);
            button.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
     
            this.addChild(button);
        }

        private function clickHandler(event:MouseEvent):void {
            snd.play();            
        }

        private function doubleClickHandler(event:MouseEvent):void {
            snd.play(0, 2);        
        }
    }
}

O exemplo a seguir exibe o progresso de carregamento e reprodução de um arquivo de som.

No construtor, o arquivo é carregado em um bloco try...catch para capturar qualquer erro que pode ocorrer enquanto se está carregando o arquivo. É acrescentado um ouvinte ao objeto de som que vai responder a um evento IOErrorEvent chamando-se o método errorHandler(). É acrescentado outro ouvinte para o aplicativo principal, que vai responder a um evento Event.ENTER_FRAME que é usado como mecanismo de tempo para mostrar o progresso da reprodução. Por fim, é acrescentado um terceiro ouvinte para o canal de som que vai responder a um evento Event.SOUND_COMPLETE (quando tiver terminado a reprodução do som), chamando-se o método soundCompleteHandler(). O método soundCompleteHandler() também remove o ouvinte do evento Event.ENTER_FRAME.

O método enterFrameHandler() divide o valor bytesLoaded transmitido com o objeto ProgressEvent pelo valor bytesTotal para chegar a uma percentagem dos dados de som que estão sendo carregados. A percentagem dos dados de som que estão sendo reproduzidos poderia ser determinada pela divisão do valor da propriedade position do canal de som pela duração dos dados de som. No entanto, se os dados de som não forem totalmente carregados, a propriedade length do objeto de som mostra apenas o tamanho dos dados de som que são atualmente carregados. É calculada uma estimativa do tamanho real do arquivo de som completo dividindo-se o valor de length do objeto de som atual pelo valor da propriedade bytesLoaded dividida pelo valor da propriedade bytesTotal.

Observe que, se o arquivo for pequeno, estiver em cache ou estiver no diretório local, não é possível observar o progresso do carregamento. Além disso, o tempo de atraso entre o momento em que os dados de som começam a ser carregados e em que os dados carregados começam a ser reproduzidos é determinado pelo valor da propriedade SoundLoaderContext.buffertime, que é, por padrão, 1000 milissegundos e pode ser restaurada.

package {
    import flash.display.Sprite;
    import flash.net.URLRequest;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    
    public class Sound_playExample3 extends Sprite {
        private var snd:Sound = new Sound();
        private var channel:SoundChannel;
        private var statusTextField:TextField  = new TextField();

        public function Sound_playExample3(){

            statusTextField.autoSize = TextFieldAutoSize.LEFT;

           var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3");
            
            try {
                snd.load(req);
            
                channel = snd.play();
            }
            catch (err:Error) {
                trace(err.message);
            }
                    
            snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
            channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
                    
            this.addChild(statusTextField);
        }
    
        private function enterFrameHandler(event:Event):void {    
            var loadTime:Number = snd.bytesLoaded / snd.bytesTotal;
            var loadPercent:uint = Math.round(100 * loadTime);
            var estimatedLength:int = Math.ceil(snd.length / (loadTime));
            var playbackPercent:uint = Math.round(100 * (channel.position / estimatedLength));
      
            statusTextField.text = "Sound file's size is " + snd.bytesTotal + " bytes.\n" 
                                   + "Bytes being loaded: " + snd.bytesLoaded + "\n" 
                                   + "Percentage of sound file that is loaded " + loadPercent + "%.\n"
                                   + "Sound playback is " + playbackPercent + "% complete.";     
        }
 
        private function errorHandler(errorEvent:IOErrorEvent):void {
            statusTextField.text = "The sound could not be loaded: " + errorEvent.text;
        }

        private function soundCompleteHandler(event:Event):void {
            statusTextField.text = "The sound has finished playing.";
            removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }
    }
}
Detalhe do evento

complete

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

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

Despachado quando os dados foram carregados com êxito.

A constante Event.COMPLETE define o valor da propriedade type de um objeto de evento complete.

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 de rede que concluiu o carregamento.

Elementos da API relacionados

id3

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

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

Despachado por um objeto Sound quando dados ID3 estão disponíveis para sons MP3.

A constante Event.ID3 define o valor da propriedade type de um objeto de evento id3.

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 Sound que carrega o MP3 para o qual dados ID3 estão agora disponíveis. target não é sempre o objeto na lista de exibição que registrou o ouvinte de evento. Use a propriedade currentTarget para acessar o objeto na lista de exibição que está processando o evento no momento.

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/saída que resulta na falha de uma operação de carregamento.

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.

Elementos da API relacionados

open

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

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

Despachado quando uma operação de carregamento é iniciada.

A constante Event.OPEN define o valor da propriedade type de um objeto de evento open.

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 de rede que abriu uma conexão.

Elementos da API relacionados

progress

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

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

Despachado quando os dados são recebidos ao longo do progresso de uma operação de carregamento.

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

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
bytesLoadedO número de itens ou bytes carregados no momento em que o ouvinte processa o evento.
bytesTotalO número total de itens ou bytes que serão carregados no final se o processo de carregamento tiver êxito.
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á informando o andamento.

Elementos da API relacionados

sampleData

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

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

Despachado quando o tempo de execução solicita novos dados de áudio.

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

Esse evento tem as seguintes propriedades:

PropriedadeValor
bubblesfalse
cancelablefalse; não há comportamento padrão a ser cancelado.
positionO ponto a partir do qual os dados de áudio são fornecidos.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir reproduz uma onda senoidal simples.
var mySound:Sound = new Sound();
function sineWaveGenerator(event:SampleDataEvent):void {
    for ( var c:int=0; c<8192; c++ ) {
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
    }
}

mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator);
mySound.play();

Elementos da API relacionados

SoundExample.as

O exemplo a seguir exibe informações sobre eventos de som que ocorrem quando um arquivo MP3 é aberto e reproduzido. Para usar este exemplo, coloque um arquivo chamado MySound.mp3 no mesmo diretório que o seu arquivo SWF.
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.net.URLRequest;

    public class SoundExample extends Sprite {
        private var url:String = "MySound.mp3";
        private var song:SoundChannel;

        public function SoundExample() {
            var request:URLRequest = new URLRequest(url);
            var soundFactory:Sound = new Sound();
            soundFactory.addEventListener(Event.COMPLETE, completeHandler);
            soundFactory.addEventListener(Event.ID3, id3Handler);
            soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            soundFactory.load(request);
            song = soundFactory.play();
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function id3Handler(event:Event):void {
            trace("id3Handler: " + event);
        }

        private function ioErrorHandler(event:Event):void {
            trace("ioErrorHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: " + event);
        }
    }
}




[ 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.