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

NetStream  - 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.net
Classepublic class NetStream
HéritageNetStream Inheritance EventDispatcher Inheritance Object

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

La classe NetStream ouvre un canal de diffusion en continu à sens unique sur un objet NetConnection.

Utilisez la classe NetStream pour effectuer les opérations suivantes :

  • Appelez NetStream.play() pour lire un fichier multimédia à partir d’un disque local, d’un serveur Web ou de Flash Media Server.
  • Appelez NetStream.publish() pour publier des données vidéo, des données audio et un flux de données dans Flash Media Server.
  • Appelez NetStream.send() pour envoyer des messages de données à tous les clients abonnés.
  • Appelez NetStream.send() pour ajouter des métadonnées à un flux en direct.
  • Appelez NetStream.appendBytes() pour transmettre les données ByteArray dans l’objet NetStream.

Remarque : vous ne pouvez pas afficher ni publier un flux de données sur le même objet NetStream.

Adobe AIR, ainsi que Flash Player 9.0.115.0 et les versions ultérieures, prennent en charge les fichiers dérivés du format conteneur standard MPEG-4. Ces fichiers sont les suivants : F4V, MP4, M4A, MOV, MP4V, 3GP et 3G2, s’ils contiennent des images H.264 ou du son codé au format HEAAC v2, ou les deux. H.264 produit une qualité vidéo supérieure à une vitesse de transmission inférieure par rapport au même profil d’encodage dans Sorenson ou On2. AAC est un format audio standard défini dans la norme vidéo MPEG-4. HE-AAC v2 est une extension du format AAC qui utilise les techniques de réplique spectrale de bande (SBR - Spectral Band Replication) et de stéréo paramétrique pour optimiser l’efficacité de l’encodage à des vitesses de transmission inférieures.

Pour plus d’informations sur les codecs et les formats de fichier pris en charge, voir les références suivantes :

Réception de données à partir d’un flux Flash Media Server, d’un fichier F4V ou d’un fichier FLV progressif

Flash Media Server, les fichiers F4V et les fichiers FLV peuvent envoyer des objets d’événement contenant des données à des points de données spécifiques pendant la diffusion ou la lecture. Vous pouvez gérer les données d’un flux ou d’un fichier FLV pendant la lecture de deux manières :

  • Associez une propriété client à un gestionnaire d’événement pour recevoir l’objet de données. Utilisez la propriété NetStream.client pour affecter un objet appelant des fonctions de gestion de données spécifiques. L’objet affecté à la propriété NetStream.client peut écouter les points de données suivants : onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() et onXMPData(). Ecrivez des procédures au sein de ces fonctions pour gérer l’objet de données renvoyé par le flux pendant la lecture. Pour plus d’informations, voir la propriété NetStream.client.
  • Associez une propriété client à une sous-classe de la classe NetStream, puis écrivez un gestionnaire d’événement pour recevoir l’objet de données. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Vous pouvez cependant créer une sous-classe de NetStream et définir votre gestionnaire d’événement dans la sous-classe. Vous pouvez par ailleurs faire de cette dernière une sous-classe dynamique et ajouter le gestionnaire d’événement à une occurrence de la sous-classe.

Attendez de recevoir un événement NetGroup.Neighbor.Connect avant d’utiliser la réplication d’objets, le routage direct ou les API de publication.

Remarque : pour envoyer des données par l’intermédiaire d’un fichier audio, tel qu’un fichier MP3, utilisez la classe Sound pour associer le fichier audio à un objet Sound. Ensuite, utilisez la propriété Sound.id3 pour lire les métadonnées dans le fichier audio.

Prise en charge de vidéos codées en H. 264 dans AIR for iOS

Pour les vidéos H. 264, AIR 3.0 for iOS et les versions ultérieures prennent en charge un sous-ensemble d’API NetStream. Le tableau ci-dessous répertorie les membres NetStream pour la lecture qui ne sont pas pris en charge dans AIR for iOS :

Propriétés non prises en chargeMéthodes non prises en chargeEvénements non pris en charge
bufferTimeappendBytes()onCuePoint (fonctionne uniquement avec les fichiers FLV)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayCode d’événement d’état DRM.encryptedFLV
maxPauseBufferTime
soundTransform
Toutes les propriétés décrivant des connexions RTMFP

Pour plus d’informations sur l’utilisation d’AIR pour iOS, voir la méthode NetStream.play().

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
  audioReliable : Boolean
Pour les connexions RTMFP, indique si le son est envoyé en toute fiabilité.
NetStream
  audioSampleAccess : Boolean
Pour les connexions RTMFP, indique si les abonnés homologue à homologue de ce flux de réseau sont autorisés à capturer le flux audio.
NetStream
  backBufferLength : Number
[lecture seule] Nombre de secondes des données précédemment affichées actuellement en cache pour le rembobinage et la lecture.
NetStream
  backBufferTime : Number
Spécifie la quantité de données précédemment affichées que Flash Player tente de mettre en mémoire cache pour le rembobinage et la lecture, en secondes.
NetStream
  bufferLength : Number
[lecture seule] Nombre de secondes de données enregistrées dans la mémoire tampon.
NetStream
  bufferTime : Number
Spécifie la durée de la mise en mémoire tampon des messages avant que l’affichage du flux ne commence.
NetStream
  bufferTimeMax : Number
Spécifie une longueur de mémoire tampon maximale pour le contenu de flux continu en direct, en secondes.
NetStream
  bytesLoaded : uint
[lecture seule] Nombre d’octets de données ayant été chargés dans l’application.
NetStream
  bytesTotal : uint
[lecture seule] Taille totale, en octets, du fichier chargé dans l’application.
NetStream
  checkPolicyFile : Boolean
Spécifie si l’application tente de télécharger un fichier de régulation interdomaines à partir du serveur du fichier vidéo chargé avant de commencer à charger ce dernier.
NetStream
  client : Object
Spécifie l’objet sur lequel les méthodes de rappel sont invoquées pour gérer la diffusion en continue ou les données des fichiers FLV/F4V.
NetStream
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  currentFPS : Number
[lecture seule] Nombre d’images affichées par seconde.
NetStream
  dataReliable : Boolean
Pour les connexions RTMFP, indique si les appels de la méthode NetStream.send() sont envoyés en toute fiabilité.
NetStream
  farID : String
[lecture seule] Pour les connexions RTMFP, l’identifiant de l’extrémité connectée à cette occurrence de NetStream.
NetStream
  farNonce : String
[lecture seule] Pour les connexions RTMFP et RTMPE, une valeur choisie fondamentalement par l’autre extrémité de ce flux, unique à cette connexion.
NetStream
  inBufferSeek : Boolean
Indique si les données affichées sont mises en cache pour la recherche dynamique (TRUE) ou non (FALSE).
NetStream
  info : NetStreamInfo
[lecture seule] Renvoie un objet NetStreamInfo dont les propriétés contiennent des statistiques sur la qualité de service.
NetStream
  liveDelay : Number
[lecture seule] Nombre de secondes de données enregistrées dans le tampon du flux abonné en mode en direct (sans mise en mémoire tampon).
NetStream
  maxPauseBufferTime : Number
Spécifie la durée de la mise en tampon des messages pendant le mode pause, en secondes.
NetStream
  multicastAvailabilitySendToAll : Boolean
Pour les connexions RTMFP, indique si les messages de disponibilité des fragments de multidiffusion homologue à homologue sont envoyés à tous les homologues ou à un seul homologue.
NetStream
  multicastAvailabilityUpdatePeriod : Number
Pour les connexions RTMFP, spécifie l’intervalle, en secondes, entre les messages envoyés aux homologues les informant que le nœud local dispose de nouveaux fragments multimédias de multidiffusion homologue à homologue.
NetStream
  multicastFetchPeriod : Number
Pour les connexions RTMFP, spécifie la durée, en secondes, entre le moment où le nœud local apprend qu’un fragment multimédia de multidiffusion homologue à homologue est disponible et le moment où il tente d’extraire ce fragment d’un homologue.
NetStream
  multicastInfo : NetStreamMulticastInfo
[lecture seule] Pour les connexions RTMFP, renvoie un objet NetStreamMulticastInfo dont les propriétés contiennent des statistiques sur la qualité du service.
NetStream
  multicastPushNeighborLimit : Number
Pour les connexions RTMFP, spécifie le nombre maximum d’homologues auxquels envoyer les fragments multimédias de multidiffusion.
NetStream
  multicastRelayMarginDuration : Number
Pour les connexions RTMFP, spécifie la durée, en secondes, pendant laquelle les données de multidiffusion homologue à homologue sont disponibles aux homologues qui souhaitent procéder à leur envoi au-delà d’une durée spécifiée.
NetStream
  multicastWindowDuration : Number
Pour les connexions RTMFP, spécifie la durée, en secondes, de la fenêtre de réassamblage multidiffusion homologue à homologue.
NetStream
  nearNonce : String
[lecture seule] Pour les connexions RTMFP et RTMPE, une valeur choisie fondamentalement par cette extrémité du flux, unique à cette connexion.
NetStream
  objectEncoding : uint
[lecture seule] Encodage d’objet (version AMF) de cet objet NetStream.
NetStream
  peerStreams : Array
[lecture seule] Objet qui détient toutes les occurrences NetStream d’abonnement qui écoutent cette occurrence de NetStream de publication.
NetStream
  soundTransform : flash.media:SoundTransform
Contrôle le son dans l’objet NetStream.
NetStream
  time : Number
[lecture seule] Position de la tête de lecture, en secondes.
NetStream
  useHardwareDecoder : Boolean
Indique s’il convient d’utiliser le décodage par accélération matérielle sur le flux.
NetStream
  useJitterBuffer : Boolean
Réduit la latence la diffusion en continu en direct non mise en tampon (bufferTime = 0).
NetStream
  videoReliable : Boolean
Pour les connexions RTMFP, indique si les données vidéo sont envoyées en toute fiabilité.
NetStream
  videoSampleAccess : Boolean
Pour les connexions RTMFP, indique si les abonnés homologue à homologue de ce flux de réseau sont autorisés à capturer le flux vidéo.
NetStream
  videoStreamSettings : VideoStreamSettings
Spécifiez les propriétés de compression du flux.
NetStream
Méthodes publiques
 MéthodeDéfini par
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Crée un flux qui permet de lire des fichiers multimédias et d’envoyer des données sur un objet NetConnection.
NetStream
 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
  
Transmet un ByteArray à un NetStream pour la lecture.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Indique une discontinuité dans l’échelle de temps, vide le contenu de la FIFO et demande à l’analyseur d’octets de prévoir un en-tête de fichier ou le début d’une balise FLV.
NetStream
  
Joint un flux à un nouvel objet NetConnection.
NetStream
  
Associe un flux audio à un objet NetStream à partir d’un objet Microphone transmis en tant que source.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Démarre la capture vidéo à partir de la caméra ou arrête la capture si theCamera est défini sur null.
NetStream
  
Arrête la lecture des données du flux, définit la propriété time sur 0 et met le flux à disposition.
NetStream
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
  
Libère tous les ressources détenues par l'objet NetStream.
NetStream
 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
  
Invoqué lorsqu’un flux d’homologue éditeur correspond à un flux d’homologue abonné.
NetStream
  
Interrompt la lecture d’un flux vidéo.
NetStream
  
play(... arguments):void
Lit un fichier multimédia à partir d’un répertoire local ou d’un serveur Web ; lit un fichier multimédia ou un flux en direct depuis Flash Media Server.
NetStream
  
Commute en toute transparence les fichiers dont les vitesses de transmission sont différentes et permet la reprise d’un NetStream lorsque la connexion est abandonnée, puis rétablie.
NetStream
  
Extrait les métadonnées DRM d’un fichier multimédia enregistré localement.
NetStream
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
publish(name:String = null, type:String = null):void
Envoie des données audio et vidéo, ainsi que des messages de données en diffusion continue à partir d’un client et à destination de Flash Media Server, tout en laissant la possibilité d’enregistrer ce flux pendant la transmission.
NetStream
  
Indique si les données audio entrantes sont lues dans le flux continu.
NetStream
  
Indique si les données vidéo entrantes sont lues sur le flux continu.
NetStream
  
Indique la cadence des données vidéo entrantes.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
  
[statique] Dans les applications AIR, cette opération supprime toutes les données du voucher de gestion des droits numériques (DRM) mises en cache localement.
NetStream
  
Reprend la lecture d’un flux vidéo en pause.
NetStream
  
seek(offset:Number):void
Recherche l’image-clé (également appelée Image-I dans l’industrie vidéo) la plus proche de l’emplacement spécifié.
NetStream
  
send(handlerName:String, ... arguments):void
Envoie un message sur le flux publié à tous les clients abonnés.
NetStream
  
Définit les informations d’authentification de la gestion des droits numériques nécessaires à l’affichage du contenu chiffré sous-jacent.
NetStream
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
  
step(frames:int):void
Recule ou avance du nombre d’images spécifié à partir de l’image actuellement affichée.
NetStream
  
Interrompt ou reprend la lecture d’un flux continu.
NetStream
 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é lorsqu’une erreur est renvoyée de manière asynchrone ; autrement dit, lorsqu’elle provient du code asynchrone natif.NetStream
 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é lorsqu’un objet NetStream tente de lire un fichier chiffré à l’aide de la gestion des droits numériques (DRM) nécessitant l’obtention d’informations d’identification pour authentifier l’utilisateur avant la lecture.NetStream
  Distribué lorsqu’un objet NetStream qui tente de lire un fichier chiffré à l’aide de la gestion des droits numériques (DRM) rencontre une erreur de type DRM.NetStream
  Distribué lorsque la lecture du contenu chiffré à l’aide de la gestion des droits numériques (DRM) commence, c’est-à-dire lorsque l’utilisateur est authentifié et autorisé à lire le contenu.NetStream
  Distribué lorsqu’il se produit une erreur d’entrée ou de sortie entraînant l’échec d’une opération réseau.NetStream
  Distribué lors de la lecture de contenu vidéo et du traitement de certains types de messages.NetStream
  Distribué lorsqu’un objet NetStream publie son état ou signale une erreur.NetStream
  Etablit un écouteur pour qu’il réponde lorsqu’un point de repère intégré est atteint pendant la lecture d’un fichier vidéo.NetStream
  Etablit un écouteur pour répondre lorsque AIR extrait les métadonnées de contenu DRM intégrées dans un fichier multimédia.NetStream
  Etablit un écouteur pour qu’il réponde lorsque Flash Player reçoit des données d’images sous forme de tableau d’octets intégré dans un fichier multimédia en cours de lecture.NetStream
  Etablit un écouteur pour qu’il réponde lorsque Flash Player reçoit une description intégrée à la vidéo en cours de lecture.NetStream
  Etablit un écouteur pour qu’il réponde lorsque un objet NetStream a terminé la lecture d’un flux.NetStream
  Appelée de façon synchrone par appendBytes() lorsque l’analyseur d’octets détecte un point pouvant faire l’objet d’une recherche (par exemple, une image-clé vidéo).NetStream
  Etablit un écouteur pour qu’il réponde lorsque Flash Player reçoit des données texte intégrées dans un fichier multimédia en cours de lecture.NetStream
  Définit un écouteur pour qu’il réponde lorsque Flash Player reçoit des informations spécifiques à XMP (Extensible Metadata Platform) d’Adobe, intégrées à la vidéo lue.NetStream
  Distribué lorsque l’application tente de lire un fichier chiffré à l’aide de la gestion des droits numériques (DRM) en appelant la méthode NetStream.play().NetStream
