Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.media 

Sound  - AS3

Пакетыx

Верхний уровень
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

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.media
Классpublic class Sound
НаследованиеSound Inheritance EventDispatcher Inheritance Object
Подклассы SoundAsset

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс Sound позволяет работать со звуком в приложении. Класс Sound позволяет создавать объект Sound, загружать в него и воспроизводить внешние МР3-файлы, закрывать поток звука и получать данные о звуке, такие как сведения о количестве байтов в потоке и метаданные ID3. Более детальное управление звуком выполняется через источник звука (объект SoundChannel или Microphone звука) и через свойства класса SoundTransform, управляющего выводом звука на динамики компьютера.

В проигрывателе Flash Player 10 и более поздних версий и в AIR 1.5 и более поздних версий этот класс можно также использовать для работы с динамически создаваемым звуком. В таком случае объект Sound использует функцию, назначенную обработчику события sampleData, для выполнения опроса на наличие звуковых данных. Звук воспроизводится по мере его извлечения из объекта ByteArray, наполненного звуковыми данными. Можно также использовать метод Sound.extract() для извлечения данных из объекта Sound, которые можно обработать перед записыванием в поток для воспроизведения.

Для управления звуками, встроенными в SWF-файл используются свойства класса SoundMixer.

Примечание. Звуковой API-интерфейс в ActionScript 3.0 отличается от такового в ActionScript 2.0. В ActionScript 3.0 невозможно организовывать объекты Sound в виде иерархии для управления их свойствами.

При использовании данного класса необходимо учесть следующую модель безопасности:

  • Загрузка и воспроизведение звука запрещены, если вызывающий файл находится в изолированной программной среде сети, а звуковой файл для загрузки сохранен на локальном компьютере.
  • По умолчанию загрузка и воспроизведение звука не разрешены, если вызывающий локальный файл пытается загрузить и воспроизвести удаленный звук. Пользователь должен явно определить права, чтобы разрешить этот тип доступа.
  • Запрещены определенные операции со звуком. Данные в загруженном звуке не могут быть получены файлом, находящимся в другом домене, если не используется файл междоменной политики. Данное ограничение распространяется на следующие API-интерфейсы для работы со звуком: Sound.id3, SoundMixer.computeSpectrum(), SoundMixer.bufferTime и класс SoundTransform.

Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application (содержимое, установленное с приложением AIR).

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  bytesLoaded : uint
[только для чтения] Возвращает число байтов, доступных в настоящий момент в данном объекте Sound.
Sound
  bytesTotal : int
[только для чтения] Возвращает общее число байтов в данном объекте Sound.
Sound
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  id3 : ID3Info
[только для чтения] Обеспечивает доступ к метаданным, которые являются частью MP3-файла.
Sound
  isBuffering : Boolean
[только для чтения] Возвращает состояние буферизации внешних файлов MP3.
Sound
  isURLInaccessible : Boolean
[только для чтения] Указывает, усечено ли свойство Sound.url.
Sound
  length : Number
[только для чтения] Длина текущего звука в миллисекундах.
Sound
  url : String
[только для чтения] URL-адрес, с которого был загружен звук.
Sound
Общедоступные методы
 МетодОпределено
  
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
Создает новый объект Sound.
Sound
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
  
Закрывает поток, в результате чего загрузка данных прекращается.
Sound
 Inherited
Посылает событие в поток событий.
EventDispatcher
  
extract(target:ByteArray, length:Number, startPosition:Number = -1):Number
Извлекает необработанные звуковые данные из объекта Sound.
Sound
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
load(stream:URLRequest, context:SoundLoaderContext = null):void
Инициирует загрузку внешнего файла MP3 с заданного URL-адреса.
Sound
  
загрузите звуковые данные MP3 из объекта ByteArray в объект Sound.
Sound
  
loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Загружает 32-битные звуковые данные с плавающей запятой PCM из объекта ByteArray в объект Sound.
Sound
  
