Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : AIR 30.0 et versions antérieures, Flash Player 30.0 et versions antérieures, Flash Lite 4
Flex 4.6 et versions antérieures, Flash Pro CS6 et versions antérieures
Masquer les filtres
flash.media 

Sound  - AS3

Packagesx

Niveau supérieur
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

Eléments du langage

Constantes globales
Fonctions globales
Opérateurs
Instructions, mots clés et directives
Types spéciaux

Annexes

Nouveautés
Erreurs de compilation
Avertissements du compilateur
Erreurs d’exécution
Migration vers ActionScript 3
Jeux de caractères pris en charge
Balises MXML uniquement
Eléments XML de mouvement
Balises Timed Text
Liste des éléments déconseillés
Constantes d’implémentation d’accessibilité
Utilisation des exemples de code ActionScript
Informations juridiques
Packageflash.media
Classepublic class Sound
HéritageSound Inheritance EventDispatcher Inheritance Object
Sous-classes SoundAsset

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

La classe Sound vous permet de contrôler le son dans une application. Elle vous permet de créer un objet Sound, de charger et de lire un fichier MP3 externe dans cet objet, de fermer le flux audio et d’accéder aux données relatives au son (nombre d’octets que contient le flux, informations sur les métadonnées ID3, etc.). Un contrôle plus précis du son est possible via sa source (objet SoundChannel ou Microphone correspondant) et des propriétés de la classe SoundTransform qui contrôle l’émission du son par les haut-parleurs de l’ordinateur.

Dans Flash Player 10 et les versions ultérieures, ainsi que dans AIR 1.5 et les versions ultérieures, vous pouvez également utiliser cette classe pour gérer le son généré dynamiquement. Dans ce cas, l’objet Sound utilise la fonction que vous affectez à un gestionnaire d’événement sampleData pour interroger les données audio. Le son est lu au fur et à mesure que les données sont récupérées dans un objet ByteArray que vous renseignez avec les données audio. Vous pouvez utiliser la méthode Sound.extract() pour extraire les données audio d’un objet Sound, après quoi vous pouvez les manipuler avant de les réécrire dans le flux pour la lecture.

Pour contrôler des sons imbriqués dans un fichier SWF, utilisez les propriétés de la classe SoundMixer.

Remarque : l’API son d’ActionScript 3.0 est différente de celle d’ActionScript 2.0. Dans ActionScript 3.0, il est impossible de prendre des objets son et de les classer selon un ordre hiérarchique pour contrôler leurs propriétés.

Lorsque vous employez cette classe, tenez compte du modèle de sécurité suivant :

  • Le chargement et la lecture d’un son ne sont pas autorisés si le fichier appelant se trouve sur un sandbox réseau et que le fichier à charger est local.
  • Par défaut, le chargement et la lecture d’un son sont interdits si le fichier appelant est local et tente de charger et de lire un son distant. Pour permettre ce type d’accès, un utilisateur doit accorder une autorisation explicite.
  • Des restrictions s’appliquent à certaines opérations concernant le son. Les données d’un son chargé ne sont pas accessibles par un fichier appartenant à un autre domaine, sauf si vous mettez en place un fichier de régulation interdomaines. Les propriétés Sound.id3, SoundMixer.computeSpectrum(), SoundMixer.bufferTime et la classe SoundTransform comptent parmi les API liées au son qui sont soumises à cette restriction.

Néanmoins, dans Adobe AIR, le contenu du sandbox de sécurité application (contenu installé avec l’application AIR) n’est pas soumis à ces restrictions de sécurité.

Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).

Consulter les exemples

Plus d’exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
  bytesLoaded : uint
[lecture seule] Renvoie le nombre d’octets actuellement disponibles dans cet objet Sound.
Sound
  bytesTotal : int
[lecture seule] Renvoie le nombre total d’octets que contient l’objet Sound.
Sound
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  id3 : ID3Info
[lecture seule] Donne accès aux métadonnées faisant partie d’un fichier MP3.
Sound
  isBuffering : Boolean
[lecture seule] Renvoie l’état de mise en mémoire tampon des fichiers MP3 externes.
Sound
  isURLInaccessible : Boolean
[lecture seule] Indique si la propriété Sound.url a été tronquée.
Sound
  length : Number
[lecture seule] Durée du son actuel, en millisecondes.
Sound
  url : String
[lecture seule] URL à partir de laquelle le son a été chargé.
Sound
Méthodes publiques
 MéthodeDéfini par
  
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
Crée un objet Sound.
Sound
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
Ferme le flux, ce qui entraîne l’arrêt du téléchargement des données.
Sound
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
  