Constantes publiques
 ConstanteDéfini par
  CONNECT_TO_FMS : String = "connectToFMS"
[statique] Objet statique utilisé comme paramètre pour le constructeur d’une occurrence de NetStream.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[statique] Crée une connexion d’éditeur homologue à homologue.
NetStream
Détails de la propriété

audioReliable

propriété
audioReliable:Boolean

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

Pour les connexions RTMFP, indique si le son est envoyé en toute fiabilité. Lorsque cette propriété est définie sur TRUE, toutes les données audio transmises sur ce NetStream sont totalement fiables. Si elle est définie sur FALSE, les données audio transmises ne sont pas totalement fiables ; elles sont retransmises pour une durée limitée, puis abandonnées. Vous pouvez utiliser la valeur FALSE pour réduire le temps d’attente au détriment de la qualité audio.

Si vous tentez de définir cette propriété sur FALSE sur un protocole réseau qui ne prend pas en charge la fiabilité partielle, la tentative est ignorée et la propriété est définie sur TRUE.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get audioReliable():Boolean
    public function set audioReliable(value:Boolean):void

Eléments de l’API associés

audioSampleAccess

propriété 
audioSampleAccess:Boolean

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

Pour les connexions RTMFP, indique si les abonnés homologue à homologue de ce flux de réseau sont autorisés à capturer le flux audio. Lorsque la valeur FALSE est définie, l’abonné tente de capturer le flux audio pour afficher les erreurs d’autorisation.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get audioSampleAccess():Boolean
    public function set audioSampleAccess(value:Boolean):void

Eléments de l’API associés

backBufferLength

propriété 
backBufferLength:Number  [lecture seule]

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

Nombre de secondes des données précédemment affichées actuellement en cache pour le rembobinage et la lecture.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Cette propriété est disponible uniquement lorsque des données sont diffusées en flux continu à partir de Flash Media Server 3.5.3 ou version ultérieure. Pour plus d’informations sur Flash Media Server, voir la description de la classe.

Pour spécifier la quantité de données précédemment affichées mises en cache, utilisez la propriété Netstream.backBufferTime.

Pour éviter la mise en cache des données, définissez la propriété Netstream.inBufferSeek sur FALSE.



Implémentation
    public function get backBufferLength():Number

Eléments de l’API associés

backBufferTime

propriété 
backBufferTime:Number

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

Spécifie la quantité de données précédemment affichées que Flash Player tente de mettre en mémoire cache pour le rembobinage et la lecture, en secondes. La valeur par défaut est de 30 secondes pour les applications de bureau et de 3 secondes pour les applications mobiles.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Cette propriété est disponible uniquement lorsque des données sont diffusées en flux continu à partir de Flash Media Server 3.5.3 ou version ultérieure. Pour plus d’informations sur Flash Media Server, voir la description de la classe.

L’utilisation de cette propriété améliore les performances des opérations de rembobinage, car les données qui ont déjà été affichées ne sont pas à nouveau extraites du serveur. Au contraire, le flux continu lance la relecture depuis la mémoire tampon. Lors de la lecture, la diffusion en continu des données se poursuit depuis le serveur jusqu’à ce que la mémoire tampon soit pleine.

Si la position de rembobinage est plus éloignée que les données dans la mémoire cache, la mémoire tampon est nettoyée ; la diffusion en continu des données commence depuis le serveur à la position requise.

Pour utiliser cette propriété, définissez la propriété Netstream.inBufferSeek sur TRUE.



Implémentation
    public function get backBufferTime():Number
    public function set backBufferTime(value:Number):void

Eléments de l’API associés

bufferLength

propriété 
bufferLength:Number  [lecture seule]

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

Nombre de secondes de données enregistrées dans la mémoire tampon. Vous pouvez utiliser cette propriété conjointement avec bufferTime pour estimer le niveau de remplissage du tampon ; par exemple, pour indiquer ce niveau à un utilisateur qui attend la fin du chargement des données dans le tampon.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get bufferLength():Number

Eléments de l’API associés

bufferTime

propriété 
bufferTime:Number

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

Spécifie la durée de la mise en mémoire tampon des messages avant que l’affichage du flux ne commence.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

La valeur par défaut est 0.1 (un dixième de seconde). Pour déterminer le nombre de secondes actuellement dans la mémoire tampon, utilisez la propriété bufferLength.

Pour lire une liste de lecture côté serveur, définissez bufferTime sur au moins 1 seconde. Si vous rencontrez des problèmes de lecture, augmentez la durée de la propriété bufferTime.

Contenu enregistré Pour éviter toute distorsion lors de la diffusion de contenu pré-enregistré (pas en direct), ne réglez pas la valeur de Netstream.bufferTime sur 0. Par défaut, l’application utilise un tampon d’entrée pour le contenu préenregistré qui met les données en file d’attente et lit le fichier correctement. Pour le contenu préenregistré, utilisez le paramétrage par défaut ou augmentez la durée du tampon.

Contenu en direct Lors de la diffusion de contenu en direct, définissez la propriété bufferTime sur 0.

Depuis Flash Player 9.0.115.0, le lecteur n’efface plus la mémoire tampon lors de l’appel de NetStream.pause(). Avant Flash Player 9.0.115.0, le lecteur attendait le remplissage du tampon avant de reprendre la lecture, ce qui entraînait souvent des retards.

En cas d’interruption unique, la propriété NetStream.bufferLength possède une limite de 60 secondes ou de deux fois la valeur de NetStream.bufferTime (la limite supérieure est prise en compte). Par exemple, si la propriété bufferTime est de 20 secondes, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la propriété NetStream.bufferLength corresponde à la valeur la plus élevée de 20*2 (c’est-à-dire 40), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la valeur de bufferLength corresponde à 60. Si la propriété bufferTime est de 40 secondes, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la propriété bufferLength corresponde à la valeur la plus élevée de 40*2 (c’est-à-dire 80), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la valeur de bufferLength corresponde à 80.

La propriété bufferLength possède en outre une limite absolue. Si un appel à pause() provoque l’augmentation de bufferLength de plus de 600 secondes, ou la valeur de plus élevée de bufferTime * 2, Flash Player efface le contenu de la mémoire tampon et remet à zéro bufferLength. Par exemple, si la propriété bufferTime est de 120 secondes, Flash Player efface le contenu de la mémoire tampon si la propriété bufferLength atteint 600 secondes ; si bufferTime est de 360 secondes, Flash Player efface le contenu de la mémoire tampon si bufferLength atteint 720 secondes.

Conseil : vous pouvez utiliser NetStream.pause() dans le code pour mettre les données en mémoire tampon pendant que les spectateurs regardent une annonce publicitaire, par exemple, puis annuler l’interruption lorsque la vidéo principale démarre.

Pour plus d’informations sur le nouveau comportement d’interruption, voir la page http://www.adobe.com/go/learn_fms_smartpause_fr.

Flash Media Server. Le comportement du tampon varie en fonction de la définition de la durée du tampon : sur un flux de publication ou sur un flux d’abonnement. Dans le cas d’un flux de publication, bufferTime spécifie la durée pendant laquelle le tampon sortant peut croître avant que l’application ne commence à abandonner des images. Dans le cas d’une connexion haut débit, la durée du tampon n’est pas un problème : les données sont envoyées presque aussi rapidement que l’application peut les mettre en mémoire tampon. Toutefois, dans le cas d’une connexion bas débit, il peut exister une différence considérable entre la vitesse à laquelle l’application place les données en mémoire tampon et celle à laquelle elles sont envoyées au client.

Dans le cas d’un flux d’abonnement, bufferTime spécifie le délai pendant lequel les données entrantes doivent être mises en mémoire tampon avant que l’affichage du flux ne commence.

Lors de la lecture d’un flux enregistré, si bufferTime est défini sur 0, Flash le définit sur une faible valeur (environ 10 millisecondes). Si des flux en direct sont ensuite lus (par exemple depuis une liste de lecture), cette durée de tampon persiste. Cela signifie que bufferTime demeure non nul pour le flux.



Implémentation
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Eléments de l’API associés

bufferTimeMax

propriété 
bufferTimeMax:Number

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

Spécifie une longueur de mémoire tampon maximale pour le contenu de flux continu en direct, en secondes. La valeur par défaut est 0. La longueur de la mémoire tampon peut augmenter au fil du temps en raison de problèmes de mise en réseau et de périphérique (par exemple, décalage horaire entre l’expéditeur et le destinataire). Définissez cette propriété pour réduire la longueur de la mémoire tampon pour les applications en direct telles que réunions et surveillance vidéo.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Lorsque bufferTimeMax > 0 et bufferLength >= bufferTimeMax, les données audio sont lues plus rapidement jusqu’à ce que bufferLength atteigne bufferTime. Si un flux en direct contient uniquement des données vidéo, la vidéo est lue plus rapidement jusqu’à ce que la propriété bufferLength atteigne la propriété bufferTime.

Selon le retard de la lecture (différence entre bufferLength et bufferTime), Flash Player maintient une vitesse de rattrapage comprise entre 1,5 % et 6,25 %. Si le flux contient des données audio, la lecture rapide est obtenue par sous-échantillonnage du domaine de la fréquence, qui minimise la distorsion audible.

Définissez la propriété bufferTimeMax pour activer le rattrapage du flux mis en tampon en temps réel dans les cas suivants :

  • Diffusion d’un support multimédia en direct depuis Flash Media Server.
  • Diffusion d’un support multimédia en direct en mode de génération de données (NetStream.appendBytes()).



Implémentation
    public function get bufferTimeMax():Number
    public function set bufferTimeMax(value:Number):void

Eléments de l’API associés

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

Nombre d’octets de données ayant été chargés dans l’application. Vous pouvez utiliser cette propriété conjointement avec bytesTotal pour estimer le niveau de remplissage du tampon ; par exemple, pour indiquer ce niveau à un utilisateur qui attend la fin du chargement des données dans le tampon.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get bytesLoaded():uint

Eléments de l’API associés

bytesTotal

propriété 
bytesTotal:uint  [lecture seule]

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

Taille totale, en octets, du fichier chargé dans l’application.



Implémentation
    public function get bytesTotal():uint

Eléments de l’API associés

checkPolicyFile

propriété 
checkPolicyFile:Boolean

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

Spécifie si l’application tente de télécharger un fichier de régulation interdomaines à partir du serveur du fichier vidéo chargé avant de commencer à charger ce dernier. Utilisez cette propriété pour télécharger progressivement des données vidéo et pour charger des fichiers se trouvant hors du domaine du fichier SWF appelant. Cette propriété est ignorée lors de l’utilisation de RTMP.

Définissez cette propriété sur true pour appeler BitmapData.draw() sur un fichier vidéo chargé à partir d’un domaine en dehors de celui du fichier SWF appelant. La méthode BitmapData.draw() fournit un accès à la vidéo au niveau des pixels. Si vous appelez BitmapData.draw() sans définir la propriété checkPolicyFile sur true au chargement, vous pouvez obtenir une exception SecurityError, car le fichier de régulation requis n’a pas été téléchargé.

Ne définissez pas cette propriété sur true, sauf si vous souhaitez accéder à la vidéo en cours de chargement au niveau des pixels. La recherche d’un fichier de régulation consomme de la bande passante réseau et risque de retarder le début du téléchargement.

Lorsque vous appelez la méthode NetStream.play() en définissant checkPolicyFile sur true, Flash Player ou le moteur d’exécution d’AIR doit télécharger un fichier de régulation interdomaines approprié ou déterminer qu’un tel fichier n’existe pas avant de commencer à le télécharger. Pour vérifier l’existence d’un fichier de régulation, Flash Player ou le moteur d’exécution AIR effectue les actions suivantes, dans l’ordre indiqué :

  1. L’application examine les fichiers de régulation préalablement téléchargés.
  2. L’application tente de télécharger tout fichier de régulation en attente spécifié dans les appels de la méthode Security.loadPolicyFile().
  3. L’application tente de télécharger un fichier de régulation à partir de l’emplacement par défaut qui correspond à l’URL que vous avez transmise à NetStream.play(), à savoir /crossdomain.xml sur le même serveur que cette URL.

Dans tous les cas, Flash Player ou Adobe AIR exige que le serveur du fichier vidéo héberge un fichier de régulation approprié, que ce dernier permette d’accéder à l’objet à l’adresse URL que vous avez transmise à play() sur la base de l’emplacement du fichier de régulation, et qu’il autorise le domaine du fichier de code appelant à accéder au fichier vidéo par le biais d’une ou plusieurs balises <allow-access-from>.

Si vous définissez checkPolicyFile sur true, l’application attend la vérification du fichier de régulation avant de télécharger la vidéo. Avant de manipuler les données vidéo au niveau des pixels, en appelant BitmapData.draw(), par exemple, attendez d’avoir reçu de votre objet NetStream des événements onMetaData ou NetStatus.

Si vous définissez checkPolicyFile sur true et qu’il n’existe aucun fichier de régulation approprié, vous ne recevez pas de message d’erreur tant que vous n’effectuez pas une opération nécessitant un tel fichier, auquel cas l’application renvoie une exception SecurityError.

Servez-vous de checkPolicyFile avec précaution si vous téléchargez un fichier vidéo à partir d’une URL qui utilise des redirections HTTP côté serveur. L’application tente d’extraire les fichiers de régulation correspondant à l’URL spécifiée à l’origine dans NetStream.play(). Si le fichier final provient d’une URL différente suite à des redirections HTTP, les fichiers de régulation initialement téléchargés peuvent ne pas être applicables à l’URL finale du fichier (URL qui doit faire l’objet des mesures de sécurité).

Pour plus d’informations sur les fichiers de régulation, voir la rubrique « Contrôles de site Web (fichiers de régulation) » dans le Guide du développeur d’ActionScript 3.0 , ainsi que la rubrique Sécurité du Pôle de développement Flash Player (disponible en anglais uniquement).



Implémentation
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Informations complémentaires

Eléments de l’API associés

client

propriété 
client:Object

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

Spécifie l’objet sur lequel les méthodes de rappel sont invoquées pour gérer la diffusion en continue ou les données des fichiers FLV/F4V. L’objet par défaut correspond à this, l’objet NetStream en cours de création. Si vous réglez la propriété client sur un autre objet, les méthodes de rappel sont appelées sur celui-ci. L’objet NetStream.client peut appeler les fonctions suivantes et recevoir un objet de données associé : onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() et onXMPData().

Pour associer la propriété client à un gestionnaire d’événement :

  1. Créez un objet et affectez-le à la propriété client de l’objet NetStream :
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Affectez une fonction de gestionnaire pour l’événement de données désiré en tant que propriété de l’objet client :
         customClient.onImageData = onImageDataHandler;
         
  3. Ecrivez la fonction de gestionnaire pour recevoir l’objet d’événement de données, tel que :
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

Lorsque les données sont transmises via le flux ou au cours de la lecture, l’objet d’événement de données (dans ce cas l’objet imageData) est renseigné avec les données. Reportez-vous à la description de onImageData, qui inclut un exemple complet d’objet affecté à la propriété client.

Pour associer la propriété client à une sous-classe :

  1. Créez une sous-classe avec une fonction de gestionnaire pour recevoir l’objet d’événement de données :
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Affectez une occurrence de la sous-classe à la propriété client de l’objet NetStream :
         my_netstream.client = new CustomClient();
         