play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Создает новый объект SoundChannel для воспроизведения звука.
Sound
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
  Отправляется после успешной загрузки данных.Sound
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным.EventDispatcher
  Отправляется объектом Sound, если для звука в формате MP3 доступны данные ID3.Sound
  Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою операции загрузки.Sound
  Отправляется при запуске операции загрузки.Sound
  Отправляется в случае получения данных в ходе операции загрузки.Sound
  Отправляется при запросе средой выполнения новых аудиоданных.Sound
Сведения о свойстве

bytesLoaded

свойство
bytesLoaded:uint  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Возвращает число байтов, доступных в настоящий момент в данном объекте Sound. Это свойство обычно необходимо только для внешних загружаемых файлов.



Реализация
    public function get bytesLoaded():uint

bytesTotal

свойство 
bytesTotal:int  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Возвращает общее число байтов в данном объекте Sound.



Реализация
    public function get bytesTotal():int

id3

свойство 
id3:ID3Info  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Обеспечивает доступ к метаданным, которые являются частью MP3-файла.

Звуковые МР3-файлы могут содержать теги ID3, передающие метаданные о файле. Если звук MP3, загружаемый с помощью метода Sound.load(), содержит теги ID3, эти свойства можно запрашивать. Поддерживаются только теги ID3, которые могут использовать набор символов UTF-8.

Flash Player 9 и более поздних версий, а также AIR поддерживают теги ID3 2.0, а именно 2.3 и 2.4. В следующих таблицах перечислены стандартные теги ID3 2.0 и представляемые ими типы содержимого. Свойство Sound.id3 обеспечивает доступ к этим тегам посредством формата my_sound.id3.COMM, my_sound.id3.TIME и т.д. В первой таблице описываются теги, к которым можно обратиться и через имя свойства ID3 2.0 и через имя свойства ActionScript. Во второй таблице описаны теги ID3, которые поддерживаются, но не имеют предварительно определенных свойств в ActionScript.

Тег ID3 2.0Соответствующее свойство класса Sound
COMMSound.id3.comment
TALBSound.id3.album
TCONSound.id3.genre
TIT2Sound.id3.songName
TPE1Sound.id3.artist
TRCKSound.id3.track
TYERSound.id3.year

Во следующей таблице описаны теги ID3, которые поддерживаются, но не имеют предварительно определенных свойств в классе Sound. Для обращения к ним требуется вызвать mySound.id3.TFLT, mySound.id3.TIME и т. д. ПРИМЕЧАНИЕ. Ни один из этих тегов не поддерживается во Flash Lite 4.

СвойствоОписание
TFLTТип файла
TIMEВремя
TIT1Описание группы содержимого
TIT2Описание заголовка, названия песни и содержимого
TIT3Уточнение подзаголовка и описания
TKEYКлавиша запуска
TLANЯзыки
TLENДлина
TMEDТип материала
TOALНазвание альбома, ролика и изображения
TOFNИмя исходного файла
TOLYАвторы текстов
TOPEАртисты и исполнители
TORYГод выпуска
TOWNВладелец файла или лицензиат
TPE1Ведущие исполнители и солисты
TPE2Ансамбль, оркестр или аккомпанемент
TPE3Уточнение дирижера или исполнителя
TPE4Автор интерпретации, ремикса или другого вида модификации
TPOSЧасть набора
TPUBИздатель
TRCKНомер дорожки или позиции в наборе
TRDAДаты записи
TRSNНазвание Интернет-радиостанции
TRSOВладелец Интернет-радиостанции
TSIZРазмер
TSRCМеждународный стандартный код записи (ISRC)
TSSEПрограммные/аппаратные средства и их параметры, используемые для кодирования
TYERГод
WXXXКадр ссылки на URL-адрес

