ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.media 

Sound  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.media
Klasapublic class Sound
DziedziczenieSound Inheritance EventDispatcher Inheritance Object
Podklasy SoundAsset

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Klasa Sound umożliwia pracę z dźwiękami. Klasa Sound umożliwia tworzenie obiektu Sound, ładowanie i odtwarzanie zewnętrznego pliku MP3 w tym obiekcie, zamykanie strumienia dźwięku oraz dostęp do danych o dźwięku, takich jak informacje o liczbie bajtów w strumieniu, czy metadane ID3. Bardziej szczegółową kontrolę nad dźwiękiem uzyskuje się przez źródło dźwięku — obiekt SoundChannel lub obiekt Microphone dla dźwięku — oraz przez właściwości klasy SoundTransform, która kontroluje sygnał wyjściowy kierowany do głośników komputera.

W programie Flash Player 10 oraz w środowisku AIR 1.5 i ich wersjach późniejszych można również korzystać z tej klasy w celu pracy z dźwiękami generowanymi dynamicznie. W takim przypadku obiekt Sound korzysta z funkcji przypisanej do modułu obsługi zdarzeń sampleData w celu odpytywania o dane dźwięków. Dźwięk jest odtwarzany w miarę jego odbierania z obiektu ByteArray, do którego wprowadzane są dane dźwięków. Za pomocą metody Sound.extract() można wyodrębniać dźwięki z obiektu Sound, a następnie można modyfikować dźwięki przed ponownym zapisaniem ich w strumieniu w celu odtworzenia.

Aby kontrolować dźwięki osadzone w pliku SWF, należy skorzystać z właściwości klasy SoundMixer.

Uwaga: interfejs API klasy Sound w języku ActionScript 3. różni się od interfejsu użytego w języku ActionScript 2.0. W ActionScript 3.0 nie ma możliwości porządkowania obiektów dźwięku w hierarchię w celu kontrolowania ich właściwości.

Korzystając z tej klasy, należy wziąć pod uwagę następujący model zabezpieczeń.

  • Ładowanie i odtwarzanie dźwięku nie jest dozwolone, jeśli wywołujący plik znajduje się w sieciowym obszarze izolowanym, a ładowany plik dźwiękowy jest lokalny.
  • Domyślnie ładowanie i odtwarzanie dźwięku nie jest dozwolone, jeśli wywołujący plik jest lokalny i podejmuje próby załadowania i odtworzenia dźwięku z lokalizacji zdalnej. Użytkownik musi jawnie nadać uprawnienie, aby zezwolić na tego typu dostęp.
  • Niektóre operacje obsługujące dźwięk mają ograniczony dostęp. Plik, znajdujący się w innej domenie, nie może uzyskać dostępu do danych w ładowanym dźwięku, chyba że zostanie zaimplementowany międzydomenowy plik reguł. Interfejsami API powiązanymi z obiektem Sound podlegającymi temu ograniczeniu są właściwość Sound.id3 metoda SoundMixer.computeSpectrum(), właściwośćSoundMixer.bufferTime i klasa SoundTransform.