Lorsque les données sont transmises via le flux ou au cours de la lecture, l’objet d’événement de données (dans ce cas l’objet info) est renseigné avec les données. Reportez-vous à l’exemple de classe proposé à la fin de la classe NetStream, qui illustre l’affectation d’une occurrence de sous-classe à la propriété client.



Implémentation
    public function get client():Object
    public function set client(value:Object):void

Valeur émise
TypeError — La propriété client ne peut pas être réglée sur l’objet null.

Eléments de l’API associés

currentFPS

propriété 
currentFPS:Number  [lecture seule]

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

Nombre d’images affichées par seconde. Si vous exportez des fichiers vidéo pour les lire sur différents systèmes, vous pouvez vérifier cette valeur pendant le test afin de déterminer la compression à appliquer lors de l’exportation du fichier.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get currentFPS():Number

dataReliable

propriété 
dataReliable:Boolean

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

Pour les connexions RTMFP, indique si les appels de la méthode NetStream.send() sont envoyés en toute fiabilité. Lorsque la valeur TRUE est définie, les appels de la méthode NetStream.send() transmis sur cet objet NetStream sont totalement fiables. Si la valeur est définie sur FALSE, les appels de la méthode NetStream.send() ne sont pas transmis en toute fiabilité, mais sont retransmis pour une durée limitée, puis abandonnés. Vous pouvez définir cette valeur sur FALSE pour réduire le temps d’attente, au détriment de la qualité des données.

Si vous tentez de définir cette propriété sur FALSE sur un protocole réseau qui ne prend pas en charge la fiabilité partielle, la tentative est ignorée et la propriété est définie sur TRUE.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get dataReliable():Boolean
    public function set dataReliable(value:Boolean):void

Eléments de l’API associés

farID

propriété 
farID:String  [lecture seule]

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

Pour les connexions RTMFP, l’identifiant de l’extrémité connectée à cette occurrence de NetStream.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get farID():String

farNonce

propriété 
farNonce:String  [lecture seule]

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

Pour les connexions RTMFP et RTMPE, une valeur choisie fondamentalement par l’autre extrémité de ce flux, unique à cette connexion. Cette valeur apparaît à l’autre extrémité du flux en tant que valeur nearNonce.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get farNonce():String

inBufferSeek

propriété 
inBufferSeek:Boolean

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

Indique si les données affichées sont mises en cache pour la recherche dynamique (TRUE) ou non (FALSE). La valeur par défaut est FALSE.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Flash Media Server 3.5.3 et Flash Player 10.1 collaborent pour prendre en charge la recherche dynamique. La recherche dynamique a recours à une mémoire tampon d’arrière-plan et à une mémoire tampon directe pour effectuer des recherches sans solliciter de données au serveur. La recherche standard efface les données placées en mémoire tampon et demande au serveur d’envoyer de nouvelles données en fonction du temps de recherche.

Appelez NetStream.step() pour avancer ou reculer du nombre d’images spécifié. Appelez NetStream.seek() pour effectuer une recherche vers l’avant ou vers l’arrière du nombre de secondes spécifié.

La recherche dynamique réduit la charge du serveur et améliore les performances de recherche. Définissez inBufferSeek=true et appelez step() et seek() pour créer :

  • Une fonctionnalité DVR côté client. Recherchez dans la mémoire tampon côté client au lieu d’accéder au serveur pour distribuer la nouvelle vidéo.
  • Des modes de ruse. Créez des lecteurs qui permettent de parcourir les images, d’avancer et de revenir en arrière rapidement, et d’avancer au ralenti.

Lorsque inBufferSeek=true et qu’un appel de NetStream.seek() aboutit, la propriété info.description de NetStatusEvent contient la chaîne "client-inBufferSeek".

Lorsqu’un appel de NetStream.step() aboutit, la propriété info.code de NetStatusEvent contient la chaîne "NetStream.Step.Notify".



Implémentation
    public function get inBufferSeek():Boolean
    public function set inBufferSeek(value:Boolean):void

Eléments de l’API associés

info

propriété 
info:NetStreamInfo  [lecture seule]

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

Renvoie un objet NetStreamInfo dont les propriétés contiennent des statistiques sur la qualité de service. L’objet est un instantané de l’état en cours.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get info():NetStreamInfo

Eléments de l’API associés

liveDelay

propriété 
liveDelay:Number  [lecture seule]

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

Nombre de secondes de données enregistrées dans le tampon du flux abonné en mode en direct (sans mise en mémoire tampon). Cette propriété spécifie l’actuel délai de transmission réseau (retard).

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Cette propriété est surtout conçue pour une utilisation avec un serveur, tel que Flash Media Server. Pour plus d’informations, voir la description de la classe.

Vous pouvez extraire la valeur de cette propriété pour évaluer approximativement la qualité de transmission du flux continu, et la communiquer à l’utilisateur.



Implémentation
    public function get liveDelay():Number

maxPauseBufferTime

propriété 
maxPauseBufferTime:Number

Versions du moteur d’exécution: Flash Player 10, AIR 1.5, Flash Lite 4

Spécifie la durée de la mise en tampon des messages pendant le mode pause, en secondes. Cette propriété peut être utilisée pour limiter le volume de mise en mémoire tampon pendant le mode pause. Dès que la valeur NetStream.bufferLength atteint cette limite, la mise en mémoire tampon s’arrête.

Si cette valeur n’est pas définie, la limite par défaut est de 60 secondes ou correspond à deux fois la valeur de NetStream.bufferTime sur chaque pause (la valeur la plus élevée est prise en compte).

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get maxPauseBufferTime():Number
    public function set maxPauseBufferTime(value:Number):void

Eléments de l’API associés

multicastAvailabilitySendToAll

propriété 
multicastAvailabilitySendToAll:Boolean

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

Pour les connexions RTMFP, indique si les messages de disponibilité des fragments de multidiffusion homologue à homologue sont envoyés à tous les homologues ou à un seul homologue. La valeur TRUE indique que les messages sont envoyés une fois à tous les homologues en fonction de l’intervalle spécifié. La valeur FALSE indique que les messages sont envoyés uniquement à un seul homologue en fonction de l’intervalle spécifié. L’intervalle est déterminé par la propriété multicastAvailabilityUpdatePeriod.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastAvailabilitySendToAll():Boolean
    public function set multicastAvailabilitySendToAll(value:Boolean):void

Eléments de l’API associés

multicastAvailabilityUpdatePeriod

propriété 
multicastAvailabilityUpdatePeriod:Number

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

Pour les connexions RTMFP, spécifie l’intervalle, en secondes, entre les messages envoyés aux homologues les informant que le nœud local dispose de nouveaux fragments multimédias de multidiffusion homologue à homologue. Des valeurs plus élevées peuvent augmenter l’efficacité du traitement par lots et réduire la surcharge de contrôle, mais risquent de diminuer la qualité à la réception en réduisant la durée disponible pour extraire les fragments avant qu’ils ne soient hors de la fenêtre. Des valeurs moins élevées peuvent réduire le temps d’attente et améliorer la qualité, mais risquent d’augmenter la surcharge de contrôle.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastAvailabilityUpdatePeriod():Number
    public function set multicastAvailabilityUpdatePeriod(value:Number):void

Eléments de l’API associés

multicastFetchPeriod

propriété 
multicastFetchPeriod:Number

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

Pour les connexions RTMFP, spécifie la durée, en secondes, entre le moment où le nœud local apprend qu’un fragment multimédia de multidiffusion homologue à homologue est disponible et le moment où il tente d’extraire ce fragment d’un homologue. Cette valeur donne la possibilité d’envoyer le fragment au nœud local de façon dynamique avant qu’un homologue ne tente une extraction. Elle permet également à plusieurs homologues d’annoncer la disponibilité du fragment, de manière à ce que le chargement de l’extraction puisse être réparti entre plusieurs homologues.

Des valeurs plus élevées peuvent améliorer l’équilibrage de charge et son équité dans le maillage homologue à homologue, mais réduire la multicastWindowDuration et augmenter le temps d’attente. Des valeurs plus petites peuvent réduire le temps d’attente lorsque l’extraction est requise, mais risquent d’augmenter la réception des données dupliquées et de réduire l’équilibrage de charge du maillage homologue à homologue.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastFetchPeriod():Number
    public function set multicastFetchPeriod(value:Number):void

Eléments de l’API associés

multicastInfo

propriété 
multicastInfo:NetStreamMulticastInfo  [lecture seule]

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

Pour les connexions RTMFP, renvoie un objet NetStreamMulticastInfo dont les propriétés contiennent des statistiques sur la qualité du service. L’objet est un instantané de l’état en cours.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastInfo():NetStreamMulticastInfo

Eléments de l’API associés

multicastPushNeighborLimit

propriété 
multicastPushNeighborLimit:Number

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

Pour les connexions RTMFP, spécifie le nombre maximum d’homologues auxquels envoyer les fragments multimédias de multidiffusion.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastPushNeighborLimit():Number
    public function set multicastPushNeighborLimit(value:Number):void

multicastRelayMarginDuration

propriété 
multicastRelayMarginDuration:Number

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

Pour les connexions RTMFP, spécifie la durée, en secondes, pendant laquelle les données de multidiffusion homologue à homologue sont disponibles aux homologues qui souhaitent procéder à leur envoi au-delà d’une durée spécifiée. La durée est spécifiée par la propriété multicastWindowDuration.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastRelayMarginDuration():Number
    public function set multicastRelayMarginDuration(value:Number):void

Eléments de l’API associés

multicastWindowDuration

propriété 
multicastWindowDuration:Number

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

Pour les connexions RTMFP, spécifie la durée, en secondes, de la fenêtre de réassamblage multidiffusion homologue à homologue. Des valeurs plus petites réduisent le temps d’attente, mais risquent de réduire la qualité, car elles ne fournissent pas assez de temps pour obtenir tous les fragments. Inversement, des valeurs plus élevées peuvent augmenter la qualité en fournissant plus de temps pour obtenir tous les fragments tout en augmentant le temps d’attente.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get multicastWindowDuration():Number
    public function set multicastWindowDuration(value:Number):void

Eléments de l’API associés

nearNonce

propriété 
nearNonce:String  [lecture seule]

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

Pour les connexions RTMFP et RTMPE, une valeur choisie fondamentalement par cette extrémité du flux, unique à cette connexion. Cette valeur apparaît à l’autre extrémité du flux en tant que valeur farNonce.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get nearNonce():String

objectEncoding

propriété 
objectEncoding:uint  [lecture seule]

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

Encodage d’objet (version AMF) de cet objet NetStream. L’objet NetStream hérite de sa valeur objectEncoding de l’objet NetConnection associé. Il est important de comprendre cette propriété si votre fichier SWF ActionScript 3.0 doit communiquer avec des serveurs antérieurs à Flash Player 9. Pour plus d’informations, voir la description de la propriété objectEncoding dans la classe NetConnection.

La valeur de cette propriété varie selon la nature du flux continu, local ou distant. Les flux locaux, dans lesquels null a été transmis à la méthode NetConnection.connect(), renvoient la valeur de NetConnection.defaultObjectEncoding. Les flux distants, pour lesquels vous êtes connecté(e) à un serveur, renvoient l’encodage d’objet de la connexion au serveur.

Si vous tentez de lire cette propriété sans être connecté ou si vous tentez de la modifier, l’application renvoie une exception.



Implémentation
    public function get objectEncoding():uint

Eléments de l’API associés

peerStreams

propriété 
peerStreams:Array  [lecture seule]

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

Objet qui détient toutes les occurrences NetStream d’abonnement qui écoutent cette occurrence de NetStream de publication.



Implémentation
    public function get peerStreams():Array

soundTransform

propriété 
soundTransform:flash.media:SoundTransform

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

Contrôle le son dans l’objet NetStream. Pour plus d’informations, voir la description de la classe SoundTransform.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

Eléments de l’API associés

time

propriété 
time:Number  [lecture seule]

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

Position de la tête de lecture, en secondes.

Flash Media Server Dans le cas d’un flux d’abonnement, nombre de secondes pendant lequel le flux a été lu. Dans le cas d’un flux de publication, nombre de secondes pendant lequel le flux a été publié. Ce nombre est précis au millième près ; multipliez-le par 1000 pour obtenir le nombre de millisecondes pendant lequel le flux a été lu.

Dans le cas d’un flux d’abonnement, si le serveur cesse d’envoyer des données et que le flux demeure ouvert, la valeur de la propriété time cesse d’avancer. Lorsque le serveur recommence à envoyer des données, la valeur continue d’avancer à partir du point où elle s’est arrêtée (c’est-à-dire lorsque le serveur a cessé l’envoi des données).

La valeur de la propriété time continue d’avancer lorsque le flux bascule d’un élément de la liste de lecture à un autre. Cette propriété est définie sur 0 lorsque NetStream.play() est appelé avec reset défini sur 1 ou sur true, ou lorsque NetStream.close() est appelé.



Implémentation
    public function get time():Number

Eléments de l’API associés

useHardwareDecoder

propriété 
useHardwareDecoder:Boolean

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

Indique s’il convient d’utiliser le décodage par accélération matérielle sur le flux.

Remarque : vous ne pouvez pas définir cette propriété pendant la lecture de la vidéo. Vous devez donc le faire avant d’appeler NetStream.play().

La valeur par défaut est true.



Implémentation
    public function get useHardwareDecoder():Boolean
    public function set useHardwareDecoder(value:Boolean):void

Eléments de l’API associés

useJitterBuffer

propriété 
useJitterBuffer:Boolean

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

Réduit la latence la diffusion en continu en direct non mise en tampon (bufferTime = 0). Au lieu d’utiliser des mécanismes de rattrapage basés sur une technologie push conservative, des messages audio sont placés dans un tampon de gigue adaptatif. Lorsque le périphérique de haut-parleur nécessite le son, les messages sont extraits du tampon de gigue, décodés, puis lus. Speex et G.711 utilisent toujours cette approche pull, quel que soit ce paramètre (useJitterBuffer renvoie la valeur true pour Speex/G.711). Lorsque cette option est activée en mode de non mise en mémoire tampon, tous les codecs utilisent le tampon de gigue, tels que Speex, G.711, Nellymoser, MP3 et AAC. Cette propriété n’a aucun effet en mode de mise en mémoire tampon (bufferTime > 0) ; useJitterBuffer renvoie donc la valeur false.



Implémentation
    public function get useJitterBuffer():Boolean
    public function set useJitterBuffer(value:Boolean):void

videoReliable

propriété 
videoReliable:Boolean

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

Pour les connexions RTMFP, indique si les données vidéo sont envoyées en toute fiabilité. Lorsque cette propriété est définie sur TRUE, toutes les données vidéo transmises sur ce NetStream sont totalement fiables. Si elle est définie sur FALSE, les données vidéo transmises ne sont pas totalement fiables ; elles sont retransmises pour une durée limitée, puis abandonnées. Vous pouvez utiliser la valeur FALSE pour réduire le temps d’attente au détriment de la qualité vidéo.

Si vous tentez de définir cette propriété sur FALSE sur un protocole réseau qui ne prend pas en charge la fiabilité partielle, la tentative est ignorée et la propriété est définie sur TRUE.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get videoReliable():Boolean
    public function set videoReliable(value:Boolean):void