При использовании данного свойства необходимо продумать модель безопасности проигрывателя Flash Player.

  • Свойство id3 объекта Sound всегда разрешено для SWF-файлов, находящихся в той же изолированной программной среде безопасности, что и звуковой файл. Для файлов из других изолированных сред выполняется проверка системы безопасности.
  • При загрузке звука с помощью метода load() класса Sound можно задать параметр context, представленный объектом SoundLoaderContext. Если задать свойству checkPolicyFile объекта SoundLoaderContext значение true, проигрыватель Flash Player проверяет наличие файла политики URL-адресов на сервере, с которого загружается звук. Если имеется файл политики, разрешающий доступ к домену загружающего SWF-файла, тогда этот файл получает доступ к свойству id3 объекта Sound; в противном случае — не получает.

Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application (содержимое, установленное с приложением AIR).

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.



Реализация
    public function get id3():ID3Info

Связанные элементы API


Пример  ( Использование этого примера )
В следующем примере данные ID3 считываются из звукового файла и отображаются в текстовом поле.

Конструктор загружает звуковой файл, но на запускает его воспроизведение. Предполагается, что файл находится в том же каталоге, что и SWF-файл. Система должна иметь разрешение, чтобы считывать теги ID3 из загруженного звукового файла. Если в файле есть данные ID3 и программа получает разрешение на их чтение, отправляется событие Event.ID3, и заполняется свойство id3 звукового файла. Свойство id3 содержит объект ID3Info со всеми данными ID3.

В методе id3Handler() теги ID3 файла сохраняются в объекте класса ID3Info с именем id3. Инициируется текстовое поле для отображения списка тегов ID3. Цикл for повторяется для отображения всех тегов ID3 2.0 и добавляет имя и значение к содержимому текстового поля С помощью свойств данных ID3 (ID3Info) также добавляется имя исполнителя, название песни и альбома. ActionScript 3.0 и Flash Player 9 и более поздних версий поддерживают теги ID3 2.0, а именно 2.3 и 2.4. Если выполнять итерацию для свойств, как в цикле for, будут отображаться только теги ID3 2.0. Однако данные из более ранних версий также сохраняются в свойстве id3 песни: их можно получить с помощью свойств класса ID3 info. Теги для ID3 1.0 помещаются в конце файла, а теги ID3 2.0 — в начале. (Иногда файлы могут содержать теги и старых и новых версий в одном месте.) Если файл закодирован с использованием тегов двух версий (1.0 и 2.0) в начале и в конце, метод id3Handler() вызывается два раза. Сначала считываются теги версии 2.0, а затем версии 1.0. Если имеются только теги ID3 1.0, то эту информацию можно получить через свойства данных ID3, такие как id3.songname. Для ID3 2.0 свойство id3.TITS получит название песни с помощью нового тега (TITS).

Обратите внимание, что в данном примере не применяется обработка ошибок и, если содержимое ID3 имеет большую длину, результат может выходить за пределы видимой области.

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

свойство 
isBuffering:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Возвращает состояние буферизации внешних файлов MP3. Если значение true, воспроизведение приостанавливается, пока объект ожидает загрузки дополнительных данных.



Реализация
    public function get isBuffering():Boolean

isURLInaccessible

свойство 
isURLInaccessible:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Указывает, усечено ли свойство Sound.url. Когда свойство isURLInaccessible имеет значение true, свойство Sound.url содержит только домен конечного URL-адреса, с которого загружается содержимое. Например, свойство усекается, если содержимое загружается со страницы http://www.adobe.com/assets/hello.mp3 и свойство Sound.url имеет значение http://www.adobe.com. Свойство isURLInaccessible имеет значение true, только когда верны все перечисленные ниже условия.

  • Во время загрузки звукового файла произошла переадресация HTTP.
  • SWF-файл, вызывающий метод Sound.load(), находится не в том домене, к которому относится конечный URL-адрес звукового файла.
  • SWF-файл, вызывающий метод Sound.load(), не имеет разрешения на доступ к звуковому файлу. Разрешение на доступ к звуковому файлу предоставляется так же, как для свойства Sound.id3: создайте файл политики и используйте свойство SoundLoaderContext.checkPolicyFile.