extract(target:ByteArray, length:Number, startPosition:Number = -1):Number
Extrait les données audio brutes d’un objet Sound.
Sound
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
  
load(stream:URLRequest, context:SoundLoaderContext = null):void
Lance le chargement d’un fichier MP3 externe à partir de l’URL spécifiée.
Sound
  
Chargez les données audio MP3 à partir d’un objet ByteArray dans un objet Sound.
Sound
  
loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Charge les données audio à virgule flottante PCM 32 bits depuis un objet ByteArray dans un objet Sound.
Sound
  
play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Crée un objet SoundChannel pour lire le son.
Sound
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
  Distribué lorsque le chargement de données a abouti.Sound
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
  Distribué par un objet Sound lorsque des données ID3 sont disponibles pour un son MP3.Sound
  Distribué lorsqu’il se produit une erreur d’entrée/sortie entraînant l’échec d’un chargement.Sound
  Distribué lors du démarrage d’une opération de chargement.Sound
  Distribué lors de la réception de données, au fur et à mesure d’un chargement.Sound
  Distribué lorsque le moteur d’exécution sollicite de nouvelles données audio.Sound
Détails de la propriété

bytesLoaded

propriété
bytesLoaded:uint  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Renvoie le nombre d’octets actuellement disponibles dans cet objet Sound. Cette propriété n’est généralement utile que pour les fichiers chargés en externe.



Implémentation
    public function get bytesLoaded():uint

bytesTotal

propriété 
bytesTotal:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Renvoie le nombre total d’octets que contient l’objet Sound.



Implémentation
    public function get bytesTotal():int

id3

propriété 
id3:ID3Info  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Donne accès aux métadonnées faisant partie d’un fichier MP3.

Les fichiers son MP3 peuvent contenir des balises ID3 qui fournissent des métadonnées sur le fichier. Si le son MP3 que vous chargez à l’aide de la méthode Sound.load() contient des balises ID3, vous pouvez interroger ces propriétés. Seules les balises ID3 qui utilisent le jeu de caractères UTF-8 sont prises en charge.

Flash Player 9 (et les versions ultérieures) et AIR prennent en charge les balises ID3 2.0, plus particulièrement 2.3 et 2.4. Les tableaux suivants répertorient les balises ID3 2.0 standard et le type de contenu que les balises représentent. La propriété Sound.id3 permet d’accéder à ces balises par le biais du format my_sound.id3.COMM, my_sound.id3.TIME, etc. Le premier tableau décrit les balises auxquelles il est possible d’accéder par le biais du nom de propriété ID3 2.0 ou le nom de propriété ActionScript. Le second tableau décrit les balises ID3 qui sont prises en charge, mais ne possèdent pas de propriétés prédéfinies dans ActionScript.

Balise ID3 2.0Propriété de la classe Sound correspondante
COMMSound.id3.comment
TALBSound.id3.album
TCONSound.id3.genre
TIT2Sound.id3.songname
TPE1Sound.id3.artist
TRCKSound.id3.track
TYERSound.id3.year

Le tableau suivant décrit les balises ID3 qui sont prises en charge, mais ne possèdent pas de propriétés prédéfinies dans la classe Sound. Pour y accéder, appelez mySound.id3.TFLT, mySound.id3.TIME, etc. REMARQUE : aucune de ces balises n’est prise en charge dans Flash Lite 4.

PropriétéDescription
TFLTType de fichier
TIMEDurée
TIT1Description du groupe de contenus
TIT2Titre/nom du morceau/description du contenu
TIT3Sous-titre/description plus précise
TKEYTouche initiale
TLANLangues
TLENDurée
TMEDType de média
TOALTitre de l’album/du film/du spectacle d’origine
TOFNNom du fichier d’origine
TOLYParoliers/auteurs d’origine
TOPEInterprètes/musiciens d’origine
TORYAnnée de parution d’origine
TOWNPropriétaire du fichier/détenteur de licence
TPE1Interprètes principaux/solistes
TPE2Groupe/orchestre/accompagnement
TPE3Chef d’orchestre/description plus détaillée des musiciens
TPE4Interprété, remixé ou modifié par
TPOSElément d’un ensemble
TPUBEditeur
TRCKNuméro de piste/position dans l’ensemble
TRDADates d’enregistrement
TRSNNom de la station radio Internet
TRSOPropriétaire de la station radio Internet
TSIZTaille
TSRCISRC (international standard recording code - code standard et international d’enregistrement)
TSSELogiciel/matériel et paramètres utilisés pour le codage
TYERAnnée
WXXXStructure de lien URL