Eléments de l’API associés

videoSampleAccess

propriété 
videoSampleAccess:Boolean

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

Pour les connexions RTMFP, indique si les abonnés homologue à homologue de ce flux de réseau sont autorisés à capturer le flux vidéo. Lorsque la valeur FALSE est définie, l’abonné tente de capturer le flux vidéo pour afficher les erreurs d’autorisation.

Remarque : cette propriété n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.



Implémentation
    public function get videoSampleAccess():Boolean
    public function set videoSampleAccess(value:Boolean):void

Eléments de l’API associés

videoStreamSettings

propriété 
videoStreamSettings:VideoStreamSettings

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

Spécifiez les propriétés de compression du flux. Pour plus d’informations, voir VideoStreamSettings. Si aucune caméra n’est connectée à votre système, la valeur null est renvoyée.



Implémentation
    public function get videoStreamSettings():VideoStreamSettings
    public function set videoStreamSettings(value:VideoStreamSettings):void

Eléments de l’API associés

Détails du constructeur

NetStream

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

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

Crée un flux qui permet de lire des fichiers multimédias et d’envoyer des données sur un objet NetConnection.

Il est considéré non valide de ne pas gérer l’événement netStatus d’un objet NetStream. Pour éviter les erreurs, enregistrez un écouteur pour l’événement netStatus après la création de l’objet NetStream et avant l’appel de sa méthode play().

Paramètres
connection:NetConnection — Objet NetConnection.
 
peerID:String (default = "connectToFMS") — Ce paramètre facultatif est disponible dans Flash Player 10 et les versions ultérieures, pour une utilisation avec des connexions RTMFP. (Si la valeur de la propriété NetConnection.protocol n’est pas "rtmfp", ce paramètre est ignoré.) Utilisez l’une des valeurs suivantes :
  • Pour vous connecter à Flash Media Server, spécifiez NetStream.CONNECT_TO_FMS.
  • Pour publier directement sur des homologues, spécifiez NetStream.DIRECT_CONNECTIONS.
  • Pour lancer la lecture directement depuis un homologue donné, spécifiez l’identité de ce dernier (voir NetConnection.nearID et NetStream.farID).
  • (Flash Player 10.1 ou AIR  2 ou version ultérieure) Pour publier ou lire un flux dans un groupe de multidiffusion homologue à homologue, spécifiez une chaîne groupspec (voir la classe GroupSpecifier).

Dans la plupart des cas, un groupspec peut utiliser la liaison montante du réseau sur le système local. Dans ce cas, l’utilisateur doit donner l’autorisation d’utiliser les ressources réseau. Si l’utilisateur accorde cette autorisation, un événement NetStatusEvent NetStream.Connect.Success est envoyé à l’écouteur d’événement de l’objet NetConnection. Si l’utilisateur ne donne pas son accord, un événement NetStream.Connect.Rejected est envoyé. Lorsque vous spécifiez un groupspec, il n’est pas conseillé d’utiliser les méthodes de l’objet NetStream tant qu’un événement NetStream.Connect.Success n’est pas reçu. Le cas échéant, une exception est renvoyée.

Si vous incluez ce paramètre dans l’instruction du constructeur et transmettez une valeur null, la valeur est définie sur "connectToFMS".


Valeur émise
ArgumentError — L’occurrence de NetConnection n’est pas connectée.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

Le code suivant illustre une connexion permettant de télécharger et d’afficher, progressivement, une vidéo affectée à la variable videoURL :
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);

Le code suivant illustre une connexion permettant de diffuser et d’afficher une vidéo (affectée à la variable videoURL) sur une occurrence de Flash Media Server distante spécifiée dans la commande connect() :
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmp://www.yourfmsserver.com/someappname");
var my_ns:NetStream = new NetStream(my_nc, NetStream.CONNECT_TO_FMS);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);
Détails de la méthode

appendBytes

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

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

Transmet un ByteArray à un NetStream pour la lecture. Appelez cette méthode sur un objet NetStream en « mode de génération de données ». Pour placer un objet NetStream en mode de génération de données, appelez NetStream.play(null) sur un NetStream créé sur un objet NetConnection connecté à null. L’appel de la méthode appendBytes() sur un objet NetStream qui n’est pas en mode de génération de données est une erreur et renvoie une exception.

Remarque : cette méthode n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

L’analyseur d’octets interprète un fichier FLV avec un en-tête. Après l’analyse de l’en-tête, appendBytes() s’attend à ce que tous les futurs appels soient la continuation du même fichier réel ou virtuel. Un autre en-tête n’est pas attendu, à moins que appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) soit appelée.

Un objet NetStream possède deux mémoires tampons : la FIFO de appendBytes() à l’objet NetStream et la mémoire tampon de lecture. La FIFO est la mémoire tampon de réassemblage des balises FLV partielles et ne contient pas plus d’une balise FLV incomplète. Les appels de la méthode NetStream.seek() vident les deux mémoires tampons. Après un appel de la méthode seek(), appelez appendBytesAction() pour réinitialiser l’échelle de temps afin qu’elle commence à la date et à l’heure du prochain message joint.

Chaque appel de la méthode appendBytes() ajoute des octets à la FIFO jusqu’à ce qu’une balise FLV soit complète. Lorsqu’une balise FLV est complète, elle se déplace vers la mémoire tampon de lecture. Un appel de la méthode appendBytes() peut écrire plusieurs balises FLV. Les premiers octets complètent une balise FLV existante (qui se déplace vers la mémoire tampon de lecture). Les balises FLV complètes se déplacent vers la mémoire tampon de lecture. Les octets restants qui ne forment pas une balise FLV complète sont placés dans la FIFO. Les octets dans la FIFO sont terminés par un appel à appendBytes() ou vidés par un appel à appendBytesAction() avec l’argument RESET_SEEK ou RESET_BEGIN.

Remarque : il est possible que l’analyseur d’octets ne parvienne pas à décoder complètement un appel de la méthode appendBytes() jusqu’au prochain appel de appendBytes().

Paramètres

bytes:ByteArray

Eléments de l’API associés

appendBytesAction

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

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

Indique une discontinuité dans l’échelle de temps, vide le contenu de la FIFO et demande à l’analyseur d’octets de prévoir un en-tête de fichier ou le début d’une balise FLV.

Remarque : cette méthode n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Les appels de NetStream.seek() vident les mémoires tampons de l’objet NetStream. L’analyseur d’octets reste en mode de vidage jusqu’à ce que vous appeliez appendBytesAction() et transmettiez l’argument RESET_BEGIN ou RESET_SEEK. Capturez l’événement "NetStream.seek.notify" pour appeler appendBytesAction() après une recherche. Un nouvel en-tête de fichier peut prendre en charge les listes de lecture et effectuer des recherches sans appeler NetStream.seek().

Vous pouvez également appeler cette méthode pour réinitialiser l’analyseur d’octets pour le rappel de onSeekPoint()).

Paramètres

netStreamAppendBytesAction:String

Eléments de l’API associés

attach

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

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

Joint un flux à un nouvel objet NetConnection. Appelez cette méthode pour associer un NetStream à un nouvel objet NetConnection après l’abandon, puis le rétablissement d’une connexion. Flash Player et AIR reprennent la diffusion en continu à partir du point où s’est arrêtée la lecture lorsque la connexion a été perdue. Vous pouvez également utiliser cette méthode pour procéder à un équilibrage de charge.

Cette méthode requiert Flash Media Server version 3.5.3 ou ultérieure.

Si vous souhaitez utiliser cette méthode pour procéder à la reconnexion du flux de données, voir la documentation de Flash Media Server 3.5.3.

Si vous souhaitez utiliser cette méthode pour l’équilibrage de charge, procédez comme suit :

  1. Associez un flux connecté à un objet NetConnection sur un autre serveur.
  2. Une fois que le flux est correctement associé à la nouvelle connexion, appelez NetConnection.close() sur la connexion précédente pour empêcher les fuites de données.
  3. Appelez NetStream.play2() et définissez la valeur de NetStreamPlayOptions.transition sur RESUME. Définissez le reste des propriétés NetStreamPlayOptions sur les mêmes valeurs que vous avez utilisées lors de l’appel initial de la méthode NetStream.play() ou NetStream.play2() pour lancer le flux.

Paramètres

connection:NetConnection

Eléments de l’API associés

attachAudio

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

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

Associe un flux audio à un objet NetStream à partir d’un objet Microphone transmis en tant que source. Cette méthode n’est accessible qu’à l’éditeur du flux continu spécifié.

Utilisez cette méthode avec Flash Media Server pour envoyer des données audio en direct au serveur. Appelez cette méthode avant ou après l’appel de publish().

Définissez la propriété Microphone.rate de sorte qu’elle corresponde à la valeur du périphérique de capture audio. Appelez setSilenceLevel() pour définir le seuil de silence. Pour contrôler les propriétés audio (volume et balance) du flux audio, utilisez la propriété Microphone.soundTransform.

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

Pour entendre le son, appelez la méthode NetStream.play(), puis appelez DisplayObjectContainer.addChild() pour acheminer le son à un objet de la liste d’affichage.

Paramètres

microphone:Microphone — Source du flux audio à transmettre.

Eléments de l’API associés

attachCamera

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

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

Démarre la capture vidéo à partir de la caméra ou arrête la capture si theCamera est défini sur null. Cette méthode n’est accessible qu’à l’éditeur du flux continu spécifié.

Cette méthode est conçue pour une utilisation avec Flash Media Server. Pour plus d’informations, voir la description de la classe.

Une fois la source vidéo associée, vous devez appeler NetStream.publish() pour commencer la transmission. Les abonnés qui souhaitent afficher la vidéo doivent appeler les méthodes NetStream.play() et Video.attachCamera() pour afficher la vidéo sur la scène.

Vous pouvez utiliser snapshotMilliseconds pour envoyer un instantané unique (avec valeur 0) ou une série d’instantanés, soit une séquence en accéléré (time lapse), en spécifiant un nombre positif qui ajoute à la source vidéo le nombre indiqué de millisecondes. Ce nombre étend la durée d’affichage du message vidéo. Si vous appelez attachCamera() à plusieurs reprises en définissant une valeur positive pour snapshotMilliseconds, la séquence d’instantanés et les millisecondes supplémentaires en alternance créent une séquence en accéléré. Vous pouvez, par exemple, capturer une image par jour et l’ajouter à la fin du fichier vidéo. Lorsqu’un abonné lit le fichier, chaque image s’affiche pendant le nombre spécifié de millisecondes, puis l’image suivante apparaît.

Le paramètre snapshotMilliseconds n’a pas le même objectif que le paramètre fps, que vous pouvez définir à l’aide de la méthode Camera.setMode(). Lorsque vous spécifiez snapshotMilliseconds, vous contrôlez le temps qui s’écoule entre les images enregistrées. Lorsque vous spécifiez fps à l’aide de Camera.setMode(), vous contrôlez le temps qui s’écoule à l’enregistrement et à la lecture.

Imaginons, par exemple, que vous voulez capturer 100 instantanés, à raison d’un instantané toutes les 5 minutes. Deux solutions s’offrent à vous :

  • Vous pouvez émettre une commande NetStream.attachCamera(myCamera, 500) à 100 reprises, toutes les 5 minutes. L’enregistrement prend 500 minutes, mais le fichier résultant est lu en 50 secondes (100 images, 500 millisecondes entre elles).
  • Vous pouvez émettre une commande Camera.setMode() en réglant fps sur 1/300 (une image toutes les 300 secondes, autrement dit, toutes les 5 minutes), puis une commande NetStream.attachCamera(source), en laissant la caméra capturer des images en continu pendant 500 minutes. Il faudra 500 minutes pour lire le fichier produit ; en d’autres termes autant que pour l’enregistrer, chaque image étant affichée pendant 5 minutes.

Ces deux techniques capturent les mêmes 500 images et les deux sont utiles. Votre choix doit être déterminé principalement par le type de lecture souhaité. Dans le second cas, par exemple, vous pourriez enregistrer du son en même temps. Par ailleurs, les deux fichiers feraient environ la même taille.

Paramètres

theCamera:Camera — Source de la transmission vidéo. Les valeurs supportées sont un objet Camera (qui amorce la capture vidéo) et null. Si vous utilisez la valeur null, l’application interrompt la capture vidéo et tous les autres paramètres que vous envoyez sont ignorés.
 
snapshotMilliseconds:int (default = -1) — Spécifie si le flux vidéo est continu, une image unique ou une série d’images uniques utilisées pour créer une séquence en accéléré.
  • Si vous omettez ce paramètre, l’application capture toutes les données vidéo jusqu’à ce que vous transmettiez la valeur null à attachCamera.
  • Si vous transmettez 0, l’application capture une seule image vidéo. Utilisez cette valeur pour transmettre des « instantanés » dans un flux préexistant. Flash Player ou AIR interprète les arguments non valides, négatif ou non numériques comme valeur 0.
  • Si vous transmettez une valeur positive, l’application capture une image vidéo unique, puis ajoute une pause de la durée spécifiée en suffixe sur l’instantané. Utilisez cette valeur pour créer des effets d’accéléré.

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

Arrête la lecture des données du flux, définit la propriété time sur 0 et met le flux à disposition. Cette méthode supprime également la copie locale d’un fichier vidéo téléchargé via HTTP. Même si l’application supprime la copie locale du fichier qu’il crée, une copie peut subsister dans le répertoire cache. Si vous devez empêcher toute mise en cache ou tout stockage local du fichier vidéo, utilisez Flash Media Server.

Avec Flash Media Server, cette méthode est invoquée implicitement lorsque vous appelez NetStream.play() depuis un flux de publication ou NetStream.publish() depuis un flux d’abonnement. Veuillez noter que :

  • Si close() est appelée depuis un flux de publication, le flux arrête la publication et l’éditeur peut alors utiliser ce flux dans un autre but. Les abonnés ne reçoivent plus aucun élément publié sur ce flux, car ce dernier a arrêté la publication.
  • Si close() est appelée depuis un flux d’abonnement, le flux arrête la lecture pour l’abonné et ce dernier peut utiliser ce flux dans un autre but. Les autres abonnés ne sont pas affectés.
  • Vous pouvez arrêter la lecture d’un flux d’abonnement sans fermer le flux ou modifier le type de flux en utilisant flash.net.NetStream.play(false).

Eléments de l’API associés

dispose

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

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

Libère tous les ressources détenues par l'objet NetStream.

La méthode dispose() est similaire à la méthode close. La principale différence entre ces deux méthodes réside dans le fait que dispose() libère la mémoire utilisée pour l'affichage de l'image vidéo en cours. Si ce bloc est actuellement affiché à l'écran, l'affichage devient vide. La méthode close() ne permet pas d'obtenir un affichage vide, car il ne libère pas cette mémoire.

onPeerConnect

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

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

Invoqué lorsqu’un flux d’homologue éditeur correspond à un flux d’homologue abonné. Avant que l’abonné ne soit connecté à l’éditeur, appelez cette méthode pour permettre au code ActionScript de contrôler l’accès en vue d’une publication homologue à homologue. Le code suivant montre un exemple de création d’une fonction de rappel pour cette méthode :

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

Si l’éditeur homologue n’implémente pas cette méthode, tous les homologues sont autorisés à lire tout contenu publié.

Paramètres

subscriber:NetStream

Valeur renvoyée
Boolean

pause

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

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