Примечание. Свойство isURLInaccessible впервые добавлено в версии Flash Player 10.1 и AIR 2.0. Однако оно доступно для SWF-файлов, созданных во всех версиях, если его поддерживает среда выполнения Flash. Таким образом, использование «строгого режима» в некоторых инструментах разработки приводит к возникновению ошибки. Чтобы обойти эту ошибку, используйте косвенный синтаксис mySound ["isURLInaccessible"] или выключите строгий режим. Если для разработки используется ПО Flash Professional CS5 или Flex SDK 4.1, этот API-интерфейс можно использовать и скомпилировать для сред выполнения, выпущенных до Flash Player 10.1 и AIR 2.

Для содержимого приложения в AIR это свойство всегда имеет значение false.



Реализация
    public function get isURLInaccessible():Boolean

Связанные элементы API

length

свойство 
length:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Длина текущего звука в миллисекундах.



Реализация
    public function get length():Number

url

свойство 
url:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

URL-адрес, с которого был загружен звук. Это свойство применимо только к объектам Sound, загруженным с помощью метода Sound.load(). Для объектов Sound, связанных с ресурсами звука из библиотеки SWF-файла, свойство url имеет значение null.

При первом вызове Sound.load(), свойство url сначала имеет значение null, так как окончательный URL еще неизвестен. Свойство url получит другое значение, как только объект Sound отправит событие open.

Свойство url содержит окончательный абсолютный URL, с которого загружался звук. Как правило, значение url совпадает со значением параметра stream метода Sound.load(). Однако, если методу Sound.load() был передан относительный URL-адрес, то значение свойства url будет представлять абсолютный URL-адрес. Если HTTP-сервер переадресует исходный запрос URL, то свойство url отражает конечный URL, с которого фактически был загружен файл. Такое сообщение абсолютного конечного URL эквивалентно поведению метода LoaderInfo.url.

В некоторых случаях значение свойства url усекается; дополнительные сведения см. в описании свойства isURLInaccessible.



Реализация
    public function get url():String

Связанные элементы API

Сведения о конструкторе

Sound

()Конструктор
public function Sound(stream:URLRequest = null, context:SoundLoaderContext = null)

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает новый объект Sound. При передаче действительного объекта URLRequest конструктору Sound он автоматически вызывает функцию load() для объекта Sound. Если конструктору Sound не передается действительный объект URLRequest, необходимо самостоятельно вызвать функцию load() для объекта Sound, иначе поток не загрузится.

После вызова load() для объекта Sound невозможно загрузить другой звуковой файл в этот объект. Чтобы загрузить другой звуковой файл, нужно создать новый объект Sound.

В проигрывателе Flash Player 10 и более поздних версий, а также в AIR 1.5 и более поздних версий, вместо метода load() можно использовать обработчик событий sampleData для динамической загрузки звука в объект Sound.

Параметры
stream:URLRequest (default = null) — URL-адрес, указывающий на внешний МР3-файл.
 
context:SoundLoaderContext (default = null) — Дополнительный объект контекста SoundLoader, который может задать время буферизации (минимальное число миллисекунд, в течение которых данные MP3 будут храниться в буфере объекта Sound) и указать, следует ли приложению проверять наличие файла междоменной политики перед загрузкой звука.
Сведения о методе

close

()метод
public function close():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Закрывает поток, в результате чего загрузка данных прекращается. После вызова метода close() данные из потока не считываются.


Выдает
IOError — Не удалось закрыть поток или поток не был открыт.

Пример  ( Использование этого примера )

В следующем примере, когда пользователь нажимает кнопку «Стоп», вызывается метод Sound.close() и поток звука останавливается.

В конструкторе создается текстовое поле для кнопки «Пуск» и «Стоп». Когда пользователь щелкает текстовое поле, вызывается метод clickHandler(). Он обрабатывает запуск и остановку воспроизведения звукового файла. Обратите внимание, что в зависимости от сетевого подключения или времени нажатия кнопки «Стоп» большая часть файла может быть уже загружена и на остановку воспроизведения звукового файла может потребоваться время. Для перехвата возможных ошибок ввода/вывода при закрытии потока используется блок try...catch. Например, если звук загружается из локального каталога и поток не передается, перехватывается ошибка 2029 с сообщением «Объект URLStream не имеет открытого канала».

 
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