Jednak w aplikacji Adobe AIR zawartość obszaru izolowanego application (zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
  bytesLoaded : uint
[tylko do odczytu] Zwraca aktualnie dostępną liczbę bajtów tego obiektu dźwiękowego.
Sound
  bytesTotal : int
[tylko do odczytu] Zwraca całkowitą liczbę bajtów tego obiektu dźwiękowego.
Sound
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  id3 : ID3Info
[tylko do odczytu] Zapewnia dostęp do metadanych będących częścią pliku MP3.
Sound
  isBuffering : Boolean
[tylko do odczytu] Zwraca stan buforowania zewnętrznych plików MP3.
Sound
  isURLInaccessible : Boolean
[tylko do odczytu] Wskazuje, czy właściwość Sound.url została przycięta.
Sound
  length : Number
[tylko do odczytu] Długość bieżącego dźwięku w milisekundach.
Sound
  url : String
[tylko do odczytu] Adres URL strony, z której załadowano dźwięk.
Sound
Metody publiczne
 MetodaZdefiniowane przez
  
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
Tworzy nowy obiekt Sound.
Sound
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu.
EventDispatcher
  
Zamyka strumień, powodując zakończenie ładowania wszelkich danych.
Sound
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
  
extract(target:ByteArray, length:Number, startPosition:Number = -1):Number
Wyodrębnia nieprzetworzone dane dźwiękowe z obiektu Sound.
Sound
 Inherited
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń.
EventDispatcher
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
  
load(stream:URLRequest, context:SoundLoaderContext = null):void
Inicjuje ładowanie zewnętrznego pliku MP3 spod określonego adresu URL.
Sound
  
Wczytuje dane dźwięku MP3 z obiektu ByteArray do obiektu Sound.
Sound
  
loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Wczytuje dane dźwięku PCM (32-bitowe wartości zmiennoprzecinkowe) z obiektu ByteArray do obiektu Sound.
Sound
  
play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Generuje nowy obiekt SoundChannel, umożliwiający odtwarzanie dźwięku.
Sound
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Usuwa detektor z obiektu EventDispatcher.
EventDispatcher
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
 Inherited
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych.
EventDispatcher
Zdarzenia
 Zdarzenie Podsumowanie Zdefiniowane przez
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny.EventDispatcher
  Wywoływane po pomyślnym załadowaniu danych.Sound
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
  Wywoływane przez obiekt Sound, gdy są dostępne dane ID3 dotyczące dźwięku MP3.Sound
  Wywoływana, gdy wystąpi błąd wejścia lub wyjścia uniemożliwiający ładowanie danych.Sound
  Wywoływane po rozpoczęciu wczytywania.Sound
  Wywoływane w trakcie stopniowego ładowania danych.Sound
  Wywoływane, gdy środowisko wykonawcze zażąda nowych danych audio.Sound
Szczegół właściwości

bytesLoaded

właściwość
bytesLoaded:uint  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zwraca aktualnie dostępną liczbę bajtów tego obiektu dźwiękowego. Ta właściwość jest zazwyczaj użyteczna tylko dla plików ładowanych zewnętrznie.



Implementacja
    public function get bytesLoaded():uint

bytesTotal

właściwość 
bytesTotal:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zwraca całkowitą liczbę bajtów tego obiektu dźwiękowego.



Implementacja
    public function get bytesTotal():int

id3

właściwość 
id3:ID3Info  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zapewnia dostęp do metadanych będących częścią pliku MP3.

Pliki dźwiękowe MP3 mogą zawierać znaczniki ID3, które udostępniają metadane na temat pliku. Jeśli dźwięk w formacie MP3 załadowany za pomocą metody Sound.load() zawiera znaczniki ID3, istnieje możliwość odpytania tych właściwości. Obsługiwane są tylko znaczniki ID3, które korzystają z zestawu znaków standardu UTF-8.

Program Flash Player 9 i późniejsze wersje oraz środowisko AIR obsługują znaczniki ID3 2.0, a w szczególności 2.3 i 2.4. W poniższych tabelach przedstawiono standardowe znaczniki ID3 2.0 oraz typ zawartości, jaką reprezentują te znaczniki. Właściwość Sound.id3 umożliwia dostęp do tych znaczników za pomocą formatu my_sound.id3.COMM, my_sound.id3.TIME itd. Pierwsza tabela opisuje znaczniki, do których można uzyskiwać dostęp za pośrednictwem nazwy właściwości ID3 2.0 lub nazwy właściwości ActionScript. Druga tabela przedstawia znaczniki ID3, które są obsługiwane, ale nie zawierają predefiniowanych właściwości w ActionScript.

Znacznik ID3 2.0Odpowiednie właściwości klasy Sound
COMMSound.id3.comment
TALBSound.id3.album
TCONSound.id3.genre
TIT2Sound.id3.songName
TPE1Sound.id3.artist
TRCKSound.id3.track
TYERSound.id3.year

Poniższa tabela przedstawia znaczniki ID3, które są obsługiwane, ale nie zawierają predefiniowanych właściwości w klasie Sound. Dostęp do nich uzyskuje się, wywołując mySound.id3.TFLT, mySound.id3.TIME, itd. UWAGA: Żaden z tych znaczników nie jest obsługiwany w programie Flash Lite 4.

WłaściwośćOpis
TFLTTyp pliku
TIMEGodzina
TIT1opis grupy zawartości
TIT2tytuł, nazwa utworu, opis zawartości
TIT3rozwinięcie podtytułu lub opisu
TKEYklucz początkowy
TLANJęzyki
TLENDługość
TMEDTyp nośnika
TOALoryginalny tytuł albumu, filmu lub pokazu
TOFNoryginalna nazwa pliku
TOLYoryginalny autor słów/tekściarz
TOPEoryginalny wykonawca/zespół
TORYoryginalny rok wydania
TOWNWłaściciel pliku/licencji
TPE1główny wykonawca/solista
TPE2zespół/orkiestra/akompaniament
TPE3uzupełnienie informacji o dyrygencie/wykonawcy
TPE4Autor interpretacji, remiksu lub innej modyfikacji
TPOSczęść zestawu
TPUBPublisher
TRCKnumer ścieżki/pozycja w zestawie
TRDAdaty nagrań
TRSNnazwa internetowej stacji radiowej
TRSOwłaściciel internetowej stacji radiowej
TSIZWielkość
TSRCKod ISRC
TSSEoprogramowanie i sprzęt oraz ustawienia, wykorzystane podczas kodowania
TYERRok
WXXXklatka z łączem URL

Korzystając z tej właściwości, należy wziąć pod uwagę model zabezpieczeń programu Flash Player.

  • Właściwość id3 obiektu Sound jest zawsze dozwolona dla plików SWF, które znajdują się w tym samym obszarze izolowanym zabezpieczeń, co plik dźwiękowy. Dla plików z innego obszaru izolowanego sprawdzane są zabezpieczenia.
  • Ładując dźwięk za pomocą metody load() klasy Sound, można określić parametr context, którym należy uczynić obiekt SoundLoaderContext. Jeśli dla właściwości checkPolicyFile obiektu SoundLoaderContext zostanie przypisana wartość true, program Flash Player sprawdzi istnienie pliku reguł URL na serwerze, z którego ładowany jest dźwięk. Jeśli plik reguł istnieje i umożliwia dostęp z domeny ładującego pliku SWF, wówczas plik może uzyskiwać dostęp do właściwości id3 obiektu Sound; w przeciwnym wypadku nie może.

Jednak w aplikacji Adobe AIR zawartość obszaru izolowanego application (zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.



Implementacja
    public function get id3():ID3Info

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład odczytuje informacje ID3 z pliku dźwiękowego i wyświetla je w polu tekstowym.

W konstruktorze ładowany jest plik dźwiękowy, lecz plik nie jest ustawiany w stan odtwarzania. W tym miejscu założono, że plik znajduje się w katalogu SWF. Aby odczytać znaczniki ID3 załadowanego pliku dźwiękowego, system musi posiadać uprawnienie. Jeśli w pliku zawarte są informacje ID3 i program posiada zezwolenie na ich odczyt, wywołane zostanie zdarzenie Event.ID3 i właściwość id3 pliku dźwiękowego zostanie zapełniona. Właściwość id3 zawiera obiekt ID3Info, w który przechowywane są wszystkie informacje ID3.

W metodzie id3Handler() znaczniki ID3 pliku przechowywane są we właściwości id3, obiekt klasy ID3Info. Aby wyświetlić listę znaczników ID3 tworzona jest instancja pola tekstowego. Pętla „for” iteruje przez wszystkie znaczniki ID3 2.0 i dołącza nazwę i wartość do zawartości pola tekstowego. Za pomocą właściwości ID3Info dołączana jest również nazwa wykonawcy, nazwa utworu oraz tytuł albumu. Język ActionScript 3.0 oraz program Flash Player 9 i kolejne wersje zapewniają znaczniki ID3 2.0, szczególnie w wersji 2.3 oraz 2.4. Iterując przez wszystkie właściwości, podobnie jak w pętli „for”, pojawią się jedynie znaczniki ID3 2.0. Jednak, dane z wcześniejszych wersji są również przechowywane we właściwości id3 utworów i dostęp do niech można uzyskać za pomocą właściwości klasy ID3 info. Znaczniki ID3 1.0 znajdują się na początku pliku, podczas gdy znaczniki ID3 2.0 znajdują się na jego początku. (Zdarza się, że pliki mają obie, wcześniejszą i późniejszą, wersję znaczników w tym samym miejscu). Jeśli plik został zakodowany obiema wersjami znaczników (wersją 1.0 i 2.0) na początku i na końcu pliku, metoda id3Handler() zostanie wywołana dwukrotnie. Najpierw odczytywana jest wersja 2.0, a następnie wersja 1.0. Jeśli dostępny jest tylko znacznik ID3 1.0, wtedy informacje dostępne są za pomocą właściwości ID3 info, na przykład id3.songname. Dla znacznika ID3 2.0, właściwość id3.TITS pobierze nazwę utworu za pomocą nowego znacznika (TITS).

Należy zauważyć, że dla tego przykładu nie została napisana obsługa błędu i jeśli zawartość znacznika ID3 jest długa, wynik może wyjść poza widoczny obszar.

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

właściwość 
isBuffering:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zwraca stan buforowania zewnętrznych plików MP3. Jeśli jej wartością jest true aktualnie odtwarzany dźwięk zostanie wstrzymany, w momencie oczekiwania na większą ilość danych.



Implementacja
    public function get isBuffering():Boolean

isURLInaccessible

właściwość 
isURLInaccessible:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Wskazuje, czy właściwość Sound.url została przycięta. Gdy właściwość isURLInaccessible ma wartość true, wartość Sound.url jest wyłącznie domeną adresu URL, spod którego ostatecznie dźwięk został załadowany. Na przykład: właściwość zostanie przycięta, jeśli treść załadowano z http://www.adobe.com/assets/hello.mp3, a właściwość Sound.url ma wartość http://www.adobe.com. Właściwość isURLInaccessible ma wartość true tylko wówczas, gdy spełnione są wszystkie następujące warunki:

  • Doszło do przekierowania HTTP podczas ładowania pliku dźwiękowego.
  • Plik SWF wywołujący metodę Sound.load() pochodzi z domeny innej niż ostateczny adres URL pliku dźwiękowego.
  • Plik SWF wywołujący metodę Sound.load() nie ma uprawnień dostępu do pliku dźwiękowego. Zezwolenie na dostęp do pliku dźwiękowego udzielane jest na tej samej zasadzie, jak w przypadku właściwości Sound.id3: należy ustanowić plik reguł i skorzystać z właściwości SoundLoaderContext.checkPolicyFile.

Uwaga: Właściwość isURLInaccessible została dodana dla programu Flash Player 10.1 i środowiska AIR 2.0. Jednak ta właściwość jest dostępna dla plików SWF wszystkich wersji, pod warunkiem że środowisko wykonawcze Flash obsługuje tę właściwość. Dlatego stosowanie narzędzi do tworzenia treści w trybie „ścisłym” powoduje błąd kompilacji. W celu obejścia błędu należy użyć składni przekierowania mySound["isURLInaccessible"] lub wyłączyć tryb ścisły. Jeśli do tworzenia aplikacji używany jest program Flash Professional CS5 lub środowisko Flex SDK 4.1, można wykorzystywać i kompilować odwołania do tego elementu interfejsu API dla środowisk wykonawczych wydanych wcześniej niż wersje Flash Player 10.1 i AIR 2.

W przypadku treści aplikacji w środowisku AIR ta właściwość ma zawsze wartość false.



Implementacja
    public function get isURLInaccessible():Boolean

Powiązane elementy interfejsu API

length

właściwość 
length:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Długość bieżącego dźwięku w milisekundach.



Implementacja
    public function get length():Number

url

właściwość 
url:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Adres URL strony, z której załadowano dźwięk. Tę właściwość należy stosować jedynie do obiektów Sound, które zostały załadowane za pomocą metody Sound.load(). Dla obiektów Sound, które są skojarzone z dźwiękami z biblioteki pliku SWF, wartość właściwości url jest równa null.

Przy pierwszym wywołaniu metody Sound.load(), właściwość url ma wartość początkową null, ponieważ ostateczny adres URL nie jest jeszcze znany. Właściwość url będzie miała wartość różną od null tuż po wywołaniu zdarzenia open z obiektu Sound.

Właściwość url zawiera ostateczny, bezwzględny adres URL, z którego został załadowany dźwięk. Wartością właściwości url jest zazwyczaj ta sama wartość, która przekazywana jest do parametru stream metody Sound.load(). Jeśli jednak do metody Sound.load()przekazany zostanie względny adres URL, wartość właściwości url będzie reprezentowała bezwzględny adres URL. Ponadto, jeśli oryginalny adres URL zostanie przekierowany przez serwer HTTP, wartość właściwości url będzie odzwierciedlać ostateczny adres URL z którego faktycznie pobrany został plik dźwiękowy. Zgłoszenie ostatecznego, bezwzględnego adresu URL jest równoważne z działaniem właściwości LoaderInfo.url.

W niektórych przypadkach wartość właściwości url jest przycięta; szczegółowe informacje zawiera opis właściwości isURLInaccessible.



Implementacja
    public function get url():String

Powiązane elementy interfejsu API

Konstruktor Szczegół

Sound

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Tworzy nowy obiekt Sound. Przekazanie poprawnego obiektu URLRequest do konstruktora Sound powoduje automatyczne wywołanie funkcji load() dla obiektu Sound. Nie przekazanie poprawnego obiektu URLRequest do konstruktora Sound powoduje, że użytkownik jest zmuszony do samodzielnego wywołania funkcji load() dla obiektu Sound, w przeciwnym razie strumień nie zostanie załadowany.

Po wywołaniu funkcji load() na obiekcie Sound nie istnieje możliwość załadowania w późniejszym czasie innego pliku dźwiękowego do tego obiektu. Aby załadować inny plik dźwiękowy, należy utworzyć nowy obiekt Sound.

W programie Flash Player 10 oraz w środowisku AIR 1.5 i ich i późniejszych wersjach w celu dynamicznego ładowania dźwięków do obiektu Sound zamiast metody load() można użyć modułu obsługi zdarzeń sampleData.

Parametry
stream:URLRequest (default = null) — Adres URL wskazujący zewnętrzny plik MP3.
 
context:SoundLoaderContext (default = null) — Opcjonalny obiekt kontekstowy SoundLoader może definiować czas dla bufora (minimalna liczba milisekund danych pliku MP3, które będą przechowywane w buforze obiektu Sound) oraz określać, czy aplikacja powinna przed załadowaniem dźwięku sprawdzić istnienie międzydomenowego pliku reguł.
Szczegół metody

close

()metoda
public function close():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zamyka strumień, powodując zakończenie ładowania wszelkich danych. Żadne dane nie zostaną odczytane ze strumienia po wywołaniu metody close().


Zgłasza
IOError — Nie udało się zamknąć strumienia lub strumień nie był otwarty.

Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie naciśnięcie przycisku Stop wywoła metodę Sound.close() i spowoduje zatrzymanie strumieniowej transmisji dźwięku.

W konstruktorze dla przycisku Start i Stop tworzone jest pole tekstowe. Kliknięcie na pole tekstowe wywołuje metodę clickHandler(). Obsługuje rozpoczęcie i zatrzymanie odtwarzania pliku dźwiękowego. Należy zauważyć, że zatrzymanie odtwarzania pliku dźwiękowego, którego większa część mogła już zostać załadowana, może zająć trochę czasu w zależności od połączenia sieciowego lub momentu naciśnięcia przycisku Stop. Blok try...catch jest używany w celu przechwycenia błędu wejścia/wyjścia, który może pojawić się w trakcie zamykania strumienia. Na przykład, jeśli dźwięk jest ładowany z katalogu lokalnego (nie jest przesyłany strumieniowo), przechwycony zostanie błąd o numerze 2029, informujący że dany obiekt URLStream nie ma otwartego strumienia.

 
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

()metoda 
public function extract(target:ByteArray, length:Number, startPosition:Number = -1):Number

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Wyodrębnia nieprzetworzone dane dźwiękowe z obiektu Sound.

Ta metoda jest przeznaczona do pracy z dźwiękiem generowanym dynamicznie, przy użyciu funkcji przypisanej do zdarzenia sampleData dla innego obiektu Sound. Oznacza to, że metody tej można używać do wyodrębniania danych dźwięku z obiektu Sound. Można wówczas zapisać dane do tablicy bajtowej, której inny obiekt Sound używa do strumieniowania dynamicznych danych audio.

Dane audio są umieszczane w docelowej tablicy bajtowej począwszy od bieżącej pozycji tablicy bajtowej. Dane audio są zawsze udostępniane jako dane stereofoniczne o częstotliwości próbkowania 44100 Hz. Typem przykładowym jest wartość 32-bitowa zmiennoprzecinkowa, którą można konwertować na format liczbowy za pomocą metody ByteArray.readFloat().

Parametry

target:ByteArray — Obiekt ByteArray, w którym umieszczane są wyodrębnione próbki dźwięków.
 
length:Number — Liczba próbek dźwięków przeznaczona do wyodrębniania. Próbka zawiera kanały lewy i prawy — tj. dwie wartości 32-bitowe zmiennoprzecinkowe.
 
startPosition:Number (default = -1) — Próbka, od której rozpoczyna się wyodrębnianie. Jeśli użytkownik nie określi wartości, pierwsze wywołanie metody Sound.extract() rozpocznie się na początku dźwięku; kolejne wywołania bez wartości dla metody startPosition będą pojawiały się kolejno w całym pliku.

Zwraca
Number — Liczba próbek zapisanych w obiekcie ByteArray określonym w parametrze target.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ładuje plik mp3 i używa metody extract() klasy Sound w celu uzyskania dostępu do danych audio.

Dane pliku mp3 są ładowane do obiektu Sound sourceSnd. Po załadowaniu danych pliku mp3 przez aplikację wywoływana jest funkcja loaded() (moduł obsługi zdarzenia dla zdarzenia complete obiektu sourceSnd). Drugi obiekt Sound (outputSound) jest używany do odtworzenia zmodyfikowanych danych audio. Obiekt outputSound zawiera detektor zdarzeń sampleData, dlatego obiekt ten okresowo wywołuje zdarzenia sampleData po wywołaniu metody play(). Metoda upOctave() zwraca tablicę bajtową zmodyfikowanych danych audio w oparciu o źródłowe dane audio. Zwraca dane audio, które są wyższe o jedną oktawę, pomijając co drugą próbkę dźwięku w danych źródłowych. Moduł obsługi zdarzenia dla zdarzenia sampleData zapisuje zwróconą tablicę bajtową we właściwości data obiektu outputSound. Właściwość data tablicy bajtowej jest dołączana do wyjściowych danych audio dla obiektu outputSound.

Aby przetestować ten przykład, należy dodać plik test.mp3 do tego samego katalogu, w którym znajduje się plik 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

()metoda 
public function load(stream:URLRequest, context:SoundLoaderContext = null):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Inicjuje wczytywanie zewnętrznego pliku MP3 spod określonego adresu URL. Zapewnienie poprawnego obiektu URLRequest dla konstruktora Sound powoduje wywołanie funkcji Sound.load() za użytkownika. Funkcję Sound.load() należy wywołać samodzielnie, jeśli do konstruktora Sound nie zostanie przekazany poprawny obiekt URLRequest lub przekazana zostanie wartość null.

Po wywołaniu funkcji load() na obiekcie Sound nie istnieje możliwość załadowania w późniejszym czasie innego pliku dźwiękowego do tego obiektu. Aby załadować inny plik dźwiękowy, należy utworzyć nowy obiekt Sound.

Korzystając z tej metody, należy wziąć pod uwagę model zabezpieczeń:

  • Wywołanie metody Sound.load() jest niedozwolone, jeśli plik wywołujący znajduje się w lokalnym obszarze izolowanym systemu plików, a dźwięk znajduje się w obszarze izolowanym sieci.
  • Dostęp z lokalnego zaufanego obszaru izolowanego lub lokalnego obszaru izolowanego z dostępem do sieci wymaga uprawnień udzielonych przez witrynę sieci Web (za pośrednictwem pliku reguł URL).
  • Nie można połączyć się z portem, który zazwyczaj jest zastrzeżony. Pełną listę zablokowanych portów zawiera sekcja „Ograniczanie sieciowych interfejsów API” w publikacji ActionScript 3.0 — podręcznik dla programistów.
  • Można zapobiec korzystaniu z tej metody przez plik SWF, ustawiając parametr allowNetworking znaczników object i embed na stronie HTML z zawartością SWF.

W programie Flash Player 10 i nowszych wersjach, jeśli użyty zostanie wieloczęściowy nagłówek Content-Type (np. "multipart/form-data"), w którym przesyłane są pliki (wskazywane przez parametr "filename" w nagłówku "content-disposition" w treści operacji POST), wówczas operacja POST podlega regułom zabezpieczeń zastosowanym do wysyłania plików:

  • Operację POST należy wykonać w odpowiedzi na działanie zainicjowane przez użytkownika, np. kliknięcie myszy lub naciśnięcie klawisza.
  • Jeśli operacja POST jest operacją międzydomenową (cel operacji POST nie znajduje się na tym samym serwerze, co plik SWF, który wysyła żądanie POST), docelowy serwer musi dostarczyć plik reguł URL, który zezwoli na międzydomenowy dostęp.

Dla dowolnego wieloczęściowego nagłówka Content-Type również składnia musi być poprawna (zgodnie ze standardami RFC2046). Jeśli składnia okaże się niepoprawna, operacja POST będzie podlegać regułom zabezpieczeń stosowanym do wysyłania plików.

W aplikacji Adobe AIR zawartość obszaru izolowanego application (zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.

Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w Centrum programistów programu Flash Player w kategorii Bezpieczeństwo.

Parametry

stream:URLRequest — Adres URL wskazujący zewnętrzny plik MP3.
 
context:SoundLoaderContext (default = null) — Opcjonalny obiekt kontekstowy SoundLoader może definiować czas dla bufora (minimalna liczba milisekund danych pliku MP3, które będą przechowywane w buforze obiektu Sound) oraz określać, czy aplikacja powinna przed wczytaniem dźwięku sprawdzić istnienie międzydomenowego pliku reguł.


Zgłasza
IOError — Niepowodzenie operacji ładowania pliku spowodował błąd sieci.
 
SecurityError — Niezaufane pliki lokalne mogą nie mieć możliwości komunikowania się z siecią Internet. Można obejść ten problem przez zaklasyfikowanie pliku jako lokalnego z dostępem do sieci lub pliku zaufanego.
 
SecurityError — Nie można połączyć się z portem, który zazwyczaj jest zastrzeżony. Pełną listę zablokowanych portów zawiera sekcja „Ograniczanie sieciowych interfejsów API” w publikacji ActionScript 3.0 — podręcznik dla programistów.
 
IOError — Wartością właściwości digest obiektu stream nie jest wartość null. Należy tylko ustawić właściwość digest obiektu URLRequest w czasie wywoływania metody URLLoader.load(), gdy ładowany jest plik SWZ (składnik platformy Adobe).

Przykład  ( Sposób korzystania z tego przykładu )

Następujący przykład wyświetla postęp ładowania pliku dźwiękowego.

W konstruktorze obiekt URLRequest jest tworzony w celu określenia lokalizacji pliku, który jest podkastem dostarczonym przez firmę Adobe. Plik jest ładowany w bloku try...catch w celu przechwycenia błędu, który może pojawić się w trakcie ładowania pliku. Jeśli pojawił się błąd wejścia/wyjścia, wywoływana jest metoda errorHandler() i w polu tekstowym wypisywany jest komunikat błędu przeznaczony dla raportu postępu. W trakcie operacji ładowania wywoływane jest zdarzenie ProgressEvent.PROGRESS oraz metoda progressHandler(). W tym miejscu zdarzenie ProgressEvent.PROGRESS zostało użyte jako czasomierz do obliczenia postępu ładowania.

W metodzie progressHandler() wartość właściwości bytesLoaded, przekazana razem z obiektem ProgressEvent, dzielona jest przez wartość właściwości bytesTotal w celu uzyskania procentowej wartości ładowanych danych dźwiękowych. Następnie wartości te są wyświetlane w polu tekstowym. (Należy zauważyć, że jeśli plik jest niewielki, został zbuforowany lub znajduje się w katalogu lokalnym, postęp ładowania może zostać niezauważony).

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

()metoda 
public function loadCompressedDataFromByteArray(bytes:ByteArray, bytesLength:uint):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 3, Flash Player 11

Wczytuje dane dźwięku MP3 z obiektu ByteArray do obiektu Sound. Dane są odczytywane od bieżącego położenia obiektu ByteArray, a po zakończeniu operacji dla obiektu ByteArray jest ustawiane końcowe położenie zakresu o podanej długości w bajtach. Jeśli dane dźwięku MP3 zawierają dane ID3, podczas wywołania tej funkcji są wywoływane zdarzenia ID3. Ta funkcja wygeneruje wyjątek, jeśli obiekt ByteArray nie zawiera wystarczającej ilości danych.

Parametry

bytes:ByteArray
 
bytesLength:uint

loadPCMFromByteArray

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 3, Flash Player 11

Wczytuje dane dźwięku PCM (32-bitowe wartości zmiennoprzecinkowe) z obiektu ByteArray do obiektu Sound. Dane są odczytywane od bieżącego położenia w obiekcie ByteArray, a po zakończeniu operacji dla obiektu ByteArray jest ustawiane końcowe położenie próbki o podanej długości w bajtach pomnożonej przez liczbę kanałów (1 lub 2 w przypadku ustawienia flagi dźwięku stereo).

Od wersji Flash Player 11.8 wprowadzono ograniczenie ilości danych dźwiękowych, jakie można przekazać do tej funkcji. W plikach SWF o wersji co najmniej 21 ta funkcja generuje wyjątek, jeśli ilość przekazanych do niej danych dźwiękowych obejmuje ponad 1800 sekund. Oznacza to, że stosunek liczby próbek do częstotliwości próbkowania nie powinien przekraczać 1800. W plikach SWF o wersji niższej niż 21 środowisko wykonawcze przestaje pracować, nie zgłaszając błędu, jeśli ilość przekazanych danych dźwiękowych obejmuje ponad 12 000 sekund. Ta funkcja jest dostępna tylko w celu zachowania zgodności wstecz.

Ta funkcja generuje wyjątek, jeśli obiekt ByteArray nie zawiera wystarczającej ilości danych.

Parametry

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

play

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Generuje nowy obiekt SoundChannel, umożliwiający odtwarzanie dźwięku. Metoda zwraca obiekt SoundChannel, który umożliwia zatrzymanie dźwięku i kontrolowanie głośności po uzyskaniu do niego dostępu. (Aby kontrolować głośność, przesunięcie oraz balans, należy uzyskać dostęp do obiektu SoundTransform skojarzonego z kanałem dźwiękowym).

Parametry

startTime:Number (default = 0) — Położenie początkowe (wartość w milisekundach), od którego należy rozpocząć odtwarzanie.
 
loops:int (default = 0) — Definiuje liczbę powtórnego odtworzenia dźwięku (powrotów do wartości startTime), zanim kanał dźwiękowy zatrzyma odtwarzanie.
 
sndTransform:flash.media:SoundTransform (default = null) — Początkowy obiekt SoundTransform skojarzony z kanałem dźwiękowym.

Zwraca
SoundChannel — Obiekt SoundChannel, z którego należy skorzystać w celu kontrolowania dźwięku. Metoda zwraca wartość null, jeśli użytkownik nie posiada karty dźwiękowej lub wyczerpane zostały dostępne kanały dźwiękowe. Maksymalna liczba kanałów dźwiękowych dostępnych jednocześnie to 32.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie po załadowaniu pliku użytkownik za pomocą graficznego paska może wybrać położenie początkowe (czas rozpoczęcia odtwarzania) pliku dźwiękowego.

Konstruktor wywołuje metodę Sound.load() w celu rozpoczęcia ładowania danych dźwiękowych. Następnie wywoływana jest metoda Sound.play(), która rozpocznie odtwarzanie dźwięku tuż po załadowaniu dostatecznej ilości danych. Metoda Sound.play() zwraca obiekt SoundChannel, który może zostać użyty w celu kontrolowania odtwarzania dźwięku. W polu tekstowym wyświetlane są instrukcje. Aby upewnić się, że zawartość, od której użytkownik chce rozpocząć odtwarzanie dźwięku, została już załadowana, tworzony jest obiekt bar klasy Sprite i wyświetlany po zakończeniu ładowania pliku. Zdarzenie Event.COMPLETE wywoływane jest w momencie, gdy plik wywołujący metodę completeHandler() zostanie pomyślnie załadowany. Następnie metoda completeHandler() tworzy pasek i dodaje go do listy wyświetlania. (Aby wesprzeć interakcyjność, zamiast obiektu kształtu używany jest obiekt ikonki). Kliknięcie paska powoduje wywołanie metody clickHandler().

W metodzie clickHandler() położenie współrzędnej x kliknięcia, event.localX, jest używane w celu określenia miejsca, w którym użytkownik chce rozpocząć odtwarzanie pliku. Ponieważ pasek ma 100 pikseli i rozpoczyna się na współrzędnej x o wartości 100 pikseli, łatwo jest określić procentową wartość położenia. Od momentu załadowania pliku właściwość length pliku dźwiękowego będzie miała wartość równą całkowitej długości pliku, w milisekundach. Za pomocą wartości długości pliku dźwiękowego oraz położenia w wierszu zostanie określone położenie początkowe dla pliku dźwiękowego. Po zatrzymaniu odtwarzania dźwięku, plik dźwiękowy rozpoczyna ponowne odtwarzanie od zaznaczonego położenia początkowego, które znajduje się za wartością parametru startTime metody 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;
        }
    }
}