Interrompt la lecture d’un flux vidéo. L’appel de cette méthode n’a aucune incidence si la vidéo est déjà en pause. Pour reprendre la lecture d’une vidéo après une pause, appelez resume(). Pour basculer entre la pause et la lecture (en commençant par mettre la vidéo en pause, puis en reprenant la lecture), appelez togglePause().

Depuis Flash Player 9.0.115.0, le lecteur n’efface plus la mémoire tampon lors de l’appel de NetStream.pause(). Ce comportement est appelé pause intelligente. Avant Flash Player 9.0.115.0, le lecteur attendait le remplissage du tampon avant de reprendre la lecture, ce qui entraînait souvent des retards.

Remarque : pour assurer la compatibilité descendante, l’événement"NetStream.Buffer.Flush" (voir la propriété NetStatusEvent.info) est toujours déclenché, bien que le serveur ne vide pas la mémoire tampon.

En cas d’interruption unique, la propriété NetStream.bufferLength possède une limite de 60 secondes ou de deux fois la valeur de NetStream.bufferTime (la limite supérieure est prise en compte). Par exemple, si la propriété bufferTime est de 20 secondes, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la propriété NetStream.bufferLength corresponde à la valeur la plus élevée de 20*2 (c’est-à-dire 40), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la valeur de bufferLength corresponde à 60. Si la propriété bufferTime est de 40 secondes, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la propriété bufferLength corresponde à la valeur la plus élevée de 40*2 (c’est-à-dire 80), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu’à ce que la valeur de bufferLength corresponde à 80.

La propriété bufferLength possède en outre une limite absolue. Si un appel à pause() provoque l’augmentation de bufferLength de plus de 600 secondes, ou la valeur de plus élevée de bufferTime * 2, Flash Player efface le contenu de la mémoire tampon et remet à zéro bufferLength. Par exemple, si la propriété bufferTime est de 120 secondes, Flash Player efface le contenu de la mémoire tampon si la propriété bufferLength atteint 600 secondes ; si bufferTime est de 360 secondes, Flash Player efface le contenu de la mémoire tampon si bufferLength atteint 720 secondes.

Conseil : vous pouvez utiliser NetStream.pause() dans le code pour mettre les données en mémoire tampon pendant que les spectateurs regardent une annonce publicitaire, par exemple, puis annuler l’interruption lorsque la vidéo principale démarre.

Eléments de l’API associés

play

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

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

Lit un fichier multimédia à partir d’un répertoire local ou d’un serveur Web ; lit un fichier multimédia ou un flux en direct depuis Flash Media Server. Distribue un objet NetStatusEvent pour signaler les messages d’état et les messages d’erreur.

Pour plus d’informations sur les codecs et les formats de fichier pris en charge, voir les références suivantes :

Flux de travail pour la lecture d’un fichier ou d’un flux en direct

  1. Créez un objet Video pour afficher la vidéo et appelez addChild() pour ajouter cet objet à la scène.
  2. Créez un objet NetConnection et appelez NetConnection.connect().

    Pour lire un fichier à partir d’un répertoire local ou d’un serveur Web, transmettez la valeur null.

    Pour lire un fichier enregistré ou un flux en direct depuis Flash Media Server, transmettez l’URI d’une application de Flash Media Server.

  3. Appelez la méthode addEventListener() de l’objet NetConnection pour écouter l’événement netStatus (NetStatusEvent.NET_STATUS).
  4. Sur l’événement "NetConnection.Connect.Success", créez un objet NetStream et transmettez l’objet NetConnection au constructeur.
  5. Appelez la méthode attachNetStream() de l’objet Video et transmettez l’objet NetStream.
  6. Appelez la méthode play() de l’objet NetStream.

    Pour lire un flux en direct, transmettez le nom du flux transmis à la méthode NetStream.publish().

    Pour lire un fichier enregistré, transmettez le nom du fichier.

Remarque : nous vous recommandons de toujours ajouter l’objet Video à la scène, de lui joindre l’objet NetStream, puis d’appeler la méthode play() de l’objet NetStream.

Activer le mode Génération de données

Appelez play(null) pour activer le « mode de génération de données ». Dans ce mode, appelez la méthode appendBytes() pour transmettre les données à l’objet NetStream. Utilisez le mode de génération de données pour diffuser du contenu via HTTP depuis le module original de diffusion en continu dynamique HTTP d’Adobe sur un serveur HTTP Apache. La diffusion en continu HTTP dynamique permet aux clients de rechercher rapidement un point dans un fichier. Open Source Media Framework (OSMF) prend en charge la diffusion en continu dynamique pour les flux en direct et de vidéo à la demande. Pour obtenir des exemples d’utilisation du mode de génération de données Netstream, téléchargez la source OSMF. Pour plus d’informations sur la diffusion en continu HTTP dynamique, voir la section Diffusion en continu HTTP dynamique.

Lorsque vous utilisez cette méthode sans Flash Media Server, il existe certaines contraintes de sécurité. Un fichier , placé dans le sandbox local approuvé ou local avec accès au réseau, peut charger et lire un fichier vidéo à partir du sandbox distant. Cependant, il ne peut pas accéder aux données de ce fichier distant sans une autorisation explicite, accordée sous forme de fichier de régulation d’URL. Vous pouvez en outre empêcher un fichier SWF s’exécutant dans Flash Player d’utiliser cette méthode ; pour cela, vous devez définir le paramètre allowNetworking des balises object et embed dans la page HTML qui intègre le contenu SWF. 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

... arguments

Lire un fichier local

Emplacement d’un fichier multimédia. Cet argument peut être une chaîne, une propriété URLRequest.url ou une variable référençant l’une ou l’autre. Dans Flash Player et dans le contenu AIR hors du sandbox de sécurité de l’application, vous pouvez lire les fichiers vidéo locaux stockés dans le même répertoire que le fichier SWF ou dans un sous-répertoire. Vous ne pouvez toutefois pas naviguer vers un répertoire de niveau supérieur.

Lire un fichier à partir de Flash Media Server

NomObligatoireDescription
name:ObjectObligatoire Nom d’un fichier enregistré, un identifiant des données en direct publiées par NetStream.publish() ou false. Si false, le flux arrête la lecture et tout paramètre supplémentaire est ignoré. Pour plus d’informations sur la syntaxe du nom de fichier, voir le tableau répertoriant les formats de fichier ci-après.
start:NumberFacultatif Renvoie l’instant de départ, en secondes. Les valeurs autorisées sont -2, -1, 0 ou un nombre positif. La valeur par défaut est -2, qui recherche un flux en direct, puis un flux enregistré, et ouvre un flux en direct lorsqu’il ne trouve ni l’un ni l’autre. Vous ne pouvez pas utiliser -2 avec des fichiers MP3. Si -1, lit uniquement un flux en direct. Si 0 ou un nombre positif, lit un flux enregistré en commençant par start en secondes.
len:Number Facultatif si start est spécifié. Durée de la lecture, en secondes. Les valeurs autorisées sont -1, -0 ou un nombre positif. La valeur par défaut est -1, qui lit un flux en direct ou enregistré jusqu’à la fin. Si 0, lit une unique image de start secondes par rapport au début d’un flux enregistré. S’il s’agit d’un nombre positif, lit un flux en direct ou enregistré pendant len secondes.
reset:Object Facultatif si len est spécifié. Indique si une liste de lecture doit être effacée. La valeur par défaut est 1 ou true, qui efface tous les appels play précédents et lit name immédiatement. Si 0 ou false, ajoute le flux dans une liste de lecture. Si 2, conserve la liste de lecture et renvoie tous les messages du flux en une seule opération, plutôt que par intervalles. Si 3, efface la liste de lecture et renvoie tous les messages du flux en une seule opération.

Vous pouvez lire les formats de fichier décrits dans le tableau suivant. La syntaxe varie selon le format de fichier.

Format de fichierSyntaxeExemple
FLVSpécifiez le nom du flux (dans le répertoire "samples") en tant que chaîne sans extension de nom de fichier.ns.play("samples/myflvstream");
mp3 or ID3Spécifiez le nom du flux en tant que chaîne (dans le répertoire "samples"), avec le préfixe mp3: ou id3: sans extension de nom de fichier.

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

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

Fichiers basés sur le format MPEG-4 (F4V et MP4, entre autres)Spécifiez le nom du flux en tant que chaîne (dans le répertoire "samples") avec le préfixe mp4:. Le préfixe indique au serveur que le fichier contient des données vidéo H. 264 et des données audio AAC au format conteneur MPEG-4 Part 14. Si le fichier sur le serveur possède une extension de fichier, indiquez-la.

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

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

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

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

RAWSpécifiez le nom du flux (dans le répertoire "samples") en tant que chaîne, avec le préfixe raw:.ns.play("raw:samples/myvideo");

Activer le mode Génération de données

Pour activer le mode de génération de données, transmettez la valeur null à un objet NetStream créé sur un objet NetConnection connecté à null. Dans ce mode, appelez appendBytes() pour transmettre les données à l’objet NetStream. (Transmettre null réinitialise également le compteur d’octets pour le rappel de onSeekPoint().)

Considérations spéciales pour la vidéo H. 264 dans AIR 3.0 for iOS

Pour la vidéo H. 264, les API d’iOS pour la lecture vidéo acceptent uniquement une URL vers un fichier ou un flux. Vous ne pouvez pas transmettre un tampon de données vidéo H264 en vue de les décoder. En fonction de votre source vidéo, transmettez l’argument approprié à NetStream.play(), comme suit :

  • Pour une lecture progressive : transmettez l’URL du fichier (local ou distant).

  • Pour la diffusion en continu de vidéo : transmettez l’URL d’une liste de lecture au format HTTP Live Streaming (TLS) d’Apple. Ce fichier peut être hébergé par n’importe quel serveur ; Flash Media Server 4.5 et les versions ultérieures offre l’avantage de pouvoir coder les flux au format TLS.


Evénements
status:StatusEvent — Distribué lors d’une tentative de lecture d’un fichier chiffré à l’aide de la gestion des droits numériques (DRM). La valeur de la propriété code est "DRM.encryptedFLV".

Valeur émise
SecurityError — Les fichiers SWF locaux et non approuvés ne peuvent pas communiquer avec Internet. Pour contourner cette restriction, reclassifiez le fichier SWF en tant que fichier local avec accès au réseau ou en tant que fichier approuvé.
 
ArgumentError — Il est nécessaire de spécifier au moins un paramètre.
 
Error — L’objet NetStream n’est pas valide. Cela peut être dû à un échec de NetConnection.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
Flash Media Server Cet exemple lit un fichier F4V enregistré (dans le répertoire "samples"), en commençant au début, pendant 100 secondes au maximum. Avec les fichiers MPEG-4, si le fichier sur le serveur dispose d’une extension de nom de fichier, la méthode play() doit spécifier une extension de nom de fichier.
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server Cet exemple lit un flux FLV en direct publié par un client, du début à la fin, en commençant immédiatement :
     ns.play("livestream");
     

L’exemple suivant indique comment charger un fichier FLV externe :
var MyVideo:Video = new Video();
addChild(MyVideo);
 
var MyNC:NetConnection = new NetConnection();
MyNC.connect(null);
 
var MyNS:NetStream = new NetStream(MyNC);
MyVideo.attachNetStream(MyNS);
MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv");

//the clouds.flv video has metadata we're not using, so create
//an error handler to ignore the message generated by the runtime
//about the metadata
MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 

function asyncErrorHandler(event:AsyncErrorEvent):void 
{ 
   //ignore metadata error message
} 

play2

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

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

Commute en toute transparence les fichiers dont les vitesses de transmission sont différentes et permet la reprise d’un NetStream lorsque la connexion est abandonnée, puis rétablie.

Cette méthode est une version améliorée de NetStream.play(). Comme la méthode play(), la méthode play2() commence la lecture d’un fichier multimédia ou met des fichiers multimédia en file d’attente pour créer une liste de lecture. Lorsqu’elle est utilisée avec Flash Media Server, elle peut également demander au serveur de basculer vers un autre fichier multimédia. La transition est transparente dans l’application client. Les fonctionnalités suivantes utilisent la commutation de flux play2() :

Diffusion dynamique en continu

La diffusion dynamique en continu (prise en charge dans Flash Media Server 3.5 et les versions ultérieures) fournit un flux codé à des vitesses de transmission différentes. A mesure que les conditions de réseau d’un spectateur changent, ce dernier reçoit la vitesse de transmission qui fournit les meilleures conditions d’affichage. Utilisez la classe NetStreamInfo pour gérer les conditions du réseau et changer de flux en fonction des données. Vous pouvez également changer de flux pour des clients ayant des capacités différentes. Pour plus d’informations, voir la section « Diffusion dynamique en continu » dans le « Guide du développeur d’Adobe Flash Media Server ».

Adobe a conçu une classe ActionScript personnalisée appelée DynamicStream qui étend la classe NetStream. Vous pouvez utiliser la classe DynamicStream pour implémenter la diffusion dynamique en continu dans une application au lieu d’écrire votre propre code afin de détecter les conditions du réseau. Même si vous choisissez d’écrire votre propre code de diffusion en continu dynamique, utilisez la classe DynamicStream comme exemple d’implémentation. Téléchargez la classe et la documentation de la classe depuis la page Flash Media Server tools and downloads.

Reconnexion du flux de données

La reconnexion du flux de données (prise en charge dans Flash Media Server 3.5.3 et les versions ultérieures) permet d’utiliser le média sans interruption, même lorsque la connexion est perdue. Le média utilise la mémoire tampon pour poursuivre la lecture tandis que votre logique ActionScript se reconnecte à Flash Media Server. Une fois la connexion rétablie, appelez NetStream.attach() pour utiliser le même objet NetStream avec le nouveau NetConnection. Utilisez les API NetStream.attach(), NetStreamPlayTransitions.resume et NetStreamPlayTrasitions.APPEND_AND_WAIT pour reconnecter un flux de données. Pour plus d’informations, voir la documentation de Flash Media Server 3.5.3.

Paramètres

param:NetStreamPlayOptions

Eléments de l’API associés

preloadEmbeddedData

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

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

Extrait les métadonnées DRM d’un fichier multimédia enregistré localement.

Utilisez tout d’abord preloadEmbeddedMetaData() lors du téléchargement et de la mise en mémoire cache des vouchers DRM nécessaires à la lecture hors ligne. Lorsque des métadonnées DRM intégrées sont détectées dans un fichier multimédia, un objet DRMContentData est transmis à la fonction onDRMContentData du client NetStream. Cet objet DRMContentData contient les informations nécessaires à l’obtention du voucher requis pour lire le contenu. Transmettez DRMContentDataObject à la méthode DRMManager loadVoucher() pour télécharger le voucher.

Les étapes pour précharger un voucher DRM sont les suivantes :

  • Créez un nouvel objet NetStream pour précharger les métadonnées.

  • Affectez une fonction de rappel à la propriété onDRMContentData du client NetStream.
  • Créez un nouvel objet NetStreamPlayOptions, puis définissez la propriété streamName sur la chaîne URL du fichier vidéo local.
  • Appelez preloadEmbeddedMetadata(), tout en transmettant l’objet NetStreamPlayOptions.
  • En réponse au rappel onDRMContentData, appelez la méthode loadVoucher() de DRMManager, tout en transmettant l’objet DRMContentData. Si la propriété authenticationMethod de l’objet DRMContentData est définie sur la valeur userNameAndPassWord, authentifiez l’utilisateur sur le serveur de droits multimédias avant de charger le voucher.
  • Fermez l’objet NetStream avant le préchargement.