Pour utiliser cette propriété, tenez compte du modèle de sécurité de Flash Player :

  • La propriété id3 d’un objet Sound est toujours autorisée pour les fichiers SWF qui se trouvent sur le même sandbox de sécurité que le fichier audio. Des contrôles de sécurité sont nécessaires pour les fichiers se trouvant sur d’autres sandbox.
  • Lorsque vous chargez le son à l’aide de la méthode load() de la classe Sound, vous pouvez spécifier un paramètre context qui est un objet SoundLoaderContext. Si vous définissez la propriété checkPolicyFile de l’objet SoundLoaderContext sur true, Flash Player recherche un fichier de régulation d’URL sur le serveur à partir duquel le son est chargé. S’il existe un fichier de régulation qui autorise un accès à partir du domaine du fichier SWF effectuant le chargement, le fichier peut alors accéder à la propriété id3 de l’objet Sound ; dans le cas contraire, l’accès lui est interdit.

Néanmoins, dans Adobe AIR, le contenu du sandbox de sécurité application (contenu installé avec l’application AIR) n’est pas soumis à ces restrictions de sécurité.

Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).



Implémentation
    public function get id3():ID3Info

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant lit les informations d’ID3 dans un fichier audio et les affiche dans un champ de texte.

Dans le constructeur, le fichier audio est chargé mais n’est pas défini sur lecture. Ici, le fichier est supposé être dans le répertoire SWF. Le système doit être autorisé à lire les balises ID3 d’un fichier audio chargé. Si le fichier contient des informations ID3 alors que le programme n’est pas autorisé à les lire, un événement Event.ID3 est déclenché et la propriété id3 du fichier audio est renseignée. La propriété id3 contient un objet ID3Info renfermant toutes les informations ID3.

Dans la méthode id3Handler(), les balises ID3 du fichier sont stockées dans id3, un objet de la classe ID3Info. Un champ de texte est instancié pour afficher la liste des balises ID3. La boucle for fait une itération à travers toutes les balises ID3 2.0 et ajoute le nom et la valeur au contenu du champ de texte. L’artiste, le titre de la chanson et le nom de l’album sont également ajoutés via les propriétés (ID3Info) des informations ID3. ActionScript 3.0 et Flash Player 9 et versions ultérieures prennent en charge les balises ID3 2.0, et en particulier 2.3 et 2.4. Si vous faites une itération des propriétés comme dans la boucle for, seules les balises ID3 2.0 apparaissent. Toutefois, les données des versions précédentes sont également stockées dans la propriété id3 de la chanson et sont accessibles via les propriétés de la classe ID3Info. Les balises ID3 1.0 se situent à la fin du fichier alors que les balises ID3 2.0 sont placées au début du fichier (il arrive parfois que les balises des versions antérieures et ultérieures soient au même endroit dans le fichier). Lorsqu’un fichier est encodé avec des balises 1.0 et 2.0 au début et à la fin du fichier, la méthode id3Handler() doit être invoquée deux fois. Elle lit d’abord la version 2.0, puis la version 1.0. Si seule une balise ID3 1.0 est disponible, les informations sont alors accessibles via les propriétés d’informations ID3, telles que id3.songname. Pour ID3 2.0, la propriété id3.TITS récupère le titre de la chanson à l’aide de la nouvelle balise (TITS).

Notez que aucune gestion d’erreur n’est écrite pour cet exemple et que si le contenu ID3 est long, le résultat peut dépasser la zone visible.

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

propriété 
isBuffering:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Renvoie l’état de mise en mémoire tampon des fichiers MP3 externes. Si la valeur correspond à true, la lecture éventuelle est interrompue pendant que l’objet attend des données supplémentaires.



Implémentation
    public function get isBuffering():Boolean

isURLInaccessible

propriété 
isURLInaccessible:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10.1, AIR 2

Indique si la propriété Sound.url a été tronquée. Lorsque la valeur isURLInaccessible est définie sur true, la valeur Sound.url correspond uniquement au domaine de l’URL finale à partir de laquelle le son a été chargé. Par exemple, la propriété est tronquée si le son est chargé depuis http://www.adobe.com/assets/hello.mp3, et la propriété Sound.url a la valeur http://www.adobe.com. La valeur isURLInaccessible est définie sur true uniquement lorsque toutes les affirmations suivantes sont également vraies :

  • Une redirection HTTP s’est produite lors du chargement du fichier audio.
  • Le fichier SWF qui appelle Sound.load() provient d’un domaine différent de celui de l’URL finale du fichier audio.
  • Le fichier SWF qui appelle Sound.load() n’est pas autorisé à accéder au fichier audio. L’autorisation d’accéder au fichier audio s’obtient de la même façon que l’autorisation d’accéder à la propriété Sound.id3 : créez un fichier de régulation et utilisez la propriété SoundLoaderContext.checkPolicyFile.