W poniższym przykładzie w zależności od liczby kliknięć użytkownika (pojedyncze lub dwukrotne) na przycisk, dźwięk zostanie odtworzony raz lub dwa razy.

W konstruktorze ładowany jest dźwięk i tworzony jest nieskomplikowany prostokątny obiekt button klasy Sprite. (Aby wesprzeć interakcyjność, zamiast obiektu kształtu używany jest obiekt ikony). W tym miejscu założono, że plik znajduje się w tym samym katalogu, co plik SWF. (Dla tego przykładu nie napisano kodu obsługi błędu).

Dwa detektory zdarzeń zostały ustawione, aby odpowiedzieć na pojedyncze lub podwójne kliknięcia myszą. Pojedyncze kliknięcie powoduje wywołanie metody clickHandler(), która odtwarza dźwięk. Podwójne kliknięcie przycisku powoduje wywołanie metody doubleClickHandler(), która dwukrotnie odtworzy dźwięk. Wartość drugiego argumentu metody play() ma wartość 1, co oznacza, że dźwięk powróci do początku odtwarzania i zostanie on odtworzony raz jeszcze. Pierwszy argument, czas rozpoczęcia odtwarzania, ma wartość 0, co oznacza, że plik będzie odtwarzany od początku.

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

Następujący przykład wyświetla postęp ładowania·i odtwarzania pliku dźwiękowego.