()метод 
public function extract(target:ByteArray, length:Number, startPosition:Number = -1):Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Извлекает необработанные звуковые данные из объекта Sound.

Данный метод предназначен для использования при работе с динамическими данными, используя функцию, назначенную событию sampleData, для другого объекта Sound. То есть можно использовать этот метод для извлечения звуковых данных из объекта Sound. Затем можно записать данные в массив байтов, который другой объект Sound использует для потокового воспроизведения динамического звука.

Звуковые данные будут помещены в целевой массив байтов, начиная с текущей позиции массива. Аудиоданные всегда представлены в формате стереозвучания с частотой дискретизации 44 100 Гц. Образец имеет значение типа 32-разрядного числа с плавающей запятой, которое может быть преобразовано в значение типа «число» при помощи метода ByteArray.readFloat().

Параметры

target:ByteArray — Объект ByteArray, в котором размещаются извлеченные звуковые образцы.
 
length:Number — Количество звуковых образцов для извлечения. Образец содержит и левый, и правый канал — т. е. два 32-разрядных значения с плавающей запятой.
 
startPosition:Number (default = -1) — Образец, с которого начинается извлечение. Если не указать значение, первый вызов метода Sound.extract() начнет извлечение с начала звука; последующие вызовы метода startPosition без указания значения продолжат последовательное извлечение данных из файла.

Возвращает
Number — Количество образцов, записанных в объект ByteArray, который указан в параметре target.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере выполняется загрузка файла mp3 и используется метод extract() класса Sound для доступа к звуковым данным.

Данные mp3 загружены в объект Sound — sourceSnd. Когда приложение загружает данные mp3, оно вызывает функцию loaded() (обработчик событий для события complete объекта sourceSnd). Второй объект Sound, outputSound, используется для воспроизведения измененного звука. Объект outputSound имеет прослушиватель событий sampleData; поэтому объект выполняет отправку периодических событий sampleData после вызова метода play() объекта. Метод upOctave() возвращает массив байтов измененных звуковых данных на основе исходных звуковых данных. Он возвращает звук, который на одну октаву выше, за счет пропуска каждого второго звукового сэмпла в исходных данных. Обработчик событий для события sampleData записывает возвращенный массив байтов в свойство data объекта outputSound. Массив байтов data добавляется к выходным звуковым данным для объекта outputSound.

Чтобы проверить этот пример, добавьте файл test.mp3 в каталог, в котором находится 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

()метод 
public function load(stream:URLRequest, context:SoundLoaderContext = null):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Инициирует загрузку внешнего файла MP3 с заданного URL-адреса. При передаче действительного объекта URLRequest конструктору Sound он сам вызывает Sound.load(). Вызывать Sound.load() самостоятельно нужно только тогда, когда классу Sound не передан объект URLRequest или передано значение null.

После вызова load() для объекта Sound невозможно загрузить другой звуковой файл в этот объект. Чтобы загрузить другой звуковой файл, нужно создать новый объект Sound.

При использовании данного метода необходимо учесть следующую модель безопасности:

  • Вызов метода Sound.load() запрещен, если вызывающий файл находится в локальной для файловой системы изолированной программной среде, а звук — в сетевой изолированной программной среде.
  • Для доступа из доверенной локальной среды, или изолированной локальной среды с сетевым подключением, требуется разрешение web-сайта, которое можно получить с помощью файла политики URL-адресов.
  • Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе «Ограничение API-интерфейсов сетевого подключения» в руководстве ActionScript 3.0 Developer's Guide (руководстве разработчика по ActionScript 3.0).
  • Можно запретить использование SWF-файлом этого метода путем установки параметра allowNetworking для тегов object и embed на странице HTML, содержащей SWF-содержимое.

В приложении Flash Player 10 и более поздней версии при использовании типа содержимого multipart (например, multipart/form-data), в котором содержится загрузка (обозначена параметром filename в заголовке content-disposition в теле оператора POST), к операции POST применяются правила безопасности для загрузок:

  • Операция POST должна быть выполнена в ответ на действие, инициированное пользователем, такое как щелчок мыши или нажатие клавиши.
  • Если операция POST является междоменной (назначением операции POST не является сервер, на котором содержится SWF-файл, отправляющий запрос POST), целевой сервер должен предоставить файл политик URL, в котором разрешен междоменный доступ.