Remarque : la propriété isURLInaccessible a été ajoutée à Flash Player 10.1 et AIR 2.0. Toutefois, cette propriété est disponible pour les fichiers SWF de toutes les versions lorsque le moteur d’exécution de Flash la prend en charge. Ainsi, l’utilisation de certains outils de création en « mode strict » entraîne une erreur de compilation. Pour contourner cette erreur, utilisez la syntaxe indirecte mySound["isURLInaccessible"] ou désactivez le mode strict. Si vous utilisez Flash Professional CS5 ou le kit SDK Flex version 4.1, vous pouvez utiliser et compiler cette API pour les moteurs d’exécution publiés avant Flash Player 10.1 et AIR 2.

Pour le contenu de l’application dans AIR, la valeur de cette propriété est toujours false.



Implémentation
    public function get isURLInaccessible():Boolean

Eléments de l’API associés

length

propriété 
length:Number  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Durée du son actuel, en millisecondes.



Implémentation
    public function get length():Number

url

propriété 
url:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

URL à partir de laquelle le son a été chargé. Cette propriété s’applique uniquement aux objets Sound chargés à l’aide de la méthode Sound.load(). Pour les objets Sound associés à un actif son de la bibliothèque d’un fichier SWF, la valeur de la propriété url correspond à null.

La première fois que vous appelez Sound.load(), la valeur de la propriété url est d’abord définie null car l’URL finale n’est pas encore connue. La propriété url a une autre valeur dès qu’un événement open est distribué à partir de l’objet Sound.

La propriété url contient l’URL absolue finale à partir de laquelle un son a été chargé. En règle générale, la valeur de la propriété url est identique à la valeur transmise au paramètre stream de Sound.load(). Si vous transmettez une URL relative à Sound.load(), la valeur de la propriété url représente l’URL absolue. En outre, si la requête d’URL d’origine est redirigée par un serveur HTTP, la valeur de la propriété url reflète l’URL finale à partir de laquelle le fichier audio a réellement été téléchargé. La publication d’une URL finale absolue est équivalente au comportement de LoaderInfo.url.

Dans certains cas, la valeur de la propriété url est tronquée. Voir la propriété isURLInaccessible pour plus d’informations.



Implémentation
    public function get url():String

Eléments de l’API associés

Détails du constructeur

Sound

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Crée un objet Sound. Si vous transmettez un objet URLRequest valide au constructeur Sound, celui-ci appelle automatiquement la fonction load() pour l’objet Sound. Si vous ne transmettez pas un objet URLRequest valide au constructeur Sound, vous devez appeler la fonction load() pour l’objet Sound, sans quoi le flux ne sera pas chargé.

Une fois la fonction load() appelée pour un objet Sound, vous ne pouvez plus charger de fichier audio dans l’objet. Pour ce faire, créez un autre objet Sound.

Dans Flash Player 10 et les versions ultérieures, ainsi que dans AIR 1.5 et les versions ultérieures, au lieu d’utiliser load(), vous pouvez utiliser le gestionnaire d’événement sampleData pour charger dynamiquement le son dans l’objet Sound.

Paramètres
stream:URLRequest (default = null) — URL pointant vers un fichier MP3 externe.
 
context:SoundLoaderContext (default = null) — Un objet de contexte SoundLoader en option, qui peut définir la durée de mise en mémoire tampon (le nombre minimum de millisecondes de données MP3 à conserver dans la mémoire tampon de l’objet Sound) et peut spécifier si l’application doit rechercher un fichier de régulation interdomaines avant de charger le son.
Détails de la méthode

close

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ferme le flux, ce qui entraîne l’arrêt du téléchargement des données. Une fois la méthode close() appelée, aucune donnée ne peut être lue dans le flux.


Valeur émise
IOError — La fermeture du flux continu s’est révélée impossible ou ce flux n’a pas été ouvert.

Exemple  ( Comment utiliser cet exemple )

Dans l’exemple suivant, lorsque l’utilisateur clique sur le bouton Stop, la méthode Sound.close() est appelée et la diffusion du son s’arrête.