Remarque : si vous souhaitez utiliser le même objet NetStream pour précharger les métadonnées et lire le contenu, attendez l’appel de onPlayStatus généré par l’opération de préchargement avant de commencer la lecture.

Les vouchers téléchargés sont stockés dans une mémoire cache locale. La lecture de contenu en ligne permet également de télécharger et de mettre en cache les vouchers. Lors de la visualisation d’un fichier dont le contenu est protégé par DRM, un voucher mis en cache est automatiquement récupéré à partir du magasin local. Utilisez DRMManager pour gérer la mémoire cache du voucher.

Remarques : le préchargement des métadonnées DRM via une connexion HTTP, HTTPS ou RTMP n’est pas pris en charge. Vous ne pouvez précharger des métadonnées qu’à partir de fichiers enregistrés sur le systèmes de fichiers.

Paramètres

param:NetStreamPlayOptions — Un objet NetStreamPlayOptions décrivant les options à utiliser lors du traitement du fichier de contenu.

Eléments de l’API associés

publish

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

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

Envoie des données audio et vidéo, ainsi que des messages de données en diffusion continue à partir d’un client et à destination de Flash Media Server, tout en laissant la possibilité d’enregistrer ce flux pendant la transmission. Cette méthode distribue un objet NetStatusEvent avec des informations sur le flux continu. Avant d’appeler NetStream.publish(), capturez l’événement "NetConnection.Connect.Success"pour vérifier que l’application s’est correctement connectée à Flash Media Server.

Lors de la publication, vous pouvez enregistrer les fichiers au format FLV ou F4V. Si vous enregistrez un fichier au format F4V, utilisez un outil d’aplatissement pour modifier ou lire le fichier dans une autre application. Pour télécharger l’outil, voir www.adobe.com/go/fms_tools_fr.

Remarque : n’utilisez pas cette méthode pour lire un flux de données. Pour lire un flux de données, appelez la méthode NetStream.play().

Flux de travail pour la publication d’un flux de données

  1. Créez un objet NetConnection et appelez NetConnection.connect().
  2. Appelez NetConnection.addEventListener() pour écouter les événements NetStatusEvent.
  3. Sur l’événement "NetConnection.Connect.Success", créez un objet NetStream et transmettez l’objet NetConnection au constructeur.
  4. Pour capturer du son et des images, appelez les méthodes NetStream.attachAudio() et NetStream.attachCamera().
  5. Pour publier un flux, appelez la méthode NetStream.play(). Vous pouvez enregistrer les données au fur et à mesure que vous les publiez afin que les utilisateurs puissent les lire ultérieurement.

Remarque : un objet NetStream peut soit publier soit lire un flux de données, mais il ne peut pas effectuer ces deux opérations simultanément. Pour publier un flux de données et afficher la lecture à partir du serveur, créez deux objets NetStream. Vous pouvez envoyer plusieurs objets NetStream sur un seul objet NetConnection.

Lorsque Flash Media Server enregistre un flux de données, il crée un fichier. Par défaut, le serveur crée un répertoire avec le nom de l’occurrence de l’application transmis à NetConnection.connect() et stocke le fichier dans ce répertoire. Par exemple, le code suivant établit la connexion à l’occurrence par défaut de l’application « lectureseries » et enregistre un flux de données nommé « lecture ». Le fichier « lecture.flv » est enregistré dans le répertoire applications/lectureseries/streams/_definst_ :

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

L’exemple suivant se connecte à l’occurrence de "monday" de la même application. Le fichier « lecture.flv » est enregistré dans le répertoire /applications/lectureseries/streams/monday :

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

Paramètres

name:String (default = null) — Chaîne identifiant le flux continu. Les clients qui s’abonnent à ce flux continu transmettent ce nom lorsqu’ils appellent NetStream.play(). N’ajoutez pas une « / » après le nom du flux. Par exemple, n’utilisez pas le nom de flux "bolero/".

Vous pouvez enregistrer les fichiers dans les formats décrits dans le tableau suivant (impossible d'utiliser publish() pour les fichiers au format MP3). La syntaxe varie selon le format de fichier.

Format de fichierSyntaxeExemple
FLVSpécifiez le nom du flux en tant que chaîne, sans extension de nom de fichier.ns.publish("myflvstream");
Fichiers basés sur le format MPEG-4 (F4V ou MP4, entre autres)Spécifiez le nom du flux en tant que chaîne, avec le préfixe mp4: avec ou sans extension de nom de fichier. Flash Player effectue le codage avec H.263 et non avec H.264. Flash Media Server peut enregistrer n’importe quel codec dans le conteneur F4V. Flash Media Live Encoder autorise le codage avec H. 264. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWSpécifiez le nom du flux en tant que chaîne, avec le préfixe raw:.ns.publish("raw:myvideo");

 
type:String (default = null) — Chaîne spécifiant le mode de publication du flux continu. Les valeurs valides sont "record", "append", "appendWithGap" et "live". La valeur par défaut est live.
  • Si vous transmettez "record", le serveur publie et enregistre des données en direct ; les données enregistrées sont placées dans un nouveau fichier dont le nom correspond à la valeur transmise au paramètre name. Si le fichier existe déjà, il est remplacé.
  • Si vous transmettez "append", le serveur publie et enregistre des données en direct, qu’il ajoute à un fichier dont le nom correspond à la valeur transmise au paramètre name. Si aucun fichier correspondant au paramètre name n’est détecté, un fichier est créé.
  • Si vous transmettez "appendWithGap", des informations supplémentaires sur la coordination temporelle sont transmises afin que le serveur puisse déterminer le point de transition correct lors de la diffusion dynamique en continu.
  • Si vous omettez ce paramètre ou utilisez "live", le serveur publie des données en direct sans les enregistrer. Si un fichier dont le nom correspond à la valeur transmise au paramètre name existe, il est supprimé.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant capture des données vidéo à partir d’une caméra et les publie via un flux de réseau sur Flash Media Server. Cet exemple affiche les données vidéo au fur et à mesure que Flash Media Server les lit.

Pour exécuter cet exemple, vous avez besoin d’une caméra reliée à votre ordinateur. Vous devez également ajouter un composant Button et un composant Label à la bibliothèque.

L’application dispose d’un bouton qui publie un flux (l’envoie à Flash Media Server) uniquement lorsque l’application est correctement connectée au serveur. L’application lit le flux du serveur uniquement lorsque le flux a été correctement publié. L’événement NetStatusEvent renvoie un objet info avec une propriété code qui spécifie ces cas. La fonction netStatusHandler gère ces événements pour les classes NetConnection et NetStream.

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

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

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

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

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

receiveAudio

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

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

Indique si les données audio entrantes sont lues dans le flux continu. Cette méthode n’est accessible qu’aux clients abonnés au flux spécifié. L’éditeur du flux n’y a pas accès. Appelez cette méthode avant ou après l’appel de la méthode NetStream.play(). Par exemple, associez cette méthode à un bouton pour permettre aux utilisateurs de désactiver et de réactiver le son. Utilisez cette méthode uniquement sur les flux de données en monodiffusion lus à partir de Flash Media Server. Cette méthode ne fonctionne pas sur les flux de données en multidiffusion RTMFP ou lors de l’utilisation de la méthode NetStream.appendBytes().

Paramètres

flag:Boolean — Spécifie si les données audio entrantes sont lues dans le flux (true) ou non (false). La valeur par défaut est true. Si le flux continu spécifié contient uniquement des données audio, NetStream.time cesse d’augmenter lorsque vous transmettez false.

receiveVideo

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

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

Indique si les données vidéo entrantes sont lues sur le flux continu. Cette méthode n’est accessible qu’aux clients abonnés au flux spécifié. L’éditeur du flux n’y a pas accès. Appelez cette méthode avant ou après l’appel de la méthode NetStream.play(). Par exemple, associez cette méthode à un bouton pour permettre aux utilisateurs d’afficher et de masquer la vidéo. Utilisez cette méthode uniquement sur les flux de données en monodiffusion lus à partir de Flash Media Server. Cette méthode ne fonctionne pas sur les flux de données en multidiffusion RTMFP ou lors de l’utilisation de la méthode NetStream.appendBytes().

Paramètres

flag:Boolean — Indique si les données vidéo entrantes de ce flux sont lues (true) ou non (false). La valeur par défaut est true. Si le flux continu spécifié contient uniquement des données vidéo, NetStream.time cesse d’augmenter lorsque vous transmettez false.

receiveVideoFPS

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

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

Indique la cadence des données vidéo entrantes. Cette méthode n’est accessible qu’aux clients abonnés au flux spécifié. L’éditeur du flux n’y a pas accès. Appelez cette méthode avant ou après l’appel de la méthode NetStream.play(). Par exemple, appelez cette méthode pour permettre aux utilisateurs de la cadence vidéo. Pour déterminer la cadence actuelle, utilisez NetStream.currentFPS. Pour interrompre la réception des données vidéo, transmettez 0.

Lorsque vous transmettez une valeur au paramètre FPS en vue de limiter la cadence de la vidéo, Flash Media Server tente de réduire la cadence tout en préservant l’intégrité de la vidéo. Entre deux images-clés, le serveur envoie le nombre minimum d’images nécessaires pour répondre à la cadence spécifiée. Notez que les images intermédiaires doivent être envoyées conjointement, auquel cas la vidéo est endommagée. Par conséquent, le nombre d’images souhaité est envoyé immédiatement et conjointement après une image-clé. Etant donné que les images ne sont pas distribuées uniformément, le mouvement entre images uniques est homogène, mais des interruptions apparaissent entre les séquences d’images.

Utilisez cette méthode uniquement sur les flux de données en monodiffusion lus à partir de Flash Media Server. Cette méthode ne fonctionne pas sur les flux de données en multidiffusion RTMFP ou lors de l’utilisation de la méthode NetStream.appendBytes().

Paramètres

FPS:Number — Indique le nombre d’images par seconde lors de la lecture des données vidéo entrantes.

resetDRMVouchers

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

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

Dans les applications AIR, cette opération supprime toutes les données du voucher de gestion des droits numériques (DRM) mises en cache localement. Pour les applications sur navigateur, cette opération n’est disponible que pendant les erreurs 3322, et se comporte comme le panneau des paramètres de lecture de contenu protégé.

L’application doit à nouveau télécharger les vouchers requis depuis le serveur de droits multimédias afin que l’utilisateur puisse accéder au contenu protégé. Appeler cette fonction équivaut à appeler la fonction resetDRMVouchers() de l’objet DRMManager.


Valeur émise
IOError — Les données du voucher ne peuvent pas être supprimées.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant réinitialise tous les vouchers DRM :
NetStream.resetDRMVouchers();

resume

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

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

Reprend la lecture d’un flux vidéo en pause. Si la vidéo est en cours de lecture, l’appel de cette méthode n’a aucun effet.

Eléments de l’API associés

seek

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

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

Recherche l’image-clé (également appelée Image-I dans l’industrie vidéo) la plus proche de l’emplacement spécifié. L’image-clé est placée à un décalage, en secondes, depuis le début du flux.

Les flux vidéo sont généralement encodés avec deux types d’image, les images-clés (ou images I) et les images P. Une image-clé contient l’ensemble de l’image, alors qu’une image P est une image intérimaire qui fournit des informations vidéo supplémentaires entre les images-clé. Un flux vidéo présente généralement une image-clé toutes les 10 à 50 images.

Flash Media Server dispose de plusieurs types de comportements de recherche : la recherche améliorée et la recherche dynamique.

Recherche améliorée

Par défaut, la recherche améliorée est activée. Pour désactiver la recherche améliorée, ouvrez Flash Media Server, puis définissez l’élément EnhancedSeek dans le fichier de configuration application.xml sur false.

Si la recherche améliorée est activée, le serveur génère une nouvelle image-clé au niveau du décalage en fonction de l’image-clé précédente et de toute image P intermédiaire. Cela peut toutefois créer une charge de traitement élevée sur le serveur et une distorsion peut survenir dans l’image-clé générée. Si le codec vidéo est On2, l’image-clé située avant le point de recherche, ainsi que toute image P située entre l’image-clé et le point de recherche sont envoyées au client.

Si la recherche améliorée est désactivée, le serveur commence la diffusion en continu à partir de l’image-clé la plus proche. Par exemple, supposons qu’une vidéo présente des images-clés à 0 et 10 secondes. Une recherche de 4 secondes entraîne un démarrage de la lecture à 4 secondes à l’aide de l’image-clé à 0 seconde. La vidéo demeure figée jusqu’à ce qu’elle atteigne la prochaine image-clé placée à 10 secondes. Pour améliorer les recherches, vous devez réduire l’intervalle des images-clés. En mode de recherche normal, vous ne pouvez pas démarrer la vidéo à un point placé entre les images-clés.

Recherche dynamique

Pour activer la recherche dynamique, définissez NetStream.inBufferSeek sur true.

La recherche dynamique permet à Flash Player d’effectuer des recherches dans une mémoire tampon d’arrière-plan et dans une mémoire tampon directe. Si la fonction de recherche dynamique est désactivée, chaque fois que la méthode seek() est appelée, Flash Player efface le contenu de la mémoire tampon et sollicite des données au serveur. Pour plus d’informations, voir NetStream.inBufferSeek.

Recherche en mode de génération de données

Lorsque vous appelez seek() sur un objet NetStream en mode de génération de données, tous les octets transmis à appendBytes() sont ignorés (non placés en mémoire tampon, accumulés dans la FIFO de messages partiels ou analysés pour les points de recherche) jusqu’à ce que vous appeliez appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) ou appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) pour réinitialiser le programme d’analyse. Pour plus d’informations sur le mode de génération de données, voir NetStream.play().

Paramètres

offset:Number — Valeur de temps approximative, en secondes, à atteindre dans un fichier vidéo. Avec Flash Media Server, si la propriété <EnhancedSeek> est définie sur true dans le fichier de configuration Application.xml (configuration par défaut), le serveur génère une image-clé au décalage.
  • Pour revenir au début du flux continu, transmettez 0 pour offset.
  • Pour effectuer une recherche en partant du début du flux continu, transmettez le nombre de secondes à appliquer. Par exemple, pour placer la tête de lecture à 15 secondes du début (ou sur l’image-clé avant 15 secondes), utilisez myStream.seek(15).
  • Pour faire une recherche par rapport à la position actuelle, transmettez NetStream.time + n ou NetStream.time - n pour rechercher n secondes vers l’avant ou l’arrière, par rapport à la position actuelle. Par exemple, pour revenir en arrière de 20 secondes par rapport à la position actuelle, utilisez NetStream.seek(NetStream.time - 20).

Eléments de l’API associés

send

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

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

Envoie un message sur le flux publié à tous les clients abonnés. Cette méthode n’est accessible qu’à l’éditeur du flux continu spécifié. Cette méthode est disponible uniquement avec Flash Media Server. Pour traiter et répondre à ce message, créer un gestionnaire sur l’objet NetStream, par exemple ns.HandlerName.

Flash Player ou AIR ne sérialise pas les méthodes ni leurs données, les variables de prototype d’objet ou les variables non énumérables. Pour les objets d’affichage, Flash Player AIR sérialise le chemin, mais pas les données.