Кроме того, все объекты multipart Content-Type должны иметь допустимый синтаксис (в соответствии со стандартами RFC2046). Если синтаксис является недопустимым, к операции POST применяются правила безопасности, действующие для загрузок.

В Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application (содержимое, установленное с приложением AIR).

Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Параметры

stream:URLRequest — URL-адрес, указывающий на внешний МР3-файл.
 
context:SoundLoaderContext (default = null) — Дополнительный объект контекста SoundLoader, который может задать время буферизации (минимальное число миллисекунд, в течение которых данные MP3 будут храниться в буфере объекта Sound) и указать, следует ли приложению проверять наличие файла междоменной политики перед загрузкой звука.


Выдает
IOError — Сетевая ошибка помешала загрузке файла.
 
SecurityError — Локальные ненадежные файлы изолируются от Интернета. Этого можно избежать, если переклассифицировать этот файл как локальный с сетевым подключением или доверенный.
 
SecurityError — Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе «Ограничение API-интерфейсов сетевого подключения» в руководстве ActionScript 3.0 Developer's Guide (руководстве разработчика по ActionScript 3.0).
 
IOError — Значением свойства digest объекта stream не является null. Свойство digest объекта URLRequest следует задавать только при вызове метода URLLoader.load() во время загрузки SWZ-файла (компонент платформы Adobe).

Пример  ( Использование этого примера )

В следующем примере демонстрируется процесс загрузки звукового файла.

В конструкторе создается объект URLRequest, чтобы указать местоположение звукового файла — подкаста компании Adobe. Файл загружается в блок try...catch, чтобы перехватить возможные ошибки при загрузке. В случае ошибки ввода/вывода вызывается метод errorHandler(), и в текстовом поле отчета о прогрессе отображается сообщение об ошибке. По мере выполнения загрузки отправляется событие ProgressEvent.PROGRESS, и вызывается метод progressHandler(). В данном случае событие ProgressEvent.PROGRESS используется в качестве таймера для расчета прогресса загрузки.

Метод progressHandler() делит значение bytesLoaded, переданное с объектом ProgressEvent, на значение bytesTotal, чтобы вычислить процент загружаемых звуковых данных. Затем эти значения отображаются в текстовом поле. (Обратите внимание, что если файл небольшой, сохранен в кэше или находится в локальном каталоге, то прогресс может быть незаметным.)

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

()метод 
public function loadCompressedDataFromByteArray(bytes:ByteArray, bytesLength:uint):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 3, Flash Player 11

загрузите звуковые данные MP3 из объекта ByteArray в объект Sound. Данные будут считаны из текущей позиции в массиве ByteArray, и текущая позиция в ByteArray будет являться концом указанной длины байтов после завершения операции. Если звуковые данные MP3 содержат данные ID3, события ID3 будут переданы во время вызова этой функции. Эта функция вызовет исключение, если объект ByteArray не будет содержать достаточного объема данных.

Параметры

bytes:ByteArray
 
bytesLength:uint

loadPCMFromByteArray

()метод 
public function loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 3, Flash Player 11

Загружает 32-битные звуковые данные с плавающей запятой PCM из объекта ByteArray в объект Sound. Если флаг стерео выставлен, данные будут считаны из текущей позиции в массиве ByteArray и текущая позиция в ByteArray будет являться концом указанной длины образца, умноженной на 1 канал или 2 канала, после завершения операции.

Начиная с версии Flash Player 11.8 объем аудиоданных, которые можно передать в эту функцию, ограничен. Для SWF версии 21 или более поздних версий эта функция выдает исключение, если объем аудиоданных, передаваемых в функцию, превышает 1800 секунд. То есть значение образцов/sampleRate не должно превышать 1800. В версиях SWF до 21 среда выполнения аварийно завершает работу без уведомлений, если объем переданных аудиоданных имеет продолжительность более 12000 секунд. Данная возможность предоставляется только для обратной совместимости.