W konstruktorze plik jest ładowany w bloku try...catch w celu przechwycenia błędu, który może pojawić się w trakcie ładowania pliku. Do obiektu dźwięku dodawany jest detektor, który odpowie na zdarzenie IOErrorEvent wywołując metodę errorHandler(). Dla aplikacji głównej dodawany jest kolejny detektor, który odpowie na zdarzenie Event.ENTER_FRAME, które używane jest jako mechanizm odmierzający czas służący do pokazania postępu odtwarzania. Na końcu dla kanału dźwiękowego dodawany jest trzeci detektor, który odpowie na zdarzenie Event.SOUND_COMPLETE (w momencie zakończenia odtwarzania dźwięku), wywołując metodę soundCompleteHandler(). Metoda soundCompleteHandler() usuwa również detektor zdarzeń dla zdarzenia Event.ENTER_FRAME.

W metodzie enterFrameHandler() wartość właściwości bytesLoaded, przekazana razem z obiektem ProgressEvent, dzielona jest przez wartość właściwości bytesTotal w celu uzyskania procentowej wartości ładowanych danych dźwiękowych. Procentowa wartość danych odtwarzanego dźwięku mogłaby być określana także przez podzielenie wartości właściwości position kanału dźwiękowego przez wartość długości danych dźwiękowych. Jednak, jeśli dane dźwiękowe nie zostały w pełni załadowane, właściwość length obiektu dźwięku wyświetla jedynie rozmiar aktualnie ładowanych danych dźwiękowych. Oszacowanie końcowego rozmiaru pliku dźwiękowego jest obliczane przez podzielenie wartości właściwości length bieżącego obiektu dźwięku przez wartość właściwości bytesLoaded podzielonej przez wartość właściwości bytesTotal.