Vous pouvez appeler la méthode send() pour ajouter des images-clés de données à un flux en direct publié sur Flash Media Server. Une image-clé de données est un message ajouté à un flux en direct par un éditeur. Les images-clés de données sont généralement utilisées pour ajouter des métadonnées à un flux en direct avant la capture des données pour le flux à partir de la caméra et du microphone. Un éditeur peut à tout moment ajouter une image-clé de données pendant la publication du flux. L’image-clé de données est enregistrée dans la mémoire du serveur tant que l’éditeur y est connecté.

Les clients abonnés au flux en direct avant l’ajout d’une image-clé de données reçoivent cette image-clé dès son ajout. Les clients qui s’abonnent au flux en direct après l’ajout de l’image-clé reçoivent cette image-clé lorsqu’ils s’abonnent.

Pour ajouter une image-clé de métadonnées dans un flux en direct envoyé à Flash Media Server, utilisez @setDataFrame comme nom de gestionnaire, suivi de deux arguments supplémentaires, tels que :

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

L’argument @setDataFrame fait référence à un gestionnaire spécial intégré au Flash Media Server. L’argument onMetaData est le nom d’une fonction de rappel de votre application client qui écoute l’événement onMetaData et récupère les métadonnées. Le troisième élément, metaData, est une occurrence de Object ou d’Array dont les propriétés définissent les valeurs des métadonnées.

Utilisez @clearDataFrame pour effacer une image-clé de métadonnées déjà définie dans le flux :

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

Paramètres

handlerName:String — Message à envoyer ; également le nom du gestionnaire ActionScript qui reçoit le message. Le nom du gestionnaire ne peut avoir qu’un seul niveau (autrement dit, il ne peut pas être au format parent/enfant) et est relatif à l’objet flux. N’utilisez pas un terme réservé comme nom du gestionnaire. Par exemple, l’attribution du nom "close" au gestionnaire entraîne l’échec de la méthode. Avec Flash Media Server, utilisez @setDataFrame pour ajouter une image-clé de métadonnées à un flux en direct ou @clearDataFrame pour supprimer une image-clé.
 