Эта функция вызывает исключение, если объект ByteArray не содержит достаточного объема данных.

Параметры

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

play

()метод 
public function play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает новый объект SoundChannel для воспроизведения звука. Этот метод возвращает объект SoundChannel, к которому нужно обращаться, чтобы остановить воспроизведение или отрегулировать громкость. (Чтобы управлять громкостью, панорамой и балансом, необходимо использовать объект SoundTransform, назначенный звуковому каналу.)

Параметры

startTime:Number (default = 0) — Исходное положение в миллисекундах, с которого должно начинаться воспроизведение.
 
loops:int (default = 0) — Определяет, сколько раз звук возвращается к значению startTime, прежде чем прекратится воспроизведение звукового канала.
 
sndTransform:flash.media:SoundTransform (default = null) — Исходный объект SoundTransform, назначенный для звукового канала.

Возвращает
SoundChannel — Объект SoundChannel, используемый для управления звуком. Этот метод возвращает значение null, если не установлена звуковая карта или нет доступных аудиоканалов. Одновременно доступно не больше 32 каналов.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере после загрузки файла пользователь может выбрать начальное положение (время начала) звукового файла с помощью графической полосы.

Конструктор вызывает метод Sound.load(), чтобы начать загрузку звуковых данных. Затем вызывается метод Sound.play(), который начнет воспроизведение, как только будет загружено достаточно данных. Метод Sound.play() возвращает объект SoundChannel, с помощью которого можно управлять воспроизведением звука. В текстовом поле отображаются инструкции. Чтобы убедиться, что содержимое, с которого пользователь хочет начать воспроизведение звука, уже загружено, создается объект Sprite с именем bar и отображается после завершения загрузки файла. После успешной загрузки файла отправляется событие Event.COMPLETE, которое запускает метод completeHandler(). Затем метод completeHandler() создает полосу прокрутки и добавляет ее в список отображения. (Чтобы обеспечить интерактивные возможности, вместо объекта Shape используется объект Sprite.) Когда пользователь щелкает по полосе прокрутки, запускается метод clickHandler().

В методе clickHandler() положение по оси Х (event.localX), в котором пользователь щелкает мышкой, используется для определения начальной точки воспроизведения. Так как длина полосы прокрутки составляет 100 пикселей, и она начинается в точке 100 по оси Х, нетрудно вычислить точку воспроизведения в процентном соотношении. Кроме того, файл уже загружен, и поэтому свойство length звукового файла будет иметь значение длины полного файла в миллисекундах. Имея длину файла и положение на линии, можно определить начальное положение для звукового файла. После остановки воспроизведения звука файл запускается снова с выбранного начального положения, переданного в качестве параметра startTime метода 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;
        }
    }
}

В следующем примере звук должен воспроизводиться один или два раза в зависимости от того, нажмет пользователь кнопку одним или двойным щелчком.

В конструкторе загружается звук, и создается простой прямоугольный объект Sprite с именем button. (Чтобы обеспечить интерактивные возможности, вместо объекта Shape используется объект Sprite.) Предполагается, что звуковой файл находится в том же каталоге, что и SWF-файл. (В данном примере не используется код обработки событий.)

Настраиваются два прослушивателя событий для нажатий кнопки одним или двойным щелчком мыши. Если пользователь щелкает один раз, вызывается метод clickHandler(), который воспроизводит звук. Если пользователь дважды щелкает кнопку, вызывается метод doubleClickHandler(), который воспроизводит звук два раза. Второму аргументу метода play() задается значение 1, в результате чего звук будет возвращаться к времени начала один раз для повторного воспроизведения. Время начала, первый аргумент, имеет значение 0. Это значит, что файл будет воспроизводиться от начальной точки.

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);        
        }
    }
}

В следующем примере демонстрируется процесс и воспроизведения загрузки звукового файла.