Dans le constructeur, un champ de texte est créé pour les boutons Start et Stop. Lorsque l’utilisateur clique sur le champ de texte, la méthode clickHandler() est invoquée. Elle gère le démarrage et l’arrêt du fichier audio. Notez que, selon la connexion réseau ou le moment où l’utilisateur clique sur le bouton Stop, une grande partie du fichier peut déjà avoir été chargée et l’arrêt de la lecture peut demander un certain temps. Un bloc try...catch est utilisé pour capturer toute erreur d’E/S pouvant survenir lors de la fermeture du flux. Par exemple, si le son est chargé depuis un répertoire local et n’est pas diffusé en continu, l’erreur 2029 est capturée et indique « Cet objet URLStream ne possède pas de flux ouvert ».

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

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

            button.addEventListener(MouseEvent.CLICK, clickHandler);

            this.addChild(button);
        }

        private function clickHandler(e:MouseEvent):void {

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

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

                snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);

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


extract

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Extrait les données audio brutes d’un objet Sound.

Cette méthode doit être employée lorsque vous gérez un son généré dynamiquement, à l’aide d’une fonction que vous affectez à l’événement sampleData pour un autre objet Sound. En d’autres termes, vous pouvez utiliser cette méthode pour extraire les données audio d’un objet Sound. Vous pouvez ensuite écrire les données dans le tableau d’octets utilisé par un autre objet Sound pour diffuser en continu les données audio dynamiques.

Les données audio sont placées dans le tableau d’octets cible, à partir de la position actuelle du tableau d’octets. Les données audio sont toujours exposées au format 44100 Hz stéréo. Le type d’échantillon est une valeur 32 bits en virgule flottante qui peut être convertie en nombre par la méthode ByteArray.readFloat().

Paramètres

target:ByteArray — Objet ByteArray qui contient les échantillons audio extraits.
 
length:Number — Nombre d’échantillons audio à extraire. Un échantillon contient à la fois les canaux gauche et droit, c’est-à-dire deux valeurs 32 bits en virgule flottante.
 
startPosition:Number (default = -1) — Echantillon au niveau duquel l’extraction commence. Si vous ne spécifiez pas de valeur, le premier appel à Sound.extract() démarre au début du son ; les appels suivants sans valeur pour startPosition continuent en séquence tout au long du fichier.

Valeur renvoyée
Number — Nombre d’échantillons écrits dans l’objet ByteArray spécifié dans le paramètre target.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant charge un fichier mp3 et utilise la méthode extract() de la classe Sound pour accéder aux données audio.

Les données mp3 sont chargées dans l’objet Sound sourceSnd. Lorsque l’application charge les données mp3, elle appelle la fonction loaded() (le gestionnaire d’événement pour l’événement complete de l’objet sourceSnd). Un deuxième objet Sound, outputSound, est utilisé pour lire les données audio modifiées. L’objet outputSound possède un écouteur d’événement sampleData ; par conséquent, l’objet distribue régulièrement des événements sampleData lorsque vous appelez la méthode play() de l’objet. La méthode upOctave() renvoie un tableau d’octets des données audio modifiées en fonction des données audio source. Elle renvoie les sons plus hauts d’un octave en ignorant les échantillons audio dans les données source. Le gestionnaire d’événement de l’événement sampleData écrit le tableau d’octets renvoyé dans la propriété data de l’objet outputSound. Le tableau d’octets data est ajouté aux données audio de sortie de l’objet outputSound.

Pour tester cet exemple, ajoutez un fichier test.mp3 au même répertoire que le fichier SWF.

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

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

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

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

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

load

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Lance le chargement d’un fichier MP3 externe à partir de l’URL spécifiée. Le constructeur Sound appelle automatiquement Sound.load() si vous lui fournissez un objet URLRequest valide. Vous ne devez appeler Sound.load() manuellement que si vous ne fournissez aucun objet URLRequest valide au constructeur Sound, ou si vous lui transmettez la valeur null.

Une fois la fonction load() appelée pour un objet Sound, vous ne pouvez plus charger de fichier audio dans l’objet. Pour ce faire, créez un autre objet Sound.

Lorsque vous employez cette méthode, tenez compte du modèle de sécurité suivant :

  • L’appel de Sound.load() n’est pas autorisé si le fichier appelant se trouve dans le sandbox local avec système de fichiers et que le son se trouve sur un sandbox réseau.
  • Un accès à partir du sandbox approuvé local ou du sandbox local avec accès au réseau exige l’autorisation du site Web via un fichier de régulation d’URL.
  • Vous ne pouvez pas vous connecter aux ports généralement réservés. Pour obtenir une liste complète des ports bloqués, voir la rubrique « Restriction des API de réseau » dans le Guide du développeur d’ActionScript 3.0.
  • Vous pouvez éviter qu’un fichier SWF utilise cette méthode en définissant le paramètre allowNetworking des balises object et embed dans la page HTML qui héberge le contenu SWF.