... arguments — Les arguments facultatifs peuvent être de n’importe quel type. Ils sont sérialisés et envoyés via la connexion, et le gestionnaire de destination les reçoit dans le même ordre. Si un paramètre représente un objet circulaire (une liste liée qui est circulaire, par exemple), l’utilitaire de sérialisation gère correctement les références. Avec Flash Media Server, si @setDataFrame est le premier argument, utilisez onMetaData comme second argument ; pour le troisième argument, transmettez une occurrence de Object ou Array possédant les métadonnées définies comme propriétés. Voir le Flash Media Server Developer Guide pour obtenir une liste des noms de propriété suggérés. Avec @clearDataFrame comme premier argument, utilisez onMetaData comme second argument et pas de troisième argument.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée deux objets NetStream. L’un est utilisé pour publier un flux en direct sur le serveur, l’autre s’abonne au flux.
package {
   import flash.display.Sprite;
   import flash.net.NetConnection;
   import flash.net.NetStream;
   import flash.events.NetStatusEvent;
   import flash.media.Video;
   import flash.utils.setTimeout;

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

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

L’exemple suivant crée des métadonnées et les ajoute à un flux en direct :
private function netStatusHandler(event:NetStatusEvent):void {
     switch (event.info.code) {  
        case "NetStream.Publish.Start":
            var metaData:Object = new Object();
            metaData.title = "myStream";
            metaData.width = 400;
            metaData.height = 200;
            ns.send("@setDataFrame", "onMetaData", metaData);
            ns.attachCamera( Camera.getCamera() );
            ns.attachAudio( Microphone.getMicrophone() );        
    }
}

Pour répondre à une image-clé de données ajoutée à une vidéo, le client doit définir un gestionnaire d’événement onMetaData. Le gestionnaire d’événement onMetaData n’est pas enregistré avec addEventListener(), mais correspond à une fonction de rappel nommée onMetaData, par exemple :
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

Cet exemple décrit la création d’une liste de lecture sur le serveur :
 // Create a NetStream for playing
 var my_ns:NetStream = new NetStream(my_nc);
 my_video.attachNetStream(my_ns);
 
 // Play the stream record1
 my_ns.play("record1", 0, -1, true);
 
 // Switch to the stream live1 and play for 5 seconds.  
 // Since reset is false, live1 will start to play after record1 is done.
 my_ns.play("live1", -1 , 5, false);

Si le fichier vidéo enregistré contient uniquement des messages de données, vous pouvez soit le lire à la vitesse à laquelle il a été enregistré à l’origine, soit obtenir tous les messages de données en une seule opération.
 //To play at normal speed
 var my_ns:NetStream = new NetStream(my_nc);
 my_ns.play("log", 0, -1);
 
 //To get the data messages all at once
 my_ns.play("log", 0, -1, 3);

setDRMAuthenticationCredentials

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

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

Définit les informations d’authentification de la gestion des droits numériques nécessaires à l’affichage du contenu chiffré sous-jacent.

La méthode setDRMAuthenticationCredentials() doit fournir des informations d’identification qui correspondent à celles reconnues et approuvées par le fournisseur de contenu ou le serveur proxy. Ces informations d’identification sont les mêmes que celles dont l’utilisateur a besoin pour obtenir l’autorisation d’afficher le contenu.

Paramètres

userName:String — Nom d’utilisateur valide.
 
password:String — Mot de passe correspond au nom d’utilisateur fournit.
 
type:String — Chaîne indiquant le type d’informations d’authentification fournit. Les valeurs valides sont "drm" et "proxy". La valeur par défaut est "drm".
  • Pour le type d’authentification "drm", les informations d’identification indiquées sont comparées à Flash Access.
  • Dans le cas d’une authentification "proxy", les informations d’identification fournies sont authentifiées par rapport au serveur proxy et doivent correspondre avec celles requises par ce dernier. Par exemple, l’option "proxy" permet à une société d’authentifier l’application par rapport au serveur proxy avant que l’utilisateur n’accède à Internet. A moins qu’une authentification anonyme soit utilisée, après l’authentification proxy, l’utilisateur doit encore s’authentifier auprès de Flash Access afin d’obtenir le voucher et lire le contenu. Vous pouvez utiliser setDRMAuthenticationcredentials() une deuxième fois, avec l’option "drm", pour l’authentification auprès de Flash Access.

Eléments de l’API associés

step

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

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

Recule ou avance du nombre d’images spécifié à partir de l’image actuellement affichée. Spécifiez un nombre positif pour vous déplacer vers l’avant et un nombre négatif pour vous déplacer en sens inverse. Appelez cette méthode pour créer une fonctionnalité précise d’avance ou de retour rapide.

Remarque : cette méthode n’est pas prise en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Cette méthode n’est disponible que lorsque les données sont diffusées en continu à partir de Flash Media Server 3.5.3 ou version ultérieure et lorsque NetStream.inBufferSeek est définie sur true. Par ailleurs, l’image cible doit se trouver dans la mémoire tampon. Par exemple, si l’image actuellement affichée est l’image numéro 120 et que vous spécifiez une valeur de 1000, cette méthode échoue si l’image numéro 1120 ne se trouve pas dans la mémoire tampon.

Cette méthode est conçue pour être utilisée avec la méthode pause() ou togglePause(). Si vous avancez ou reculez de 10 images pendant la lecture sans effectuer de pause, il est possible que vous ne détectiez pas cette opération ou qu’elle ressemble à une erreur. Par ailleurs, si vous appelez pause() ou togglePause le son est coupé.

Si l’appel de la méthode NetStream.étape() aboutit, un événement NetStatusEvent est envoyé avec "NetStream.Step.Notify" en tant que valeur de la propriété code de l’objet info.

Paramètres

frames:int

Eléments de l’API associés

togglePause

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

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

Interrompt ou reprend la lecture d’un flux continu. Lorsque vous appelez cette méthode pour la première fois, la lecture est interrompue ; au prochain appel, la lecture reprend. Vous pouvez par exemple utiliser cette méthode pour permettre aux utilisateurs d’interrompre ou de reprendre la lecture par pression d’un seul bouton.

Eléments de l’API associés

Détails de l’événement

asyncError

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

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

Distribué lorsqu’une erreur est renvoyée de manière asynchrone ; autrement dit, lorsqu’elle provient du code asynchrone natif. Cet événement est distribué lorsqu’un serveur appelle une méthode non définie sur le client.

La constante AsyncErrorEvent.ASYNC_ERROR définit la valeur de la propriété type d’un objet événement asyncError.

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.
targetL’objet distribuant l’événement.
errorErreur qui a déclenché l’événement.

Eléments de l’API associés

drmAuthenticate

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

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

Distribué lorsqu’un objet NetStream tente de lire un fichier chiffré à l’aide de la gestion des droits numériques (DRM) nécessitant l’obtention d’informations d’identification pour authentifier l’utilisateur avant la lecture.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Utilisez la méthode setDRMAuthenticationCredentials() de l’objet NetStream pour authentifier l’utilisateur. En cas d’échec de l’authentification utilisateur, l’application tente de nouveau l’authentification et distribue un nouvel événement DRMAuthenticateEvent pour l’objet NetStream.

La constante DRMAuthenticateEvent.DRM_AUTHENTICATE définit la valeur de la propriété type d’un objet événement DRMAuthenticateEvent.

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

PropriétéValeur
authenticationTypeIndique si les informations d’identification fournies servent à l’authentification par rapport à un serveur FMRMS (Flash Media Rights Management Server : serveur de gestion des droits de Flash Media) ou un serveur proxy.
bubblesfalse
cancelablefalse il n’existe aucun comportement par défaut à annuler.
en-têteL’en-tête du fichier de contenu chiffré fourni par le serveur.
netStreamL’objet NetStream qui a initié cet événement.
passwordPromptUne invite à entrer les informations de mot de passe, fournies par le serveur.
targetL’objet NetStream.
urlPromptUne invite pour une URL à afficher, fournie par le serveur.
usernamePromptUne invite à entrer les informations de nom d’utilisateur, fournies par le serveur.

Eléments de l’API associés

drmError

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

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

Distribué lorsqu’un objet NetStream qui tente de lire un fichier chiffré à l’aide de la gestion des droits numériques (DRM) rencontre une erreur de type DRM. Par exemple, un objet DRMErrorEvent est distribué lorsque l’autorisation utilisateur échoue. Il est en effet possible que l’utilisateur n’ait pas acquis les droits nécessaires à l’affichage du contenu ou que le fournisseur de contenu ne prenne pas en charge l’application d’affichage.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

La constante DRMErrorEvent.DRM_ERROR définit la valeur de la propriété type d’un objet événement drmError.

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.
errorIDUn code d’erreur numérique correspondant au problème.
subErrorIDUn code d’erreur qui indique des informations détaillées supplémentaires sur le problème sous-jacent.
targetL’objet NetStream.

Eléments de l’API associés

drmStatus

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

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

Distribué lorsque la lecture du contenu chiffré à l’aide de la gestion des droits numériques (DRM) commence, c’est-à-dire lorsque l’utilisateur est authentifié et autorisé à lire le contenu.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

L’objet DRMStatusEvent contient des informations concernant le voucher : disponibilité du voucher hors connexion, date d’expiration du voucher, accessibilité du contenu aux utilisateurs, etc.

La constante DRMStatusEvent.DRM_STATUS définit la valeur de la propriété type d’un objet d’événement drmStatus.

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.
detailUne chaîne expliquant le contexte de l’événement status.
isAnonymousIndique si le contenu protégé avec le chiffrement DRM est disponible sans que l’utilisateur doive fournir des informations d’identification d’authentification.
isAvailableOfflineIndique si le contenu protégé avec le chiffrement DRM est disponible hors ligne.
offlineLeasePeriodLe nombre de jours qu’il reste pour afficher le contenu hors ligne.
policiesUn objet custom de l’événement DRM status.
targetL’objet NetStream.
voucherEndDateLa date absolue d’expiration du bon à laquelle le contenu ne peut plus être affiché par les utilisateurs
contentDataDRMContentData pour le contenu
voucherL’objet DRMVoucher pour le contenu.
isLocalIndique si le contenu est enregistré sur le système de fichiers local

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 ou de sortie entraînant l’échec d’une opération réseau.

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.

mediaTypeData

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

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

Distribué lors de la lecture de contenu vidéo et du traitement de certains types de messages.

Un NetDataEvent est distribué pour les messages suivants :

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (pour le code NetStream.Play.Complete)
  • onTextData
  • onXMPData

Remarque : cet événement n’est pas distribué par le contenu qui s’exécute dans Flash Player dans le navigateur sur Android ou le système d’exploitation de la tablette Blackberry ou par le contenu s’exécutant dans AIR sur iOS.

netStatus

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

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

Distribué lorsqu’un objet NetStream publie son état ou signale une erreur. L’événement netStatus renferme une propriété info composée d’un objet d’informations contenant des informations spécifiques sur l’événement, telles que la réussite ou l’échec d’une tentative de connexion.

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

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.
infoObjet associé à des propriétés décrivant son état ou indiquant une erreur.
targetObjet NetConnection ou NetStream publiant son état.

Eléments de l’API associés

onCuePoint

Evénement  

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

Etablit un écouteur pour qu’il réponde lorsqu’un point de repère intégré est atteint pendant la lecture d’un fichier vidéo. Vous pouvez utiliser l’écouteur pour déclencher des actions dans votre code lorsque le fichier vidéo atteint un point de repère spécifique. Ceci vous permet de synchroniser d’autres actions dans votre application avec les événements de lecture vidéo. Pour plus d’informations sur les formats des fichiers vidéo pris en charge par Flash Media Server, voir www.adobe.com/go/learn_fms_fileformats_en.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

onCuePoint est en fait une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond à un événement data, soit lors de la diffusion de données multimédias avec Flash Media Server soit lors de la lecture d’un fichier FLV. Pour plus d’informations, voir la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onCuePoint comme un événement. Définissez une fonction de rappel et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Créez une sous-classe de NetStream et définissez votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

L’écouteur d’événement associé est déclenché après un appel de la méthode NetStream.play(), mais avant que la tête de lecture vidéo n’ait avancé.

Vous pouvez incorporer les types de points de repère suivants dans un fichier vidéo :

  • Un point de repère de navigation spécifie, au sein du fichier vidéo, une image-clé à laquelle correspond la propriété time du point de repère. Les points de repère de navigation sont souvent utilisés comme signets ou points d’entrée pour permettre aux utilisateurs de parcourir le fichier vidéo.
  • Un point de repère d’événement spécifie une durée. La durée peut ou non correspondre à une image-clé spécifique. Un point de repère d’événement représente généralement dans le fichier vidéo un minutage auquel il se produit un événement qui pourrait être utilisé pour déclencher d’autres événements d’application.

L’objet d’événement onCuePoint possède les propriétés suivantes :

PropriétéDescription
nameNom attribué au point de repère lors de son imbrication dans le fichier vidéo.
paramètresTableau associatif de chaînes constituées de paires nom/valeur spécifiées pour ce point de repère. Il est possible d’utiliser toute chaîne valide pour le paramètre de nom ou de valeur.
timeDurée (en secondes) jusqu’au point de repère qui survient dans le fichier vidéo au cours de la lecture.
typeType de point de repère atteint, navigation ou événement.

Vous pouvez définir des points de repère dans un fichier vidéo lorsque vous encodez initialement celui-ci ou lorsque vous importez un clip vidéo dans l’outil de création de Flash à l’aide de l’assistant d’importation vidéo.

L’événement onMetaData extrait également des informations sur les points de repère d’un fichier vidéo. Toutefois, l’événement onMetaData extrait des informations sur tous les points de repère avant le début de la lecture du fichier. L’événement onCuePoint extrait des informations sur un seul point de repère, au minutage spécifié pour ce point au cours de la lecture.

En règle générale, pour que votre code réagisse à un certain point de repère au moment où il se produit, utilisez l’événement onCuePoint pour déclencher une action dans votre code.

Vous pouvez utiliser la liste de points de repère fournie à l’événement onMetaData pour permettre à l’utilisateur de commencer à lire la vidéo à des points prédéfinis du flux vidéo. Transmettez la valeur de la propriété time du point de repère à la méthode NetStream.seek() pour lire la vidéo à partir de ce dernier.


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment charger des fichiers FLV externes, et répondre à des métadonnées et à des points de repère. Exemple fourni par ActionScriptExamples.com.
var video:Video = new Video();
addChild(video);
 
var nc:NetConnection = new NetConnection();
nc.connect(null);
 
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;

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

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

Eléments de l’API associés

onDRMContentData

Evénement  

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

Etablit un écouteur pour répondre lorsque AIR extrait les métadonnées de contenu DRM intégrées dans un fichier multimédia.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

Un objet DRMContentData contient les informations nécessaires à l’obtention du voucher requis pour lire un fichier multimédia protégé par DRM. Utilisez la classe DRMManager pour télécharger le voucher avec ces informations.

onDRMContentData est une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle correspond à un événement data lors du préchargement des données incorporées depuis un fichier multimédia local. Pour plus d’informations, voir la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onDRMContentData comme un événement. Vous devez en revanche définir une fonction de rappel unique et l’associer directement à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Vous pouvez cependant créer une sous-classe de NetStream et définir votre gestionnaire d’événements dans la sous-classe ou faire de celle-ci une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une de ses occurrences.

Eléments de l’API associés

onImageData

Evénement  

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

Etablit un écouteur pour qu’il réponde lorsque Flash Player reçoit des données d’images sous forme de tableau d’octets intégré dans un fichier multimédia en cours de lecture. Les données d’image peuvent produire du contenu JPEG, PNG ou GIF. Utilisez la méthode flash.display.Loader.loadBytes() pour charger le tableau d’octets dans un objet d’affichage.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

onImageData est en fait une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond à un événement data, soit lors de la diffusion de données multimédias avec Flash Media Server soit lors de la lecture d’un fichier FLV. Pour plus d’informations, voir la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onImageData comme un événement. Définissez une fonction de rappel unique et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Créez une sous-classe de NetStream et définissez votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

L’écouteur d’événement associé est déclenché après un appel de la méthode NetStream.play(), mais avant que la tête de lecture vidéo n’ait avancé.

L’objet d’événement onImageData contient les données d’images sous la forme d’un tableau d’octets envoyé par l’intermédiaire d’un canal de données AMF0.


Exemple  ( Comment utiliser cet exemple )

Le code de cet exemple utilise la propriété Netstream.client pour gérer les fonctions de rappel pour onTextData et onImageData. La fonction onImageDataHandler() utilise l’objet d’événement onImageData imageData pour stocker le tableau d’octets. Et la fonction onTextDataHandler() utilise l’objet d’événement onTextData textData pour stocker les morceaux de données texte (chaque morceau de données est une propriété de l’objet textData).

Vous devez remplacer l’emplacement « yourURL » de votre code par un emplacement réel conduisant vers un fichier multimédia avec métadonnées d’image ou de texte.

Vous pouvez également gérer les données de texte et d’images à l’aide d’une classe personnalisée. Voir l’article Gestion des métadonnées et des points de repères dans Flash Video pour plus d’informations et d’exemples.

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

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

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

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

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

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

            public function onImageDataHandler(imageData:Object):void {

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

    
            public function onTextDataHandler(textData:Object):void {

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

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

        }

}

Eléments de l’API associés

onMetaData

Evénement  

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

Etablit un écouteur pour qu’il réponde lorsque Flash Player reçoit une description intégrée à la vidéo en cours de lecture. Pour plus d’informations sur les formats des fichiers vidéo pris en charge par Flash Media Server, voir www.adobe.com/go/learn_fms_fileformats_en.

onMetaData est en fait une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond à un événement data, soit lors de la diffusion de données multimédias avec Flash Media Server soit lors de la lecture d’un fichier FLV. Pour plus d’informations, voir la description de la classe NetStream et de la propriété NetStream.client. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher, pour écouter ou traiter onMetaData comme un événement. Définissez une fonction de rappel unique et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Vous pouvez créer une sous-classe de NetStream et définir votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

L’utilitaire Flash Video Exporter (version 1.1 ou supérieure) intègre la durée de la vidéo, sa date de création, les débits et d’autres informations dans le fichier vidéo. Différents encodeurs vidéo intègrent différents jeux de métadonnées.

L’écouteur d’événement associé est déclenché après un appel de la méthode NetStream.play(), mais avant que la tête de lecture vidéo n’ait avancé.

Dans la plupart des cas, la valeur de durée intégrée dans les métadonnées du flux se rapproche de la durée réelle, mais n’est pas exacte. En d’autres termes, elle ne correspond pas toujours à la valeur de la propriété NetStream.time lorsque la tête de lecture est à la fin du flux vidéo.

L’objet d’événement transmis au gestionnaire d’événement onMetaData contient une propriété pour chaque élément de données.


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant indique comment charger des fichiers FLV externes, et répondre à des métadonnées et à des points de repère. Exemple fourni par ActionScriptExamples.com.
var video:Video = new Video();
addChild(video);
 
var nc:NetConnection = new NetConnection();
nc.connect(null);
 
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;

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

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

Eléments de l’API associés

onPlayStatus

Evénement  

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

Etablit un écouteur pour qu’il réponde lorsque un objet NetStream a terminé la lecture d’un flux. L’objet d’événement associé fournit des informations autres que ce renvoie l’événement netStatus. Vous pouvez utiliser cette propriété pour déclencher des actions dans votre code lorsqu’un objet NetStream est passé d’un flux continu à un autre dans une liste de lecture (ce qu’indique l’objet d’informations NetStream.Play.Switch) ou lorsque l’objet NetStream a terminé la lecture du flux continu (ce qu’indique l’objet d’informations NetStream.Play.Complete).

onPlayStaus est en fait une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond à un événement data, soit lors de la diffusion de données multimédias avec Flash Media Server soit lors de la lecture d’un fichier FLV. Pour plus d’informations, voir la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onPlayStatus comme un événement. Définissez une fonction de rappel et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Créez une sous-classe de NetStream et définissez votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

Cet événement peut renvoyer un objet d’informations doté des propriétés suivantes :

Propriété du codePropriété de niveauSignification
NetStream.Play.Switch"status"L’abonné passe d’un flux continu à un autre dans une liste de lecture.
NetStream.Play.Complete"status"La lecture est terminée.
NetStream.Play.TransitionComplete"status"L’abonné bascule vers un nouveau flux en résultat du basculement du débit du flux.

Eléments de l’API associés

onSeekPoint

Evénement  

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

Appelée de façon synchrone par appendBytes() lorsque l’analyseur d’octets détecte un point pouvant faire l’objet d’une recherche (par exemple, une image-clé vidéo). Utilisez cet événement pour construire un tableau de points de recherche. La propriété byteCount correspond à la propriété byteCount au premier octet du message analysable pour ce point de recherche, et est remise à zéro comme décrit ci-dessus. Pour effectuer une recherche, lors de l’événement NetStream.Seek.Notify, recherchez les octets qui commencent à partir d’un point pouvant faire l’objet d’une recherche et appelez appendBytes(bytes). Si l’argument bytes est un ByteArray composé d’octets qui commencent à un point pouvant faire l’objet d’une recherche, la vidéo est lue à partir de ce point de recherche.

Remarque : les appels de appendBytes() à partir de ce rappel sont ignorés.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

La propriété onSeekPoint est une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond aux données transmises à la méthode appendBytes(). Pour plus d’informations, voir la description de la classe NetStream et de la propriété NetStream.client. Vous ne pouvez pas utiliser la méthode addEventListener(), ni aucune autre méthode EventDispatcher, pour écouter ou traiter onSeekPoint comme un événement. Pour utiliser onSeekPoint, définissez une fonction de rappel et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Vous pouvez cependant créer une sous-classe de NetStream et définir votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

Eléments de l’API associés

onTextData

Evénement  

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

Etablit un écouteur pour qu’il réponde lorsque Flash Player reçoit des données texte intégrées dans un fichier multimédia en cours de lecture. Les données texte sont au format UTF-8 et peuvent contenir des informations sur le formatage basées sur la spécification Timed Text 3GP.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

onTextData est en fait une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond à un événement data, soit lors de la diffusion de données multimédias avec Flash Media Server soit lors de la lecture d’un fichier FLV. Pour plus d’informations, voir la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onTextData comme un événement. Définissez une fonction de rappel et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Créez une sous-classe de NetStream et définissez votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

L’écouteur d’événement associé est déclenché après un appel de la méthode NetStream.play(), mais avant que la tête de lecture vidéo n’ait avancé.

L’objet d’événement onTextData contient une propriété pour chaque partie de données texte.


Exemple  ( Comment utiliser cet exemple )

Le code de cet exemple utilise la propriété Netstream.client pour gérer les fonctions de rappel pour onTextData et onImageData. La fonction onImageDataHandler() utilise l’objet d’événement onImageData imageData pour stocker le tableau d’octets. Et la fonction onTextDataHandler() utilise l’objet d’événement onTextData textData pour stocker les morceaux de données texte (chaque morceau de données est une propriété de l’objet textData).

Vous devez remplacer l’emplacement « yourURL » de votre code par un emplacement réel conduisant vers un fichier multimédia avec métadonnées d’image ou de texte.

Vous pouvez également gérer les données de texte et d’images à l’aide d’une classe personnalisée. Voir l’article Gestion des métadonnées et des points de repères dans Flash Video pour plus d’informations et d’exemples.

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

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

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

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

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

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

            public function onImageDataHandler(imageData:Object):void {

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

    
            public function onTextDataHandler(textData:Object):void {

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

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

        }

}

Eléments de l’API associés

onXMPData

Evénement  

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

Définit un écouteur pour qu’il réponde lorsque Flash Player reçoit des informations spécifiques à XMP (Extensible Metadata Platform) d’Adobe, intégrées à la vidéo lue. Pour plus d’informations sur les formats des fichiers vidéo pris en charge par Flash Media Server, voir www.adobe.com/go/learn_fms_fileformats_en.

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

onXMPData est en réalité une propriété de l’objet NetStream.client. Cette propriété est répertoriée dans la section Events, car elle répond à un événement data, soit lors de la diffusion de données multimédias avec Flash Media Server soit lors de la lecture d’un fichier FLV. Pour plus d’informations, voir la description de la classe NetStream et de la propriété NetStream.client. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher, pour écouter ou traiter onMetaData comme un événement. Définissez une fonction de rappel et associez-la à l’un des objets suivants :

  • Objet auquel fait référence la propriété client d’une occurrence de NetStream.
  • Occurrence d’une sous-classe de NetStream. NetStream est une classe scellée, ce qui signifie qu’il est impossible d’ajouter des propriétés ou des méthodes à un objet NetStream à l’exécution. Vous pouvez cependant créer une sous-classe de NetStream et définir votre gestionnaire d’événement dans la sous-classe. Vous pouvez également faire de cette dernière une sous-classe dynamique et ajouter la fonction de gestionnaire d’événement à une occurrence de la sous-classe.

L’écouteur d’événement associé est déclenché après un appel de la méthode NetStream.play(), mais avant que la tête de lecture vidéo n’ait avancé.

L’objet transmis à la fonction de gestion d’événement onXMPData() a une propriété data, qui correspond à une chaîne. La chaîne est générée à partir d’un champ UUID de premier niveau (l’UUID 128 bits du champ de premier niveau est BE7ACFCB-97A9-42E8-9C71-999491E3AFAC). Ce champ UUID de premier niveau contient un document XML représenté sous forme de chaîne UTF-8 terminée par un octet nul.

Eléments de l’API associés

status

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

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

Distribué lorsque l’application tente de lire un fichier chiffré à l’aide de la gestion des droits numériques (DRM) en appelant la méthode NetStream.play(). La valeur de la propriété du code d’état est la suivante : "DRM.encryptedFLV".

Remarque : cet événement n’est pas pris en charge pour la vidéo H. 264 dans AIR 3.0 for iOS.

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

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.
codeDescription de l’état de l’objet.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
levelCatégorie du message, telle que "status", "warning" ou "error".
targetObjet publiant son état.

Eléments de l’API associés

Détails de la constante

CONNECT_TO_FMS

Constante
public static const CONNECT_TO_FMS:String = "connectToFMS"

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

Objet statique utilisé comme paramètre pour le constructeur d’une occurrence de NetStream. Il s’agit de la valeur par défaut du second paramètre du constructeur NetStream ; il n’est pas utilisé par l’application pour la lecture progressive. Lorsqu’il est utilisé, ce paramètre oblige le constructeur à se connecter à une occurrence de Flash Media Server.

DIRECT_CONNECTIONS

Constante 
public static const DIRECT_CONNECTIONS:String = "directConnections"

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

Crée une connexion d’éditeur homologue à homologue. Transmet cette chaîne pour le deuxième paramètre (facultatif) au constructeur d’une occurrence de NetStream. Avec cette chaîne, une application peut créer une connexion NetStream dans le but de publier du contenu audio et vidéo vers des clients.

NetConnectionExample.as

L’exemple suivant utilise un objet Video avec les classes NetConnection et NetStream pour charger et lire un fichier FLV.

Dans cet exemple, le code qui crée les objets Video et NetStream et appelle les méthodes Video.attachNetStream() et NetStream.play() est placé dans une fonction de gestionnaire. Le gestionnaire n’est appelé que si la tentative de connexion à l’objet NetConnection a réussi ; c’est-à-dire lorsque l’événement netStatus renvoie un objet info avec une propriété code qui indique la réussite de l’opération. Il est recommandé d’attendre l’établissement d’une connexion avant d’appeler la méthode NetStream.play().

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

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

        public function NetConnectionExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Stream not found: " + videoURL);
                    break;
            }
        }

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

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

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

Vous pouvez obtenir des métadonnées à l'aide d'une fonction, au lieu de créer une classe personnalisée. Fournie par Bill Sanders, la suggestion suivante indique la méthode de modification du code NetConnectionExample ci-dessus pour appeler des métadonnées dans une fonction. Dans ce cas, l'objet mdata permet de configurer la largeur et la hauteur d'une instance vidéo video :
  //Place the following in the connectStream() function
  //in the NetConnectionExample code
  var metaSniffer:Object=new Object();  
  stream.client=metaSniffer; //stream is the NetStream instance  
  metaSniffer.onMetaData=getMeta;  
      
   
  // Add the following function within the NetConnectionExample class  
  private function getMeta (mdata:Object):void  
  {  
     video.width=mdata.width/2;  
     video.height=mdata.height/2;  
  }  




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