В конструкторе файл загружается в блок try...catch, чтобы можно было перехватить возможные ошибки при загрузке. Один прослушиватель событий добавляется для объекта Sound: он будет реагировать на событие IOErrorEvent и вызывать метод errorHandler(). Другой прослушиватель добавляется для основного приложения: он будет реагировать на событие Event.ENTER_FRAME и использоваться в качестве таймера для отображения прогресса воспроизведения. И, в завершение, третий прослушиватель добавляется для звукового канала: он будет реагировать на событие Event.SOUND_COMPLETE (по завершении воспроизведения звука) и вызывать метод soundCompleteHandler(). Метод soundCompleteHandler() также удаляет прослушиватель события Event.ENTER_FRAME.

Метод enterFrameHandler() делит значение bytesLoaded, переданное с объектом ProgressEvent, на значение bytesTotal, чтобы вычислить процент загружаемых звуковых данных. Процент воспроизводимых звуковых данных можно определить, разделив значение свойства position звукового канала на длину звуковых данных. Однако если звуковые данные загружены не полностью, свойство length объекта Sound показывает только размер данных, загруженных на текущий момент. Оценка конечного размера полного звукового файла вычисляется путем деления length текущего звукового объекта на значение свойства bytesLoaded, деленное на значение свойства bytesTotal.

Обратите внимание, что если файл небольшой, сохранен в кэше или находится в локальном каталоге, то прогресс может быть незаметным. Кроме того, отрезок времени между началом загрузки звуковых данных и началом воспроизведения загруженных данных определяется значением свойства SoundLoaderContext.buffertime, которое по умолчанию составляет 1000 миллисекунд и может быть изменено.

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);
        }
    }
}
Сведения о событии

complete

Событие
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.COMPLETE

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется после успешной загрузки данных.

Константа Event.COMPLETE определяет значение свойства type объекта complete.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetСетевой объект, который завершил загрузку.

Связанные элементы API

id3

Событие  
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.ID3

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется объектом Sound, если для звука в формате MP3 доступны данные ID3.

Константа Event.ID3 определяет значение свойства type объекта события id3.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект Sound, загружающий MP3, для которого уже стали доступными данные ID3. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент.

Связанные элементы API

ioError

Событие  
Тип объекта события: flash.events.IOErrorEvent
свойство IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою операции загрузки.

Задает значение свойства type для объекта события ioError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
errorIDСсылочный номер, связываемый с конкретной ошибкой (только AIR).
targetСетевой объект, с которым произошла ошибка ввода/вывода.
textТекст, отображаемый в качестве сообщения об ошибке.

Связанные элементы API

open

Событие  
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.OPEN

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется при запуске операции загрузки.

Константа Event.OPEN определяет значение свойства type объекта события open.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetСетевой объект, установивший подключение.

Связанные элементы API

progress

Событие  
Тип объекта события: flash.events.ProgressEvent
свойство ProgressEvent.type = flash.events.ProgressEvent.PROGRESS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется в случае получения данных в ходе операции загрузки.

Задает значение свойства type для объекта события progress.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
bytesLoadedЧисло элементов или байтов, загруженных на момент обработки события прослушивателем.
bytesTotalОбщее число элементов или байтов, которые в итоге будут получены в случае успешного завершения загрузки.
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, сообщающий сведения о прогрессе.

Связанные элементы API

sampleData

Событие  
Тип объекта события: flash.events.SampleDataEvent
свойство SampleDataEvent.type = flash.events.SampleDataEvent.SAMPLE_DATA

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Отправляется при запросе средой выполнения новых аудиоданных.

Задает значение свойства type для объекта события SampleDataEvent.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
positionТочка, из которой поступают аудиоданные.

Пример  ( Использование этого примера )

Следующий пример воспроизводит простую гармоническую волну.
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();

Связанные элементы API

SoundExample.as

В следующем примере отображаются сведения о звуковых событиях, происходящих по мере открытия и воспроизведения МР3-файла. Чтобы запустить данный пример, поместите файл MySound.mp3 в тот каталог, где находится рассматриваемый 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 ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.