Dans Flash Player versions 10 et ultérieures, si vous utilisez un Content-Type en plusieurs parties (par exemple « multipart/form-data ») qui contient un chargement (indiqué par un paramètre « filename » dans un en-tête « content-disposition » au sein du corps POST), l’opération POST est soumise aux règles de sécurité appliquées aux chargements :

  • L’opération POST doit être effectuée en réponse à l’action d’un utilisateur, comme un clic de souris ou la pression d’une touche.
  • Si l’opération POST se fait entre plusieurs domaines (la cible POST ne se trouve pas sur le même serveur que le fichier SWF qui envoie la demande POST), le serveur cible doit fournir un fichier de régulation d’URL qui permette l’accès interdomaines.

Par ailleurs, la syntaxe de tous les Content-Type en plusieurs parties doit être correcte (selon la norme RFC2046). Si la syntaxe s’avère incorrecte, l’opération POST est soumise aux règles de sécurité appliquées aux chargements.

Dans Adobe AIR, le contenu du sandbox de sécurité de l’application (contenu installé avec l’application AIR) n’est pas restreint par ces limites de sécurité.

Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).

Paramètres

stream:URLRequest — URL pointant vers un fichier MP3 externe.
 
context:SoundLoaderContext (default = null) — Un objet de contexte SoundLoader en option, qui peut définir la durée de mise en mémoire tampon (le nombre minimum de millisecondes de données MP3 à conserver dans la mémoire tampon de l’objet Sound) et peut spécifier si l’application doit rechercher un fichier de régulation interdomaines avant de charger le son.


Valeur émise
IOError — Une erreur réseau a entraîné l’échec du chargement.
 
SecurityError — Les fichiers non approuvés au niveau local ne peuvent pas communiquer avec Internet. Pour contourner ce problème, reclassifiez le fichier en tant qu’approuvé ou en tant que fichier local avec accès au réseau.
 
SecurityError — Vous ne pouvez pas vous connecter aux ports généralement réservés. Pour obtenir une liste complète des ports bloqués, voir la rubrique « Restriction des API de réseau » dans le Guide du développeur d’ActionScript 3.0.
 
IOError — La propriété digest de l’objet stream n’est pas définie sur null. Vous devez définir la propriété digest d’un objet URLRequest uniquement lorsque vous appelez la méthode URLLoader.load() en vue de charger un fichier SWZ (un composant de la plateforme Adobe).

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant présente la progression du chargement d’un fichier audio.

Dans le constructeur, un objet URLRequest est créé pour identifier l’emplacement du fichier audio, qui correspond à un podcast d’Adobe. Le fichier est chargé dans un bloc try...catch pour capturer toute erreur pouvant survenir pendant son chargement. En cas d’erreur d’E/S, la méthode errorHandler() est également invoquée et le message d’erreur s’inscrit dans le champ de texte réservé au rapport de progression. Pendant la progression d’une opération de chargement, un événement ProgressEvent.PROGRESS est envoyé et la méthode progressHandler() est appelée. Ici, un événement ProgressEvent.PROGRESS est utilisé comme minuteur pour calculer la progression du chargement.