Należy zauważyć, że jeśli plik jest niewielki, został zbuforowany lub znajduje się w katalogu lokalnym, postęp ładowania może być niezauważalny (tzn. plik został szybko załadowany). Również opóźnienie pomiędzy rozpoczęciem ładowania danych dźwiękowych, a rozpoczęciem odtwarzania załadowanych danych zależy od wartości właściwości SoundLoaderContext.buffertime, która domyślnie przyjmuje wartość 1000 milisekund i można ją zmienić.

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);
        }
    }
}
Szczegół zdarzenia

complete

Zdarzenie
Typ obiektu zdarzenia: flash.events.Event
właściwość Event.type = flash.events.Event.COMPLETE

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływane po pomyślnym wczytaniu danych.

Stała Event.COMPLETE definiuje wartość właściwości type obiektu zdarzenia complete.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt sieciowy, którego ładowanie zostało ukończone.

Powiązane elementy interfejsu API

id3

Zdarzenie  
Typ obiektu zdarzenia: flash.events.Event
właściwość Event.type = flash.events.Event.ID3

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływane przez obiekt Sound, gdy są dostępne dane ID3 dotyczące dźwięku MP3.

Stała Event.ID3 definiuje wartość właściwości type obiektu zdarzenia id3.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt Sound ładujący plik MP3, dla którego są obecnie dostępne dane ID3. Obiekt target nie zawsze jest obiektem na liście wyświetlania, która zarejestrowała detektor zdarzeń. Właściwość currentTarget umożliwia uzyskanie dostępu do obiektu na liście wyświetlania, który obecnie przetwarza zdarzenie.