La méthode progressHandler() divise la valeur bytesLoaded transmise avec l’objet ProgressEvent par la valeur bytesTotal pour arriver au pourcentage de données audio chargées. Elle affiche ensuite ces valeurs dans le champ de texte (notez que si le fichier est petit, mis en cache ou dans le répertoire local, la progression peut ne pas être perceptible).

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

        public function Sound_loadExample(){

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

loadCompressedDataFromByteArray

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 3, Flash Player 11

Chargez les données audio MP3 à partir d’un objet ByteArray dans un objet Sound. Les données seront lues à partir de la position actuelle de l’objet ByteArray et laisseront la position de l’objet ByteArray à la fin de la longueur d’octets spécifiée une fois la lecture terminée. Si les données audio MP3 contiennent des données ID3, des événements ID3 seront distribués lors l’appel de cette fonction. Cette fonction renvoie une exception si l’objet ByteArray ne contient pas suffisamment de données.

Paramètres

bytes:ByteArray
 
bytesLength:uint

loadPCMFromByteArray

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 3, Flash Player 11

Charge les données audio à virgule flottante PCM 32 bits depuis un objet ByteArray dans un objet Sound. Les données seront lues à partir de la position actuelle de l’objet ByteArray et laisseront la position de l’objet ByteArray à la fin de la longueur de l’échantillon spécifiée multipliée par 1 ou 2 canaux si l’indicateur stéréo est défini une fois la lecture terminée.

A partir de Flash Player 11.8, la quantité de données audio qui peut être transmise à cette fonction est limitée. Pour les fichiers SWF des versions 21 ou ultérieures, cette fonction déclenche une exception si la quantité de données audio transmise est supérieure à 1 800 secondes. Autrement dit, la valeur échantillons/taux d’échantillonnage doit être inférieure ou égale à 1 800. Pour les fichiers SWF des versions antérieures à la version 21, l’exécution silencieuse échoue si la quantité de données audio transmises dépasse 12 000 secondes. (uniquement dans le cadre d’une compatibilité descendante).

Cette fonction renvoie une exception si l’objet ByteArray ne contient pas assez de données.

Paramètres

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

play

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Crée un objet SoundChannel pour lire le son. Cette méthode renvoie un objet SoundChannel, auquel vous accédez pour arrêter le son et régler le volume (pour contrôler le volume, la balance horizontale et la balance, accédez à l’objet SoundTransform affecté au canal audio).

Paramètres

startTime:Number (default = 0) — Position initiale du début de la lecture, en millisecondes.
 
loops:int (default = 0) — Définit le nombre de boucles décrit par un son sur la valeur startTime avant que le canal audio arrête la lecture.
 
sndTransform:flash.media:SoundTransform (default = null) — Objet SoundTransform d’origine affecté au canal audio.

Valeur renvoyée
SoundChannel — Objet SoundChannel permettant de contrôler le son. Cette méthode renvoie null si vous n’êtes pas équipé d’une carte son ou si aucun canal audio n’est disponible. Le nombre maximal de canaux audio disponibles simultanément est 32.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

Dans l’exemple suivant, une fois le fichier chargé, l’utilisateur peut sélectionner la position de départ (heure de démarrage) du fichier audio à l’aide d’une barre graphique.

Le constructeur appelle la méthode Sound.load() pour commencer à charger les données audio. Il appelle ensuite la méthode Sound.play() qui commencera à lire le fichier dès que suffisamment de données seront chargées. La méthode Sound.play() renvoie un objet SoundChannel qui peut être utilisé pour contrôler la lecture du fichier. Le champ de texte affiche les instructions. Pour être sûr que le contenu où l’utilisateur souhaite que le fichier audio commence ait déjà été chargé, un objet Sprite bar est créé et affiché à la fin du chargement du fichier. Un événement Event.COMPLETE est envoyé lorsque le chargement du fichier s’est terminé avec succès, ce qui déclenche la méthode completeHandler(). La méthode completeHandler() crée ensuite la barre et l’ajoute dans la liste d’affichage (un objet sprite est utilisé au lieu d’un objet shape pour assurer l’interactivité). Lorsque l’utilisateur clique sur la barre, la méthode clickHandler() est déclenchée.

Dans la méthode clickHandler(), la position de la coordonnée x du clic de l’utilisateur, event.localX, est utilisée pour déterminer l’emplacement où l’utilisateur souhaite que le fichier démarre. Comme la barre fait 100 pixels et commence à la coordonnée x 100 pixels, il est facile de déterminer le pourcentage de la position. De même, comme le fichier est chargé, la propriété length du fichier audio aura la longueur du fichier terminé, en millisecondes. La position de démarrage du fichier audio est déterminée par la longueur de ce fichier et sa position dans la ligne. Après arrêt de la lecture, le fichier audio redémarre à la position de démarrage sélectionnée, transmise sous forme de paramètre startTime à la méthode 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;
        }
    }
}

Dans l’exemple suivant, le fichier audio est diffusé une ou deux fois, selon si l’utilisateur clique une fois ou deux sur un bouton.

Dans le constructeur, le son est chargé et un simple objet sprite rectangle button est créé (un objet sprite est utilisé au lieu d’un objet shape pour assurer l’interactivité). Ici, le fichier audio est supposé être dans le même répertoire que le fichier SWF (il n’existe pas de code de gestion d’erreur pour cet exemple).

Deux écouteurs d’événement sont configurés pour répondre aux simples clics et aux doubles clics de souris. Si l’utilisateur utilise un simple clic, la méthode clickHandler() est invoquée et la lecture du son commence. Si l’utilisateur double-clique sur le bouton, la méthode doubleClickHandler() est invoquée et le fichier audio est diffusé à deux reprises. Le second argument de la méthode play() est défini sur 1, ce qui signifie que le fichier audio reviendra à l’heure de démarrage du fichier et sera diffusé à nouveau. L’heure de démarrage, premier argument, est définie sur 0, ce qui signifie que la lecture du fichier doit commencer au début.

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

L’exemple suivant présente la progression du chargement et de la lecture d’un fichier audio.

Dans le constructeur, le fichier est chargé dans un bloc try...catch pour capturer toute erreur pouvant survenir pendant le chargement de fichier. Un écouteur est ajouté dans l’objet audio et répondra à un événement IOErrorEvent par un appel à la méthode errorHandler(). Un autre écouteur est ajouté pour l’application principale et répondra à un événement Event.ENTER_FRAME, utilisé comme mécanisme de minuterie pour l’affichage de la progression de la lecture. Enfin, un troisième écouteur est ajouté pour le canal audio et répondra à un événement Event.SOUND_COMPLETE (à la fin de la lecture) par un appel à la méthode soundCompleteHandler(). La méthode soundCompleteHandler() supprime également l’écouteur de l’événement Event.ENTER_FRAME.

La méthode enterFrameHandler() divise la valeur bytesLoaded transmise avec l’objet ProgressEvent par la valeur bytesTotal pour arriver au pourcentage de données audio chargées. Le pourcentage de données audio lues peut être déterminé en divisant la valeur de la propriété position du canal audio par la longueur des données audio. Toutefois, si les données audio ne sont pas entièrement chargées, la propriété length de l’objet audio ne présente que la taille des données audio déjà chargées. Une estimation de la taille définitive du fichier audio complet est calculée en divisant la valeur de la propriété length de l’objet audio en cours par la valeur de la propriété bytesLoaded divisée par la valeur de la propriété bytesTotal.

Notez que si le fichier est petit, mis en cache ou dans le répertoire local, la progression du chargement peut ne pas être perceptible. De même, le délai qui sépare le démarrage du chargement des données audio et celui du démarrage de la lecture des données chargées est déterminé par la valeur de la propriété SoundLoaderContext.buffertime, qui correspond par défaut à 1 000 millisecondes et peut être réinitialisé.

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);
        }
    }
}
Détails de l’événement

complete

Evénement
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.COMPLETE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué lorsque le chargement de données a abouti.

La constante Event.COMPLETE définit la valeur de la propriété type d’un objet événement complete.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau dont le chargement est terminé.

Eléments de l’API associés

id3

Evénement  
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.ID3

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué par un objet Sound lorsque des données ID3 sont disponibles pour un son MP3.

La constante Event.ID3 définit la valeur de la propriété type d’un objet événement id3.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet son chargeant le fichier MP3 pour lequel les données ID3 sont maintenant disponibles. La propriété target ne correspond pas toujours à l’objet de la liste d’affichage qui est associé à l’écouteur d’événement. Utilisez la propriété currentTarget pour accéder à l’objet de la liste d’affichage qui traite actuellement l’événement.

Eléments de l’API associés

ioError

Evénement  
Type d’objet d’événement: flash.events.IOErrorEvent
propriété IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué lorsqu’il se produit une erreur d’entrée/sortie entraînant l’échec d’un chargement.

Définit la valeur de la propriété type d’un objet d’événement ioError.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
errorIDUn numéro de référence associé à l’erreur spécifique (AIR uniquement).
targetObjet réseau sur lequel l’erreur d’entrée/sortie s’est produite.
textTexte à afficher en tant que message d’erreur.

Eléments de l’API associés

open

Evénement  
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.OPEN

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué lors du démarrage d’une opération de chargement.

La constante Event.OPEN définit la valeur de la propriété type d’un objet événement open.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau qui a ouvert une connexion.

Eléments de l’API associés

progress

Evénement  
Type d’objet d’événement: flash.events.ProgressEvent
propriété ProgressEvent.type = flash.events.ProgressEvent.PROGRESS

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué lors de la réception de données, au fur et à mesure d’un chargement.

Définit la valeur de la propriété type d’un objet événement progress.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
bytesLoadedNombre d’éléments ou d’octets chargés lors du traitement de l’événement par l’écouteur.
bytesTotalNombre total d’éléments ou d’octets qui seront chargés si le processus de chargement aboutit.
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet indiquant la progression.

Eléments de l’API associés

sampleData

Evénement  
Type d’objet d’événement: flash.events.SampleDataEvent
propriété SampleDataEvent.type = flash.events.SampleDataEvent.SAMPLE_DATA

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Distribué lorsque le moteur d’exécution sollicite de nouvelles données audio.

Définit la valeur de la propriété type d’un objet événement SampleDataEvent.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
positionPoint à partir duquel les données audio sont fournies.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant lit une onde sinusoïdale simple.
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();

Eléments de l’API associés

SoundExample.as

L’exemple suivant affiche des informations concernant les événements sonores qui se produisent à l’ouverture et à la lecture d’un fichier MP3. Pour exécuter l’exemple, placez un fichier intitulé MySound.mp3 dans le même répertoire que votre fichier 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 ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.