Powiązane elementy interfejsu API

ioError

Zdarzenie  
Typ obiektu zdarzenia: flash.events.IOErrorEvent
właściwość IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływana, gdy wystąpi błąd wejścia lub wyjścia uniemożliwiający wczytywanie danych.

Definiuje wartość właściwości type obiektu zdarzenia ioError.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
errorIDNumer referencyjny skojarzony z konkretnym błędem (tylko w środowisku AIR).
targetObiekt sieciowy, w którym wystąpił błąd wejścia/wyjścia.
textTekst, który ma być wyświetlany w charakterze komunikatu o błędzie.

Powiązane elementy interfejsu API

open

Zdarzenie  
Typ obiektu zdarzenia: flash.events.Event
właściwość Event.type = flash.events.Event.OPEN

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływane po rozpoczęciu ładowania.

Stała Event.OPEN definiuje wartość właściwości type obiektu zdarzenia open.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt sieciowy, który otworzył połączenie.

Powiązane elementy interfejsu API

progress

Zdarzenie  
Typ obiektu zdarzenia: flash.events.ProgressEvent
właściwość ProgressEvent.type = flash.events.ProgressEvent.PROGRESS

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywoływane w trakcie stopniowego wczytywania danych.

Definiuje wartość właściwości type obiektu zdarzenia progress.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
bytesLoadedLiczba elementów lub bajtów załadowanych w momencie, w którym detektor przetwarza zdarzenie.
bytesTotalŁączna liczba elementów lub bajtów, które zostaną ostatecznie załadowane w razie pomyślnego zakończenia operacji ładowania.
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt informujący o postępie.

Powiązane elementy interfejsu API

sampleData

Zdarzenie  
Typ obiektu zdarzenia: flash.events.SampleDataEvent
właściwość SampleDataEvent.type = flash.events.SampleDataEvent.SAMPLE_DATA

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10, AIR 1.5

Wywoływane, gdy środowisko wykonawcze zażąda nowych danych audio.

Definiuje wartość właściwości type obiektu zdarzenia SampleDataEvent.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
positionPunkt, z którego udostępniane są dane audio.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład powoduje odtworzenie prostej fali sinusoidalnej.
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();

Powiązane elementy interfejsu API

SoundExample.as

Poniższy przykład wyświetla informacje na temat zdarzeń dźwięku, które mają miejsce w momencie ładowania i odtwarzania pliku MP3. Aby uruchomić ten przykład, należy umieścić plik o nazwie MySound.mp3 w tym samym katalogu, co plik 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 ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.