Naslaggids voor Adobe ActionScript® 3.0 voor het Adobe® Flash®-platform
Startpagina  |  Lijst met pakketten en klassen verbergen |  Pakketten  |  Klassen  |  Nieuw  |  Index  |  Bijlagen  |  Waarom in het Engels?
Filters: AIR 30.0 en eerder, Flash Player 30.0 en eerder, Flash Lite 4
Flex 4.6 en eerder, Flash Pro CS6 en eerder
Filters verbergen
flash.net 

NetStream  - AS3

Pakkettenx

Hoofdniveau
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

Taalelementen

Algemene constanten
Algemene functies
Operatoren
Programmeerinstructies, gereserveerde woorden en compileraanwijzingen
Speciale typen

Bijlagen

Nieuw
Compilerfouten
Compilerwaarschuwingen
Uitvoeringsfouten
Migreren naar ActionScript 3
Ondersteunde tekensets
Alleen MXML-labels
Elementen van bewegings-XML
Timed Text-tags
Lijst van vervangen elementen
Constanten voor toegankelijkheidsimplementatie
ActionScript-voorbeelden gebruiken
Juridische kennisgeving
Pakketflash.net
Klassepublic class NetStream
OverervingNetStream Inheritance EventDispatcher Inheritance Object

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

De NetStream-klasse opent een eenrichtingsstreamingkanaal via een NetConnection.

U kunt de klasse NetStream voor de volgende doeleinden gebruiken:

  • NetStream.play() aanroepen om een mediabestand vanaf een lokale schijf, webserver of Flash Media Server af te spelen.
  • NetStream.publish() aanroepen om een video-, audio- of gegevensstream naar Flash Media Server te publiceren.
  • NetStream.send() aanroepen om gegevensberichten naar alle geabonneerde clients te verzenden.
  • NetStream.send() aanroepen om metagegevens aan een live stream toe te voegen.
  • NetStream.appendBytes aanroepen om ByteArray-gegevens in de NetStream door te geven.

Opmerking: het is niet mogelijk om een stream via hetzelfde object NetStream af te spelen en te publiceren.

Adobe AIR en Flash Player 9.0.115.0 en hoger ondersteunen bestanden die zijn afgeleid van de standaard-MPEG-4-containerindeling. Dit zijn bestanden met indelingen als F4V, MP4, M4A, MOV, MP4V, 3GP en 3G2, op voorwaarde dat deze H.264-video, met HE-AAC v2 gecodeerde audio, of allebei bevatten. H.264 levert video van betere kwaliteit bij lagere bitsnelheden ten opzichte van hetzelfde coderingsprofiel in Sorenson of On2. AAC is een standaardaudio-indeling die is gedefinieerd in de MPEG-4-videonorm. HE-AAC v2 is een uitbreiding van AAC en gebruikt technieken als SBR (Spectral Band Replication) en PS (Parametric Stereo) om de codering en bitsnelheden te optimaliseren.

Raadpleeg de volgende bronnen voor informatie over ondersteunde codecs en bestandsindelingen:

Gegevens ontvangen van een Flash Media Server-stream, een progressief F4V-bestand of een progressief FLV-bestand

Flash Media Server, F4V-bestanden en FLV-bestanden kunnen tijdens het streamen of afspelen op specifieke gegevenspunten gebeurtenisobjecten met gegevens versturen. U kunt gegevens uit een stream of FLV-bestand tijdens afspelen op twee manieren afhandelen:

  • Koppel een client-eigenschap aan een gebeurtenishandler om het gegevensobject te ontvangen. Gebruik de eigenschap NetStream.client om een object toe te wijzen om specifieke functies voor gegevensafhandeling aan te roepen. Het object dat is toegewezen aan de eigenschap NetStream.client, kan luisteren of de volgende gegevenspunten aanwezigen zijn: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() en onXMPData(). Schrijf procedures binnen deze functies om het gegevensobject te verwerken dat tijdens het afspelen uit de stream is geretourneerd. Zie de eigenschap NetStream.client voor meer informatie.
  • Koppel een client-eigenschap aan een subklasse van de klasse NetStream en schrijf een gebeurtenishandler om het gegevensobject te ontvangen. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. U kunt echter een subklasse van NetStream maken en uw gebeurtenishandler in de subklasse definiëren. U kunt de subklasse ook dynamisch maken en de gebeurtenishandler toevoegen aan een instantie van de subklasse.

Wacht op de ontvangst van een NetGroup.Neighbor.Connect-gebeurtenis voordat u de API's voor objectreplicatie, gestuurde routering of posting gebruikt.

Opmerking: Als u gegevens wilt verzenden via een audiobestand, bijvoorbeeld een MP3-bestand, gebruikt u de klasse Sound om het audiobestand aan een Sound-object te koppelen. Gebruik vervolgens de eigenschap Sound.id3 om metagegevens uit het geluidsbestand te lezen.

Ondersteuning voor met H.264 gecodeerde video in AIR for iOS

Voor H.264-video ondersteunt AIR 3.0 for iOS (en later) een subset van de volledige NetStream-API. In de volgende tabel ziet u NetStream-leden voor afspelen die niet worden ondersteund in AIR for iOS:

Niet-ondersteunde eigenschappenNiet-ondersteunde methodenNiet-ondersteunde gebeurtenissen
bufferTimeappendBytes()onCuePoint (werkt alleen met FLV-bestanden)
bufferLengthappendBytesAction()onImageData
backBufferTimestap()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayDRM.encryptedFLV-statusgebeurteniscode
maxPauseBufferTime
soundTransform
Alle eigenschappen beschrijven RTMFP-verbindingen

Zie de methode NetStream.play() voor meer informatie over het gebruik van AIR for iOS.

Bekijk de voorbeelden

Verwante API-elementen



Openbare eigenschappen
 EigenschapGedefinieerd door
  audioReliable : Boolean
Voor RTMFP-verbindingen, geeft aan of audio met volledige betrouwbaarheid is verzonden.
NetStream
  audioSampleAccess : Boolean
Voor RTMFP-verbindingen, geeft aan of peer-to-peerabonnees van deze NetStream de audiostream mogen vastleggen.
NetStream
  backBufferLength : Number
[alleen-lezen] Het aantal seconden van eerder weergegeven gegevens dat op dit moment wordt opgeslagen in cache voor terugspoelen en opnieuw afspelen.
NetStream
  backBufferTime : Number
Geeft aan hoeveel eerder weergegeven gegevens Flash Player probeert op te slaan voor terugspoelen en opnieuw afspelen, in seconden.
NetStream
  bufferLength : Number
[alleen-lezen] Het aantal seconden aan gegevens dat momenteel in de buffer staat.
NetStream
  bufferTime : Number
Geeft aan hoelang berichten worden gebufferd voordat de stream wordt afgespeeld.
NetStream
  bufferTimeMax : Number
Geeft de maximale bufferlengte aan voor live streamingcontent, in seconden.
NetStream
  bytesLoaded : uint
[alleen-lezen] Het aantal bytes aan gegevens dat in de toepassing is geladen.
NetStream
  bytesTotal : uint
[alleen-lezen] De totale grootte in bytes van het bestand dat in de toepassing wordt geladen.
NetStream
  checkPolicyFile : Boolean
Geeft aan of de toepassing een bestand met interdomeinbeleid moet downloaden van de server van het videobestand voordat het videobestand wordt geladen.
NetStream
  client : Object
Hiermee wordt het object aangegeven waarvoor callback-methoden worden geactiveerd om streaming of F4V/FLV-bestandsgegevens te verwerken.
NetStream
 Inheritedconstructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie.
Object
  currentFPS : Number
[alleen-lezen] Het aantal frames dat per seconde wordt weergegeven.
NetStream
  dataReliable : Boolean
Bij RTMFP-verbindingen wordt hiermee aangegeven of NetStream.send()-aanroepen met volledige betrouwbaarheid worden verzonden.
NetStream
  farID : String
[alleen-lezen] Voor RTMFP-verbindingen, de ID aan het uiteinde die is verbonden aan deze instantie van NetStream.
NetStream
  farNonce : String
[alleen-lezen] Voor RTMFP- en RTMPE-verbindingen, een waarde die aanzienlijk is gekozen door het andere uiteinde van deze stream en uniek voor deze verbinding.
NetStream
  inBufferSeek : Boolean
Geeft op of de weergegeven gegevens in cache worden geplaatst voor slim zoeken (TRUE) of niet (FALSE).
NetStream
  info : NetStreamInfo
[alleen-lezen] Retourneert een object NetStreamInfo waarvan de eigenschappen statistische gegevens bevatten over de kwaliteit van service.
NetStream
  liveDelay : Number
[alleen-lezen] Het aantal seconden aan gegevens in de buffer van de bijbehorende stream in live (niet-gebufferde) modus.
NetStream
  maxPauseBufferTime : Number
Hiermee geeft u op hoe lang berichten tijdens de pauzemodus in de buffer bewaard moeten blijven, in seconden.
NetStream
  multicastAvailabilitySendToAll : Boolean
Voor RTMFP-verbindingen, geeft aan of peer-to-peermulticastfragmentbeschikbaarheidsberichten naar alle peers of naar één peer worden verzonden.
NetStream
  multicastAvailabilityUpdatePeriod : Number
Voor RTMFP-verbindingen, geeft de interval in seconden weer tussen berichten die naar peers worden gestuurd om hen te laten weten, dat er op het lokale knooppunt nieuwe peer-to-peermulticastmediafragmenten beschikbaar zijn.
NetStream
  multicastFetchPeriod : Number
Geeft voor RTMFP-verbindingen de tijd in seconden aan tussen het moment dat het lokale knooppunt voor het eerst te weten komt dat er een peer-to-peermulticastmediafragment beschikbaar is, en het moment dat het lokale knooppunt dit van een peer probeert op te halen.
NetStream
  multicastInfo : NetStreamMulticastInfo
[alleen-lezen] Voor RTMFP-verbindingen, geeft een NetStreamMulticastInfo-object weer, waarvan de eigenschappen statistieken bevatten over de kwaliteit van de service.
NetStream
  multicastPushNeighborLimit : Number
Voor RTMFP-verbindingen, geeft het maximumaantal peers aan, dat proactief multicastmedia presenteert.
NetStream
  multicastRelayMarginDuration : Number
Voor RTMFP-verbindingen, geeft in seconden aan, hoelang peer-to-peermulticastgegevens beschikbaar blijven om naar peers te verzenden die dit na een opgegeven tijdsduur aanvragen.
NetStream
  multicastWindowDuration : Number
Voor RTMFP-verbindingen, geeft in seconden de duur van het peer-to-peermulticastsamenstellingsvenster aan.
NetStream
  nearNonce : String
[alleen-lezen] Voor RTMFP- en RTMPE-verbindingen, een waarde die aanzienlijk is gekozen door het andere uiteinde van de stream en uniek voor deze verbinding.
NetStream
  objectEncoding : uint
[alleen-lezen] De objectcodering (AMF-versie) voor dit object NetStream.
NetStream
  peerStreams : Array
[alleen-lezen] Een object dat alle geabonneerde NetStream-instanties bevat die meeluisteren naar deze instantie van NetStream met publicatie.
NetStream
  soundTransform : flash.media:SoundTransform
Beheert geluid in dit object NetStream.
NetStream
  time : Number
[alleen-lezen] De positie van de afspeelkop in seconden.
NetStream
  useHardwareDecoder : Boolean
Geeft aan of met hardware versnelde decodering moet worden gebruikt voor de stream.
NetStream
  useJitterBuffer : Boolean
Minimaliseer de vertraging voor live, niet-gebufferde streaming (bufferTime = 0).
NetStream
  videoReliable : Boolean
Voor RTMFP-verbindingen, geeft aan of video met volledige betrouwbaarheid is verzonden.
NetStream
  videoSampleAccess : Boolean
Voor RTMFP-verbindingen, geeft aan of peer-to-peerabonnees van deze NetStream de videostream mogen vastleggen.
NetStream
  videoStreamSettings : VideoStreamSettings
Eigenschappen voor streamcompressie opgeven.
NetStream
Openbare methoden
 MethodeGedefinieerd door
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Maakt een stream die u kunt gebruiken voor het afspelen van mediabestanden en voor het verzenden van gegevens via een object NetConnection.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt.
EventDispatcher
  
Geeft een ByteArray in een NetStream door om te worden uitgespeeld.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Geeft een discontinuïteit van de tijdschaal aan, maakt de FIFO leeg en kondigt een bestandsheader of het begin van een FLV-tag aan bij de byteparser.
NetStream
  
Koppelt een stream aan een nieuw NetConnection-object.
NetStream
  
Koppelt een audiostream aan een NetStream-object vanuit een Microphone-object dat als de bron is doorgegeven.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Hiermee wordt het vastleggen van video via een camera gestart, of wordt het vastleggen gestopt wanneer theCamera op null is ingesteld.
NetStream
  
Stopt het afspelen van alle gegevens van de stream, stelt de eigenschap time in op 0 en maakt de stream beschikbaar voor alternatief gebruik.
NetStream
 Inherited
Verzendt een gebeurtenis naar de gebeurtenisstroom.
EventDispatcher
  
Geeft alle bronnen vrij die worden vastgehouden door het NetStream-object.
NetStream
 Inherited
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis.
EventDispatcher
 Inherited
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd.
Object
 Inherited
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven.
Object
  
Wordt geactiveerd wanneer een stream met publicatie naar gelijkwaardige items overeenkomt met een stream met abonnement op gelijkwaardige items.
NetStream
  
Pauzeert het afspelen van een videostream.
NetStream
  
play(... arguments):void
Speelt het mediabestand af vanuit een lokale directory of vanaf een webserver; speelt een mediabestand of een live stream van Flash Media Server af.
NetStream
  
Schakelt naadloos tussen bestanden met meerdere bitratio's en staat een NetStream toe om te hervatten wanneer een verbinding wordt geannuleerd en opnieuw wordt aangesloten.
NetStream
  
Hiermee worden DRM-metagegevens uit een lokaal opgeslagen mediabestand opgehaald.
NetStream
 Inherited
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd.
Object
  
publish(name:String = null, type:String = null):void
Verzendt streaming audio, video en gegevensberichten van een client naar Flash Media Server. De stream kan optioneel tijdens het verzenden worden opgenomen.
NetStream
  
Geeft op of binnenkomende audio op de stream wordt afgespeeld.
NetStream
  
Hiermee wordt opgegeven of binnenkomende video op de stream wordt afgespeeld.
NetStream
  
Bepaalt de framesnelheid voor inkomende video.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Verwijdert een listener uit het object EventDispatcher.
EventDispatcher
  
[statisch] In AIR-toepassingen worden hiermee alle lokaal in de cache geplaatste vouchergegevens voor Digital Rights Management (DRM) verwijderd.
NetStream
  
Hervat het afspelen van een gepauzeerde videostream.
NetStream
  
seek(offset:Number):void
Zoekt het hoofdframe (ook wel I-frame genoemd) dat zich het dichtst bij de opgegeven locatie bevindt.
NetStream
  
send(handlerName:String, ... arguments):void
Hiermee wordt een bericht over de gepubliceerde stream naar alle geabonneerde clients verzonden.
NetStream
  
Stelt de DRM-verificatiereferenties in die nodig zijn om de onderliggende gecodeerde inhoud weer te geven.
NetStream
 Inherited
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in.
Object
  
step(frames:int):void
Gaat het opgegeven aantal frames vooruit of achteruit, afhankelijk van het frame dat op dat moment wordt weergegeven.
NetStream
  
Pauzeert of hervat het afspelen van een stream.
NetStream
 Inherited
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies.
Object
 Inherited
Retourneert een tekenreeksrepresentatie van het opgegeven object.
Object
 Inherited
Retourneert de primitieve waarde van het opgegeven object.
Object
 Inherited
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis.
EventDispatcher
Gebeurtenissen
 Gebeurtenis Overzicht Gedefinieerd door
 Inherited[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt.EventDispatcher
  Wordt verzonden wanneer een uitzondering asynchroon — wordt gegenereerd, dat wil zeggen, vanuit native asynchrone code.NetStream
 Inherited[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt.EventDispatcher
  Wordt verzonden wanneer een NetStream-object met DRM-gecodeerde inhoud (digital rights management) probeert af te spelen waarvoor ter verificatie gebruikersreferenties nodig zijn.NetStream
  Wordt verzonden wanneer een NetStream-object, dat een met DRM (Digital Rights Management) gecodeerd bestand probeert af te spelen, een DRM-fout detecteert.NetStream
  Wordt verzonden wanneer de met DRM (digital rights management) gecodeerde inhoud wordt afgespeeld (nadat de gebruiker is geverifieerd en is gemachtigd om de inhoud af te spelen).NetStream
  Wordt verzonden wanneer een invoer- of uitvoerfout optreedt die ertoe leidt dat een netwerkbewerking mislukt.NetStream
  Verzonden wanneer de video-inhoud wordt afgespeeld en bepaalde type berichten worden verwerkt.NetStream
  Wordt verzonden wanneer een object NetStream de eigen status of fout meldt.NetStream
  Hiermee stelt u een listener in die antwoordt wanneer tijdens het afspelen van een videobestand een ingesloten actiepunt is bereikt.NetStream
  Hiermee wordt een listener ingesteld die antwoordt wanneer AIR metagegevens ophaalt uit DRM-inhoud die is ingesloten in een mediabestand.NetStream
  Hiermee wordt een listener ingesteld die antwoordt wanneer Flash Player afbeeldingsgegevens ontvangt als een bytearray die is ingesloten in een mediabestand dat wordt afgespeeld.NetStream
  Hiermee wordt een listener ingesteld die antwoordt wanneer Flash Player beschrijvende informatie ontvangt die is ingesloten in de video die wordt afgespeeld.NetStream
  Hiermee wordt een listener ingesteld die moet antwoorden wanneer een NetStream-object een stream volledig heeft afgespeeld.NetStream
  Wordt synchroon aangeroepen vanuit appendBytes() wanneer de parser voor het toevoegen van bytes een punt tegenkomt en denkt dat dit punt doorzoekbaar is (bijvoorbeeld een videohoofdframe).NetStream
  Hiermee wordt een listener ingesteld die antwoordt wanneer Flash Player tekstgegevens ontvangt die zijn ingesloten in een mediabestand dat wordt afgespeeld.NetStream
  Hiermee wordt een listener tot stand gebracht die reageert wanneer Flash Player gegevens ontvangt met betrekking tot het Adobe Extensible Metadata Platform (XMP) dat is ingesloten in de video die wordt afgespeeld.NetStream
  Wordt verzonden wanneer de toepassing inhoud die is gecodeerd met DRM (Digital Rights Management) probeert af te spelen door de methode NetStream.play() te activeren.NetStream
Openbare constanten
 ConstanteGedefinieerd door
  CONNECT_TO_FMS : String = "connectToFMS"
[statisch] Een statisch object dat wordt gebruikt als parameter voor de constructor voor een instantie van NetStream.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[statisch] Maakt een gelijkwaarde pubicatieverbinding.
NetStream
Eigenschapdetails

audioReliable

eigenschap
audioReliable:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft aan of audio met volledige betrouwbaarheid is verzonden. Bij de waarde TRUE is alle audio die over deze NetStream wordt verzonden volledig betrouwbaar. Bij de waarde FALSE is de verzonden audio niet volledig betrouwbaar. De audiostream wordt tijdelijk opnieuw verzonden en dan gestopt. Met de waarde FALSE kunt u de latentie verkleinen, maar dit gaat ten koste van de audiokwaliteit.

Als u probeert om deze eigenschap in te stellen op FALSE voor een netwerkprotocol dat geen gedeeltelijke betrouwbaarheid ondersteunt, wordt de poging genegeerd en de eigenschap op TRUE ingesteld.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get audioReliable():Boolean
    public function set audioReliable(value:Boolean):void

Verwante API-elementen

audioSampleAccess

eigenschap 
audioSampleAccess:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft aan of peer-to-peerabonnees van deze NetStream de audiostream mogen vastleggen. Bij de waarde FALSE worden machtigingsfouten weergegeven als de abonnee de audiostream wil opnemen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get audioSampleAccess():Boolean
    public function set audioSampleAccess(value:Boolean):void

Verwante API-elementen

backBufferLength

eigenschap 
backBufferLength:Number  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Het aantal seconden van eerder weergegeven gegevens dat op dit moment wordt opgeslagen in cache voor terugspoelen en opnieuw afspelen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Deze eigenschap is alleen beschikbaar wanneer er gegevens worden gestreamd vanaf Flash Media Server 3.5.3 of hoger. Zie de klassenbeschrijving voor meer informatie over Flash Media Server.

Als u wilt opgeven hoeveel gegevens die voorheen zijn weergegeven zich in het cachegeheugen bevinden, gebruikt u de eigenschap Netstream.backBufferTime.

Om te voorkomen dat gegevens in cache worden opgeslagen, stelt u de eigenschap Netstream.inBufferSeek in op FALSE.



Implementatie
    public function get backBufferLength():Number

Verwante API-elementen

backBufferTime

eigenschap 
backBufferTime:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Geeft aan hoeveel eerder weergegeven gegevens Flash Player probeert op te slaan voor terugspoelen en opnieuw afspelen, in seconden. De standaardwaarde is 30 seconden voor bureaubladtoepassingen en 3 seconden voor mobiele toepassingen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Deze eigenschap is alleen beschikbaar wanneer er gegevens worden gestreamd vanaf Flash Media Server versie 3.5.3 of hoger. Zie de klassenbeschrijving voor meer informatie over Flash Media Server.

Met deze eigenschap worden de terugspoelbewerkingen beter uitgevoerd, omdat gegevens die al zijn weergegeven niet nogmaals worden opgehaald van de server. In plaats hiervan begint de stream met het opnieuw afspelen vanuit de buffer. Tijdens het afspelen, worden de gegevens via streaming van de server opgehaald tot de buffer vol is.

Als de terugspoelpositie verder terug is dan de gegevens in het cachegeheugen, wordt de inhoud van de buffer verwijderd, waarna de gegevens via streaming van de server worden opgehaald tot de opgevraagde positie is bereikt.

Gebruik deze eigenschap om de Netstream.inBufferSeek-eigenschap op TRUE in te stellen.



Implementatie
    public function get backBufferTime():Number
    public function set backBufferTime(value:Number):void

Verwante API-elementen

bufferLength

eigenschap 
bufferLength:Number  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Het aantal seconden aan gegevens dat momenteel in de buffer staat. U kunt deze eigenschap gebruiken in combinatie met de eigenschap bufferTime om te bepalen hoe vol de buffer is, bijvoorbeeld om feedback weer te geven voor een gebruiker die wacht tot gegevens in de buffer zijn geladen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get bufferLength():Number

Verwante API-elementen

bufferTime

eigenschap 
bufferTime:Number

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Geeft aan hoelang berichten worden gebufferd voordat de stream wordt afgespeeld.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

De standaardwaarde is 0,1 (een tiende van een seconde). Gebruik de eigenschap bufferLength om te bepalen hoeveel seconden zich momenteel in de buffer bevinden.

Als u een afspeellijst die zich bevindt op een server, wilt afspelen stelt u bufferTime in op ten minste 1 seconde. Stel bufferTime in op een hogere waarde als u problemen ondervindt bij het afspelen.

Opgenomen content Om vervorming te voorkomen bij het streamen van vooraf opgenomen (geen live) content, moet u de waarde voor Netstream.bufferTime niet op 0 instellen. De toepassing maakt standaard gebruik van een invoerbuffer voor vooraf opgenomen inhoud, waardoor de mediagegevens in de wachtrij worden geplaatst en de media op de juiste wijze worden afgespeeld. Maak bij vooraf opgenomen inhoud gebruik van de standaardinstelling of vergroot de buffertijd.

Live content Wanneer u live content streamt, wordt de bufferTime-eigenschap op 0 ingesteld.

Vanaf Flash Player 9.0.115.0 wordt de buffer niet meer gewist wanneer NetStream.pause() wordt aangeroepen. Vóór Flash Player 9.0.115.0 wachtte Flash Player tot de buffer vol was alvorens het afspelen voort te zetten. Dit veroorzaakte dikwijls enige vertraging.

Voor een enkele pauze, had de eigenschap NetStream.bufferLength een beperking van oftewel 60 seconden of tweemaal de waarde van NetStream.bufferTime, afhankelijk van welke waarde hoger was. Als bufferTime bijvoorbeeld is ingesteld op 20 seconden, blijft Flash Player de buffer vullen totdat NetStream.bufferLength de waarde heeft van 20*2 (40) of 60 (de hoogste waarde wordt gebruikt). In dit geval wordt de buffer gevuld totdat bufferLength 60 is. Als bufferTime is ingesteld op 40 seconden, blijft Flash Player de buffer vullen totdat bufferLength de waarde heeft van 40*2 (80) of 60 (de hoogste waarde wordt gebruikt). In dit geval wordt de buffer gevuld tot bufferLength 80 seconden is.

De eigenschap bufferLength heeft ook een absolute limiet. Als een aanroep naar pause() tot gevolg heeft dat bufferLength meer dan 600 seconden is of de waarde krijgt van bufferTime * 2 - welke waarde hoger is -, maakt Flash Player de buffer leeg en wordt bufferLength weer ingesteld op 0. Als bufferTime bijvoorbeeld 120 seconden is, maakt Flash Player de buffer leeg als bufferLength 600 seconden heeft bereikt. als bufferTime 360 seconden is, maakt Flash Player de buffer leeg als bufferLength 720 heeft bereikt.

Tip: U kunt NetStream.pause() in code gebruiken om gegevens in de buffer op te slaan terwijl kijkers bijvoorbeeld naar reclame kijken, en de onderbreking weer opheffen wanneer de hoofdvideo start.

Zie http://www.adobe.com/go/learn_fms_smartpause_nl voor meer informatie over het invoegen van een pauze.

Flash Media Server. Het buffergedrag wordt bepaald aan de hand van het feit of de buffertijd op een publicatiestream of op een abonnementstream is ingesteld. In het geval van een publicatiestream geeft bufferTime op hoe lang de uitgaande buffer kan toenemen voordat de toepassing frames verwijdert. Bij een snelle verbinding zou de buffertijd geen probleem moeten zijn, aangezien gegevens bijna net zo snel worden verzonden als de toepassing ze kan bufferen. Bij een langzame verbinding kan er echter een aanzienlijk verschil zitten tussen de snelheid waarmee de toepassing de gegevens buffert en de snelheid waarmee deze naar de client worden verzonden.

In het geval van een abonnementstream geeft bufferTime op hoe lang binnenkomende gegevens moeten worden gebufferd voordat de stream wordt weergegeven.

Wanneer een opgenomen stream wordt afgespeeld en bufferTime nul is, wordt deze op een klein getal ingesteld (ongeveer 10 milliseconden). Wanneer live streams later worden afgespeeld (bijvoorbeeld via een afspeellijst), is deze buffertijd blijvend. Met andere woorden, bufferTime blijft voor de stream niet gelijk aan nul.



Implementatie
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Verwante API-elementen

bufferTimeMax

eigenschap 
bufferTimeMax:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Geeft de maximale bufferlengte aan voor live streamingcontent, in seconden. De standaardwaarde is 0. Bufferlengte kan met de tijd toenemen als gevolg van netwerk- en apparaatproblemen (zoals klokverloop tussen zender en ontvanger). Stel deze eigenschap in om een maximum in te stellen voor de bufferlengte voor livetoepassingen zoals vergaderingen en surveillance.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Wanneer bufferTimeMax > 0 en bufferLength >= bufferTimeMax, wordt de audio sneller afgespeeld totdat bufferLength bufferTime bereikt. Als een livestream alleen-video is, speelt de video sneller tot de bufferLength bufferTime bereikt.

Afhankelijk van hoeveel het afspelen is vertraagt (het verschil tussen bufferLength en bufferTime), bepaalt Flash Player de inhalingssnelheid tussen 1,5% en 6,25%. Als de stream audio bevat, wordt sneller afspelen bereikt door het downsamplen van het frequentiedomein, waardoor de hoorbare storing wordt geminimaliseerd.

Stel de eigenschap bufferTimeMax in om het bijwerken van de gebufferde livestream in te schakelen in de volgende gevallen:

  • Livemedia streamen van Flash Media Server.
  • Livemedia streamen in de modus voor gegevensgeneratie (NetStream.appendBytes()).



Implementatie
    public function get bufferTimeMax():Number
    public function set bufferTimeMax(value:Number):void

Verwante API-elementen

bytesLoaded

eigenschap 
bytesLoaded:uint  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Het aantal bytes aan gegevens dat in de toepassing is geladen. U kunt deze eigenschap gebruiken in combinatie met de eigenschap bytesTotal om te bepalen hoe vol de buffer is, bijvoorbeeld om feedback weer te geven voor een gebruiker die wacht tot gegevens in de buffer zijn geladen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get bytesLoaded():uint

Verwante API-elementen

bytesTotal

eigenschap 
bytesTotal:uint  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

De totale grootte in bytes van het bestand dat in de toepassing wordt geladen.



Implementatie
    public function get bytesTotal():uint

Verwante API-elementen

checkPolicyFile

eigenschap 
checkPolicyFile:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9

Geeft aan of de toepassing een bestand met interdomeinbeleid moet downloaden van de server van het videobestand voordat het videobestand wordt geladen. Gebruik deze eigenschap voor het progressief downloaden van video's en voor het laden van bestanden die zich buiten het eigen domein van het aanroepende SWF-bestand bevinden. Deze eigenschap wordt genegeerd wanneer u RTMP gebruikt.

Stel deze eigenschap in op true om BitmapData.draw() aan te roepen voor een videobestand dat wordt geladen vanuit een domein dat zich buiten het domein van het aanroepende SWF-bestand bevindt. De methode BitmapData.draw() biedt op pixelniveau toegang tot de video. Wanneer u bij het laden BitmapData.draw() aanroept zonder de eigenschap checkPolicyFile in te stellen op true, kan de uitzondering SecurityError worden gegenereerd omdat het vereiste beleidsbestand niet is gedownload.

Stel deze eigenschap alleen in op true als u op pixelniveau toegang tot de video wilt. Controleren of er een beleidsbestand aanwezig is, kost netwerkbandbreedte en kan het starten van het downloaden vertragen.

Wanneer u de methode NetStream.play() aanroept terwijl checkPolicyFile is ingesteld op true, moet Flash Player of de AIR-runtime voordat het downloaden begint een relevant bestand met interdomeinbeleid hebben gedownload of hebben vastgesteld dat een dergelijk beleidsbestand niet bestaat. Flash Player of de AIR-runtime voert de volgende handelingen uit, in de aangegeven volgorde, om te bepalen of een beleidsbestand bestaat:

  1. De toepassing controleert of al beleidsbestanden zijn gedownload.
  2. De toepassing probeert eventuele in behandeling zijnde beleidsbestanden te downloaden die zijn opgegeven in aanroepen van Security.loadPolicyFile().
  3. De toepassing probeert een beleidsbestand te downloaden van de standaardlocatie die overeenkomt met de URL die u hebt doorgegeven aan NetStream.play(), hetgeen overeenkomt met /crossdomain.xml op dezelfde server als die URL.

In alle gevallen vereist Flash Player of Adobe AIR dat een geschikt beleidsbestand aanwezig is op de server met de video, dat dit op basis van de locatie van het beleidsbestand toegang biedt tot het object op de URL die u hebt doorgegeven aan play() en dat het aan het domein van het aanroepende bestand toegang biedt tot de video op basis van een of meer <allow-access-from>-tags.

Wanneer u checkPolicyFile instelt op true, wacht de toepassing totdat het beleidsbestand gecontroleerd is voordat de video wordt gedownload. Wacht met het uitvoeren van bewerkingen op pixelniveau op de videogegevens, zoals het aanroepen van BitmapData.draw(), totdat u gebeurtenissen onMetaData of NetStatus van het object NetStream ontvangt.

Wanneer u checkPolicyFile op true instelt, maar geen geschikt beleidsbestand wordt gevonden, wordt pas een foutbericht weergegeven wanneer u een bewerking uitvoert waarvoor een beleidsbestand is vereist, waarna de toepassing een SecurityError-uitzondering genereert.

Ga zorgvuldig met checkPolicyFile om wanneer u een bestand downloadt van een URL die HTTP-serveromleidingen gebruikt. De toepassing probeert beleidsbestanden op te halen die overeenkomen met de eerste URL die u in NetStream.play() opgeeft. Wanneer het laatste videobestand van een andere URL afkomstig is vanwege HTTP-omleidingen, zijn de oorspronkelijk gedownloade beleidsbestanden mogelijk niet van toepassing op de laatste URL van het bestand. Dit is de URL die van belang is in beveiligingskwesties.

Zie "Website-bediening (beleidsbestanden)" in de Adobe ActionScript 3.0-ontwikkelaarsgids en het Flash Player Developer Center-onderwerp:Security voor meer informatie.



Implementatie
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Verwante API-elementen

client

eigenschap 
client:Object

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Hiermee wordt het object aangegeven waarvoor callback-methoden worden geactiveerd om streaming of F4V/FLV-bestandsgegevens te verwerken. Het standaardobject is this, het object NetStream dat wordt gemaakt. Wanneer u de eigenschap client op een ander object instelt, worden callbackmethoden voor dat object aangeroepen. Het object NetStream.clientkan de volgende functies aanroepen en een gekoppeld gegevensobject ontvangen: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() en onXMPData().

Ga als volgt te werk om de eigenschap client aan een gebeurtenishandler te koppelen:

  1. Maak een object en ken dit toe aan de eigenschap client van het NetStream-object:
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Ken een afhandelingsfunctie voor de gewenste gegevensgebeurtenis toe als een eigenschap van het client-object:
         customClient.onImageData = onImageDataHandler;
         
  3. Schrijf de afhandelingsfunctie om het gegevensgebeurtenisobject te ontvangen, zoals:
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

Wanneer gegevens via de stream of tijdens het afspelen worden doorgegeven, wordt het gegevensgebeurtenisobject (in dit geval het imageData-object) met de gegevens gevuld. Zie de beschrijving van onImageData. Hier vindt u een volledig voorbeeld van een object dat is toegewezen aan de eigenschap client.

Ga als volgt te werk om de eigenschap client aan een subklasse te koppelen:

  1. Maak een subklasse met een afhandelingsfunctie om het gegevensgebeurtenisobject te ontvangen:
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Ken een instantie van de subklasse toe aan de eigenschap client van het NetStream-object:
         my_netstream.client = new CustomClient();
         

Wanneer gegevens via de stream of tijdens het afspelen worden doorgegeven, wordt het gegevensgebeurtenisobject (in dit geval het info-object) met de gegevens gevuld. Zie het voorbeeld van de klasse onder aan de klasse NetStream, waarin de toewijzing van een subklasse-instantie aan de eigenschap client wordt geïllustreerd.



Implementatie
    public function get client():Object
    public function set client(value:Object):void

Gegenereerde uitzondering
TypeError — De eigenschap client moet zijn ingesteld op een object dat niet null is.

Verwante API-elementen

currentFPS

eigenschap 
currentFPS:Number  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Het aantal frames dat per seconde wordt weergegeven. Wanneer u videobestanden exporteert om op een aantal systemen af te spelen, kunt u deze waarde tijdens het testen controleren om te bepalen hoeveel compressie u tijdens het exporteren moet toepassen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get currentFPS():Number

dataReliable

eigenschap 
dataReliable:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Bij RTMFP-verbindingen wordt hiermee aangegeven of NetStream.send()-aanroepen met volledige betrouwbaarheid worden verzonden. Bij de waarde TRUE zijn alle NetStream.send()-aanroepen die over deze NetStream worden verzonden, volledig betrouwbaar. Bij de waarde FALSE is de verzending van de NetStream.send()-aanroepen niet volledig betrouwbaar. De aanroepen worden tijdelijk opnieuw verzonden en dan gestopt. U kunt deze waarde instellen op FALSE om de latentie te verminderen ten koste van de gegevenskwaliteit.

Als u probeert om deze eigenschap in te stellen op FALSE voor een netwerkprotocol dat geen gedeeltelijke betrouwbaarheid ondersteunt, wordt de poging genegeerd en de eigenschap op TRUE ingesteld.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get dataReliable():Boolean
    public function set dataReliable(value:Boolean):void

Verwante API-elementen

farID

eigenschap 
farID:String  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voor RTMFP-verbindingen, de ID aan het uiteinde die is verbonden aan deze instantie van NetStream.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get farID():String

farNonce

eigenschap 
farNonce:String  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Voor RTMFP- en RTMPE-verbindingen, een waarde die aanzienlijk is gekozen door het andere uiteinde van deze stream en uniek voor deze verbinding. Deze waarde verschijnt aan het andere uiteinde van de stream als de waarde nearNonce ervan.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get farNonce():String

inBufferSeek

eigenschap 
inBufferSeek:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Geeft op of de weergegeven gegevens in cache worden geplaatst voor slim zoeken (TRUE) of niet (FALSE). De standaardwaarde is FALSE.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Flash Media Server 3.5.3 en Flash Player 10.1 werken samen bij het ondersteunen van slim zoeken. Slim zoeken gebruikt achterwaartse en voorwaartse buffers om te zoeken zonder gegevens van de server aan te vragen. Standaard zoeken maakt gebufferde gegevens leeg en vraagt de server om nieuwe gegevens op basis van zoektijd te versturen.

Roep NetStream.step() op om een bepaald aantal frames vooruit of achteruit te gaan. Roep NetStream.seek() op om een bepaald aantal seconden vooruit of achteruit te zoeken.

Slim zoeken beperkt de serverlading en verbetert de zoekprestaties. Stel inBufferSeek=true in en roep step() en seek() op en maak:

  • Client DVR-functionaliteit. Zoek binnen de clientbuffer in plaats van de nieuwe video via de server leveren.
  • Trucmodussen. Maak spelers die met stappen door frames gaan, snel achterwaarts of voorwaarts spoelen of langzaam voorwaarts spoelen.

Wanneer inBufferSeek=true en een oproep naar NetStream.seek() is gelukt, bevat de NetStatusEvent info.description-eigenschap de tekenreeks "client-inBufferSeek".

Wanneer een oproep naar NetStream.step() gelukt is, bevat de NetStatusEvent info.code-eigenschap de tekenreeks "NetStream.Step.Notify".



Implementatie
    public function get inBufferSeek():Boolean
    public function set inBufferSeek(value:Boolean):void

Verwante API-elementen

info

eigenschap 
info:NetStreamInfo  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Retourneert een object NetStreamInfo waarvan de eigenschappen statistische gegevens bevatten over de kwaliteit van service. Het object is een momentopname van de huidige staat.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get info():NetStreamInfo

Verwante API-elementen

liveDelay

eigenschap 
liveDelay:Number  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Het aantal seconden aan gegevens in de buffer van de bijbehorende stream in live (niet-gebufferde) modus. Met deze eigenschap wordt de huidige vertraging in de netwerktransmissie (vertragingstijd) opgegeven.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Deze eigenschap is voornamelijk bedoeld voor gebruik in combinatie met een server zoals Flash Media Server. Zie de klassebeschrijving voor meer informatie.

Aan de hand van de waarde voor deze eigenschap kunt u een ruwe schatting maken van de transmissiekwaliteit van de stream en deze doorgeven aan de gebruiker.



Implementatie
    public function get liveDelay():Number

maxPauseBufferTime

eigenschap 
maxPauseBufferTime:Number

Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Hiermee geeft u op hoe lang berichten tijdens de pauzemodus in de buffer bewaard moeten blijven, in seconden. Deze eigenschap kunt u gebruiken om het bufferen van gegevens in de pauzemodus te beperken. Zodra de waarde van NetStream.bufferLength deze limiet heeft bereikt, wordt het opslaan in de buffer gestopt.

Als deze waarde niet is ingesteld, wordt bij elke pauze standaard de limiet 60 seconden gebruikt of twee keer de waarde van NetStream.bufferTime, afhankelijk van de hoogste waarde.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get maxPauseBufferTime():Number
    public function set maxPauseBufferTime(value:Number):void

Verwante API-elementen

multicastAvailabilitySendToAll

eigenschap 
multicastAvailabilitySendToAll:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft aan of peer-to-peermulticastfragmentbeschikbaarheidsberichten naar alle peers of naar één peer worden verzonden. De waarde TRUE geeft aan dat de berichten eenmaal per opgegeven interval naar alle peers worden verzonden. De waarde FALSE geeft aan dat de berichten eenmaal per opgegeven interval naar één peer worden verzonden. Het interval wordt bepaald door de eigenschap multicastAvailabilityUpdatePeriod.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastAvailabilitySendToAll():Boolean
    public function set multicastAvailabilitySendToAll(value:Boolean):void

Verwante API-elementen

multicastAvailabilityUpdatePeriod

eigenschap 
multicastAvailabilityUpdatePeriod:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft de interval in seconden weer tussen berichten die naar peers worden gestuurd om hen te laten weten, dat er op het lokale knooppunt nieuwe peer-to-peermulticastmediafragmenten beschikbaar zijn. Hogere waarden staan voor efficiëntere batchverwerkingen en minder besturingsoverhead, maar hierbij kan de kwaliteit aan de ontvangende kant afnemen doordat er minder tijd is om fragmenten op te halen voordat de fragmenten 'uit het venster' verdwijnen. Bij lagere waarden is er minder latentie en een betere kwaliteit, maar is er meer besturingsoverhead.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastAvailabilityUpdatePeriod():Number
    public function set multicastAvailabilityUpdatePeriod(value:Number):void

Verwante API-elementen

multicastFetchPeriod

eigenschap 
multicastFetchPeriod:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Geeft voor RTMFP-verbindingen de tijd in seconden aan tussen het moment dat het lokale knooppunt voor het eerst te weten komt dat er een peer-to-peermulticastmediafragment beschikbaar is, en het moment dat het lokale knooppunt dit van een peer probeert op te halen. Met deze waarde kunt u het fragment proactief pushen naar het lokale knooppunt voordat een ophaalbewerking wordt uitgevoerd vanaf een peer. Verder kunt u aan meerdere peers tegelijk laten weten dat het fragment beschikbaar is, zodat de taakbelasting voor het ophalen kan worden verspreid over meerdere peers.

Grotere waarden staan voor een betere taakverdeling en gelijkwaardigheid in het peer-to-peernet, maar hierdoor wordt ook de beschikbare multicastWindowDuration verkleind en de latentie vergroot. Bij kleinere waarden is er minder latentie bij ophaalbewerkingen, maar ook is er meer dubbele-gegevensontvangst en een slechtere taakverdeling met betrekking tot het peer-to-peernet.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastFetchPeriod():Number
    public function set multicastFetchPeriod(value:Number):void

Verwante API-elementen

multicastInfo

eigenschap 
multicastInfo:NetStreamMulticastInfo  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft een NetStreamMulticastInfo-object weer, waarvan de eigenschappen statistieken bevatten over de kwaliteit van de service. Het object is een momentopname van de huidige staat.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastInfo():NetStreamMulticastInfo

Verwante API-elementen

multicastPushNeighborLimit

eigenschap 
multicastPushNeighborLimit:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft het maximumaantal peers aan, dat proactief multicastmedia presenteert.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastPushNeighborLimit():Number
    public function set multicastPushNeighborLimit(value:Number):void

multicastRelayMarginDuration

eigenschap 
multicastRelayMarginDuration:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft in seconden aan, hoelang peer-to-peermulticastgegevens beschikbaar blijven om naar peers te verzenden die dit na een opgegeven tijdsduur aanvragen. De duur wordt aangegeven door de eigenschap multicastWindowDuration.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastRelayMarginDuration():Number
    public function set multicastRelayMarginDuration(value:Number):void

Verwante API-elementen

multicastWindowDuration

eigenschap 
multicastWindowDuration:Number

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft in seconden de duur van het peer-to-peermulticastsamenstellingsvenster aan. Bij lagere waarden is er minder latentie, maar minder kwaliteit, omdat er onvoldoende tijd is om alle fragmenten op te halen. Omgekeerd geldt dat er meer kwaliteit is bij grotere waarden, omdat er meer tijd is om alle fragmenten op te halen. De latentie neemt echter wel toe.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get multicastWindowDuration():Number
    public function set multicastWindowDuration(value:Number):void

Verwante API-elementen

nearNonce

eigenschap 
nearNonce:String  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Voor RTMFP- en RTMPE-verbindingen, een waarde die aanzienlijk is gekozen door het andere uiteinde van de stream en uniek voor deze verbinding. Deze waarde verschijnt aan het andere uiteinde van de stream als de waarde farNonce ervan.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get nearNonce():String

objectEncoding

eigenschap 
objectEncoding:uint  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

De objectcodering (AMF-versie) voor dit object NetStream. Het object NetStream neemt de waarde objectEncoding over van het bijbehorende object NetConnection. Het is belangrijk dat u deze eigenschap begrijpt wanneer uw ActionScript 3.0 SWF-bestand moet communiceren met servers die vóór Flash Player 9 zijn uitgebracht. Zie de beschrijving van de eigenschap objectEncoding in de klasse NetConnection.

De waarde van deze eigenschap wordt bepaald door het gegeven of de stream lokaal dan wel extern is. Lokale streams, waarbij null werd doorgegeven aan de methode NetConnection.connect(), retourneren de waarde van NetConnection.defaultObjectEncoding. Externe streams, waarbij u verbinding maakt met een server, retourneren de objectcodering van de verbinding met de server.

Wanneer u deze eigenschap probeert te lezen terwijl u geen verbinding hebt, of wanneer u deze eigenschap probeert te wijzigen, genereert de toepassing een uitzondering.



Implementatie
    public function get objectEncoding():uint

Verwante API-elementen

peerStreams

eigenschap 
peerStreams:Array  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5

Een object dat alle geabonneerde NetStream-instanties bevat die meeluisteren naar deze instantie van NetStream met publicatie.



Implementatie
    public function get peerStreams():Array

soundTransform

eigenschap 
soundTransform:flash.media:SoundTransform

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9

Beheert geluid in dit object NetStream. Zie de klasse SoundTransform voor meer informatie.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

Verwante API-elementen

time

eigenschap 
time:Number  [alleen-lezen]

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

De positie van de afspeelkop in seconden.

Flash Media Server Bij een abonnementstream het aantal seconden dat de stream al wordt afgespeeld. Bij een publicatiestream het aantal seconden dat de stream al wordt gepubliceerd. Dit getal is nauwkeurig tot op de duizendste decimaal; vermenigvuldig met 1000 voor het getal in milliseconden dat de stream al wordt afgespeeld.

Wanneer bij een abonnementstream de server stopt met het verzenden van gegevens maar de stream open blijft, wordt de waarde van de eigenschap time niet meer opgehoogd. Wanneer de server weer gegevens gaat verzenden, wordt de waarde opgehoogd vanaf het punt waarop is gestopt met het verzenden van gegevens door de server.

De waarde van time blijft oplopen wanneer de stream overschakelt van het ene afspeellijstelement naar het andere. Deze eigenschap wordt op 0 ingesteld wanneer NetStream.play() wordt aangeroepen met reset ingesteld op 1 oftrue, of wanneer NetStream.close() wordt aangeroepen.



Implementatie
    public function get time():Number

Verwante API-elementen

useHardwareDecoder

eigenschap 
useHardwareDecoder:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3

Geeft aan of met hardware versnelde decodering moet worden gebruikt voor de stream.

Opmerking: u kunt deze eigenschap niet instellen tijdens het afspelen van video. U dient deze in te stellen voordat u NetStream.play() aanroept.

De standaardwaarde is true.



Implementatie
    public function get useHardwareDecoder():Boolean
    public function set useHardwareDecoder(value:Boolean):void

Verwante API-elementen

useJitterBuffer

eigenschap 
useJitterBuffer:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11.3, AIR 3.3

Minimaliseer de vertraging voor live, niet-gebufferde streaming (bufferTime = 0). In plaats van een conservatief catchup-mechanisme op basis van push-technologie, worden de audioberichten in een aanpasbare jitter-buffer geplaatst. Wanneer audio wordt vereist door het luidsprekerapparaat, worden de berichten opgehaald vanuit de jitter-buffer, gedecodeerd en afgespeeld. Bij Speex en G.711 wordt deze pull-technologie altijd gebruikt, onafhankelijk van deze instellingen (useJitterBuffer retourneert de waarde true voor Speex/G.711). Wanneer codecs zijn ingeschakeld in de niet-gebufferde modus, gebruiken ze allemaal de jitter-buffertechnologie, zoals bijvoorbeeld Speex, G.711, Nellymoser, MP3 en AAC. Deze eigenschap heeft geen effect in de gebufferde modus (bufferTime > 0), zodat useJitterBuffer de waarde false retourneert.



Implementatie
    public function get useJitterBuffer():Boolean
    public function set useJitterBuffer(value:Boolean):void

videoReliable

eigenschap 
videoReliable:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft aan of video met volledige betrouwbaarheid is verzonden. Bij de waarde TRUE is alle video die over deze NetStream wordt verzonden volledig betrouwbaar. Bij de waarde FALSE is de verzonden video niet volledig betrouwbaar. De videostream wordt tijdelijk opnieuw verzonden en dan gestopt. Met de waarde FALSE kunt u de latentie verkleinen, maar dit gaat ten koste van de videokwaliteit.

Als u probeert om deze eigenschap in te stellen op FALSE voor een netwerkprotocol dat geen gedeeltelijke betrouwbaarheid ondersteunt, wordt de poging genegeerd en de eigenschap op TRUE ingesteld.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get videoReliable():Boolean
    public function set videoReliable(value:Boolean):void

Verwante API-elementen

videoSampleAccess

eigenschap 
videoSampleAccess:Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Voor RTMFP-verbindingen, geeft aan of peer-to-peerabonnees van deze NetStream de videostream mogen vastleggen. Bij de waarde FALSE worden machtigingsfouten weergegeven als de abonnee de videostream wil opnemen.

Opmerking: deze eigenschap wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.



Implementatie
    public function get videoSampleAccess():Boolean
    public function set videoSampleAccess(value:Boolean):void

Verwante API-elementen

videoStreamSettings

eigenschap 
videoStreamSettings:VideoStreamSettings

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11/ConnectAddin, AIR 3

Eigenschappen voor streamcompressie opgeven. Zie VideoStreamSettings voor meer informatie. Als geen camera op uw systeem is aangesloten, wordt null geretourneerd.



Implementatie
    public function get videoStreamSettings():VideoStreamSettings
    public function set videoStreamSettings(value:VideoStreamSettings):void

Verwante API-elementen

Constructordetails

NetStream

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

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Maakt een stream die u kunt gebruiken voor het afspelen van mediabestanden en voor het verzenden van gegevens via een object NetConnection.

Het wordt als ongeldig beschouwd als de netStatus-gebeurtenis van een Netstream-object niet wordt afgehandeld. Om fouten te voorkomen, registreert u een listener voor de netStatus-gebeurtenis nadat u het Netstream-object maakt en voordat u de play()-methode van het object aanroept.

Parameters
connection:NetConnection — Een object NetConnection.
 
peerID:String (default = "connectToFMS") — Deze optionele parameter is beschikbaar in Flash Player 10 en hoger en kan worden gebruikt met RTMFP-verbindingen. (Als de waarde van de eigenschap NetConnection.protocol niet is ingesteld op rtmfp, wordt deze parameter genegeerd.) Gebruik een van de volgende waarden:
  • Als u verbinding wilt maken met Flash Media Server geeft u NetStream.CONNECT_TO_FMS op.
  • Als u rechtstreeks naar peers wilt publiceren, geeft u NetStream.DIRECT_CONNECTIONS op.
  • Als u rechtstreeks vanaf een specifieke peer wilt afspelen, geeft u de identiteit van die peer op (zie NetConnection.nearID en NetStream.farID).
  • (Flash Player 10.1 of AIR 2 of hoger) Als u wilt publiceren of een stream wilt afspelen in een peer-to-peermulticastgroep, moet u een tekenreeks groupspec opgeven (zie de klasse GroupSpecifier).

In de meeste gevallen kan een groupspec de netwerk-uplink op het lokale systeem gebruiken. In dat geval wordt de gebruiker gevraagd om toestemming om de netwerkbronnen van de computer te gebruiken. Als de gebruiker dit toestaat, wordt een NetStatusEvent NetStream.Connect.Success verzonden naar de gebeurtenislistener van de NetConnection. Als de gebruiker dit niet toestaat, wordt een gebeurtenis NetStream.Connect.Rejected verzonden. Wanneer u een groupspec opgeeft, kunt u geen enkele methode van het object NetStream gebruiken. Dit leidt namelijk tot een uitzondering. Deze situatie geldt totdat een gebeurtenis NetStream.Connect.Success wordt ontvangen.

Als u deze parameter opneemt in uw constructorinstructie en de waarde null doorgeeft, wordt de waarde ingesteld op connectToFMS.


Gegenereerde uitzondering
ArgumentError — De instantie NetConnection heeft geen verbinding.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

De volgende code toont een verbinding voor het progressief downloaden en weergeven van een video die is toegewezen aan de variabele 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);

De volgende code toont een verbinding voor het progressief streamen en weergeven van een video (die is toegewezen aan de variabele videoURL) op een externe instantie van Flash Media Server die is opgegeven in de opdracht 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);
Methodedetails

appendBytes

()methode
public function appendBytes(bytes:ByteArray):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Geeft een ByteArray in een NetStream door om te worden uitgespeeld. Roep deze methode aan voor een NetStream in de modus voor gegevensgeneratie. Als u de modus voor gegevensgeneratie wilt instellen voor een NetStream, roept u NetStream.play(null) aan voor een NetStream die is gemaakt voor een NetConnection die een verbinding heeft met null. Als deze methode appendBytes() wordt aangeroepen voor een NetStream die zich niet in de modus voor gegevensgeneratie bevindt, treedt er een fout op en wordt een uitzondering gegenereerd.

Opmerking: deze methode wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

De byteparser kan een FLV-bestand met een header lezen. Nadat de header is geparseerd, verwacht appendBytes() dat alle toekomstige aanroepen voortzettingen zijn van hetzelfde echte of virtuele bestand. Een andere header wordt niet verwacht, tenzij appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) wordt aangeroepen.

Een object NetStream heeft twee buffers: de FIFO van appendBytes() naar de NetStream en de uitspeelbuffer. De FIFO is de reassemblagebuffer voor een gedeeltelijke FLV-tag en bevat slechts één onvolledige FLV-tag. Roept NetStream.seek() aan om beide buffers leeg te maken. Nadat u seek() hebt aangeroepen, roept u appendBytesAction() aan om de tijdschaal te herstellen naar het begin van de tijdstempel van het volgende bijgevoegde bericht.

Elke keer dat appendBytes() wordt aangeroepen, worden er bytes aan de FIFO toegevoegd totdat een FLV-tag volledig is. Wanneer een FLV-tag volledig is, wordt deze naar de uitspeelbuffer verplaatst. Bij het aanroepen van appendBytes() kunnen meerdere FLV-tags worden geschreven. De eerste bytes voltooien een bestaande FLV-tag (die naar de uitspeelbuffer wordt verplaatst). Voltooide FLV-tags worden naar de uitspeelbuffer verplaatst. De resterende bytes die geen volledige FLV-tag vormen gaan naar de FIFO. Bytes in de FIFO worden voltooid door het aanroepen van een appendBytes() of worden leeggemaakt door het aanroepen van appendBytesAction() met het argument RESET_SEEK of RESET_BEGIN.

Opmerking: het kan zijn dat de byteparser pas in staat is om een aangeroepen appendBytes() volledig te decoderen als een opvolgende appendBytes() wordt aangeroepen.

Parameters

bytes:ByteArray

Verwante API-elementen

appendBytesAction

()methode 
public function appendBytesAction(netStreamAppendBytesAction:String):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Geeft een discontinuïteit van de tijdschaal aan, maakt de FIFO leeg en kondigt een bestandsheader of het begin van een FLV-tag aan bij de byteparser.

Opmerking: deze methode wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Roept NetStream.seek() aan om de NetStream-buffers leeg te maken. De byteparser blijft in de modus voor leegmaken totdat u appendBytesAction() aanroept en het argument RESET_BEGIN of RESET_SEEK doorgeeft. Leg de gebeurtenis "NetStream.Seek.Notify" vast om appendBytesAction() aan te roepen na een zoekopdracht. Een nieuwe bestandsheader kan ondersteuning bieden voor afspeellijsten of zoekopdrachten zonder NetStream.seek() aan te roepen.

U kunt deze methode ook aanroepen om de byteteller voor de callback onSeekPoint() te herstellen.

Parameters

netStreamAppendBytesAction:String

Verwante API-elementen

attach

()methode 
public function attach(connection:NetConnection):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Koppelt een stream aan een nieuw NetConnection-object. Roep deze methode op om een NetStream aan een nieuw NetConnection-object te verbinden, nadat er een verbinding geannuleerd en hersteld is. Flash Player en AIR gaan verder met streamen vanaf het afspeelpunt waarop de verbinding verloren is gegaan. U kunt deze methode ook gebruiken om taakverdeling te implementeren.

Deze methode vereist Flash Media Server versie 3.5.3 of later.

Om deze methode te gebruiken voor het implementeren van streamherstelling, leest u de Flash Media Server 3.5.3-documentatie.

Ga als volgt te werk om taakverdeling toe te passen met deze methode:

  1. Koppel een verbonden stream aan een NetConnection-object of een andere server.
  2. Nadat de stream aan de nieuwe verbinding is gekoppeld, roept u NetConnection.close() aan op de vorige verbinding om een gegevenslek te voorkomen.
  3. Roep NetStream.play2() aan en stel de waarde van NetStreamPlayOptions.transition in op RESUME. Stel de overige NetStreamPlayOptions-eigenschappen in op de waarden die u gebruikte toen u NetStream.play() of NetStream.play2() voor het eerst aanriep om de stream te starten.

Parameters

connection:NetConnection

Verwante API-elementen

attachAudio

()methode 
public function attachAudio(microphone:Microphone):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9

Koppelt een audiostream aan een NetStream-object vanuit een Microphone-object dat als de bron is doorgegeven. Deze methode is alleen beschikbaar voor de uitgever van de opgegeven stream.

Gebruik deze methode met Flash Media Server om live audio naar de server te verzenden. Roep deze methode aan vóór of nadat u de methode publish() aanroept.

Stel de eigenschap Microphone.rate zo in dat deze overeenkomt met de frequentie van het apparaat voor geluidsopname. Roep setSilenceLevel() aan om de drempel voor het stilteniveau in te stellen. Als u de geluidseigenschappen (volume en pannen) van de audiostream wilt bepalen, gebruikt u de eigenschap 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")
     

Als u de audio wilt horen, roept u de methode NetStream.play() aan en roept u DisplayObjectContainer.addChild() aan om de audio te routeren naar een object op de weergavelijst.

Parameters

microphone:Microphone — De bron van de audiostream die moet worden verzonden.

Verwante API-elementen

attachCamera

()methode 
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9

Hiermee wordt het vastleggen van video via een camera gestart, of wordt het vastleggen gestopt wanneer theCamera op null is ingesteld. Deze methode is alleen beschikbaar voor de uitgever van de opgegeven stream.

Deze methode is bedoeld voor gebruik in combinatie met Flash Media Server. Zie de klassebeschrijving voor meer informatie.

Na het koppelen van de videobron moet u NetStream.publish() aanroepen om het verzenden te starten. Abonnees die de video willen bekijken, moeten de methoden NetStream.play() en Video.attachCamera() aanroepen om de video in het werkgebied weer te geven.

Met snapshotMilliseconds kunt u één momentopname verzenden (door de waarde 0 op te geven) van een reeks momentopnamen, of anders gezegd van een fotosequentie, door een positief getal op te geven waarmee een trailer van het opgegeven aantal milliseconden aan de videofeed wordt toegevoegd. Door de trailer wordt de weergavetijd van het videobericht verlengd. Door herhaaldelijk attachCamera() aan te roepen met een positieve waarde voor snapshotMilliseconds, wordt met het afwisselen van momentopnamen en trailers een fotosequentie gemaakt. U zou bijvoorbeeld één frame per dag kunnen vastleggen en dat aan een videobestand kunnen toevoegen. Wanneer een abonnee het bestand afspeelt, wordt elk frame gedurende het opgegeven aantal milliseconden weergegeven, waarna het volgende frame wordt weergegeven.

De parameter snapshotMilliseconds heeft een andere functie dan de parameter fps die u kunt instellen met Camera.setMode(). Wanneer u snapshotMilliseconds opgeeft, bepaalt u hoeveel tijd er tussen de opgenomen frames verstrijkt. Wanneer u fps opgeeft met behulp van Camera.setMode(), bepaalt u hoeveel tijd er verstrijkt gedurende het opnemen en afspelen.

Stel dat u elke 5 minuten een momentopname wilt maken tot een totaal van 100 momentopnamen. U kunt dat op twee manieren doen:

  • U kunt om de vijf minuten en in totaal 100 keer een opdracht NetStream.attachCamera(mijnCamera, 500) geven. Het opnemen duurt dan in totaal 500 minuten, terwijl het resulterende bestand in 50 seconden wordt afgespeeld (100 frames met 500 milliseconden tussen de frames).
  • U kunt een opdracht Camera.setMode() geven met een waarde voor fps van 1/300 (één per 300 seconden, ofwel elke 5 minuten) en vervolgens een opdracht NetStream.attachCamera(source), waarmee de camera onafgebroken 500 minuten lang opnamen maakt. Het resulterende bestand wordt in 500 minuten afgespeeld (even lang als de tijd van de opname), waarbij elk frame 5 minuten lang wordt weergegeven.

Met beide technieken worden dezelfde 500 frames vastgelegd en beide zijn nuttig. De gekozen techniek hangt voornamelijk af van uw eisen voor afspelen. Zo zou u in het tweede geval de gehele tijd ook audio kunnen opnemen. Bovendien zouden beide bestanden ongeveer dezelfde grootte hebben.

Parameters

theCamera:Camera — De bron van de video-overdracht. Geldige waarden zijn een object Camera (voor het vastleggen van video) en null. Wanneer u null doorgeeft, stopt de toepassing met het vastleggen van video. Alle aanvullende meegestuurde parameters worden daarbij genegeerd.
 
snapshotMilliseconds:int (default = -1) — Geeft op of de videostream doorlopend is, uit één enkel frame bestaat of uit een reeks afzonderlijke frames om een fotosequentie te maken.
  • Wanneer u deze parameter weglaat, legt de toepassing alle videogegevens vast totdat u de waarde null doorgeeft aan attachCamera.
  • Wanneer u 0 doorgeeft, legt de toepassing slechts één videoframe vast. Gebruik deze waarde voor het verzenden van momentopnamen (snapshots) binnen een reeds bestaande stream. Flash Player of AIR interpreteert ongeldige, negatieve of niet-numerieke argumenten als 0.
  • Wanneer u een positief getal doorgeeft, legt de toepassing één videoframe vast, waaraan een pauze van de opgegeven lengte wordt toegevoegd als een trailer bij de opname. Gebruik deze waarde voor het maken van fotosequenties.

close

()methode 
public function close():void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Stopt het afspelen van alle gegevens van de stream, stelt de eigenschap time in op 0 en maakt de stream beschikbaar voor alternatief gebruik. Met deze methode wordt ook de lokale kopie van een videobestand verwijderd dat is gedownload met HTTP. Hoewel de toepassing de lokale kopie van het gemaakte bestand verwijdert, is het mogelijk dat er nog een kopie in de cachemap bestaat. Wanneer u niet wilt dat het videobestand in cache of lokaal wordt opgeslagen, gebruikt u Flash Media Server.

Wanneer u Flash Media Server gebruikt, wordt deze methode expliciet aangeroepen wanneer u NetStream.play() aanroept via een publicatiestream of NetStream.publish() via een abonnementstream. Houd rekening met het volgende:

  • Wanneer close() via een publicatiestream wordt aangeroepen, stopt de stream met publiceren en kan de uitgever nu de stream voor een ander doel gebruiken. Abonnees ontvangen niets meer van hetgeen op de stream werd gepubliceerd omdat de stream gestopt is met publiceren.
  • Wanneer close() via een abonnementstream wordt aangeroepen, stopt de stream met afspelen voor de abonnee en kan de abonnee de stream voor een ander doel gebruiken. Dit heeft geen invloed op andere abonnees.
  • U kunt het afspelen door een abonnementstream stoppen, zonder de stream te sluiten of het type stream te veranderen, door gebruik te maken van flash.net.NetStream.play(false).

Verwante API-elementen

dispose

()methode 
public function dispose():void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 11, AIR 3.0

Geeft alle bronnen vrij die worden vastgehouden door het NetStream-object.

De methode dispose() valt te vergelijken met de methode close. Het grootste verschil tussen de twee methoden is dat dispose() het geheugen dat wordt gebruikt voor weergave van het huidige videoframe vrijgeeft. Als dat frame op dat moment wordt weergegeven op het scherm, wordt het scherm blanco. De methode close() leidt niet tot een blanco weergave, aangezien deze methode dit geheugen niet vrijgeeft.

onPeerConnect

()methode 
public function onPeerConnect(subscriber:NetStream):Boolean

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Wordt geactiveerd wanneer een stream met publicatie naar gelijkwaardige items overeenkomt met een stream met abonnement op gelijkwaardige items. Voordat de abonnee met de uitgever wordt verbonden, moet u deze methode aanroepen zodat de ActionScript-code de toegang tot de publicatie naar gelijkwaardige items kan regelen. De volgende code is een voorbeeld van de wijze waarop u een functie callback voor deze methode kunt maken:

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

Als een gelijkwaardige uitgever deze methode niet implementeert, mogen alle gelijkwaardige gebruikers alle gepubliceerde inhoud afspelen.

Parameters

subscriber:NetStream

Geretourneerde waarde
Boolean

pause

()methode 
public function pause():void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Pauzeert het afspelen van een videostream. Het aanroepen van deze methode heeft geen effect wanneer de video al ia gepauzeerd. Roep resume() aan om het afspelen van de video te hervatten nadat deze is gepauzeerd. Roep togglePause() aan om te wisselen tussen pauzeren en afspelen (eerst de video pauzeren en vervolgens het afspelen hervatten).

Vanaf Flash Player 9.0.115.0 wordt de buffer niet meer gewist wanneer NetStream.pause() wordt aangeroepen. Dit gedrag wordt een 'slimme pauze' genoemd. Vóór Flash Player 9.0.115.0 wachtte Flash Player tot de buffer vol was alvorens het afspelen voort te zetten. Dit veroorzaakte dikwijls enige vertraging.

Opmerking: vanwege compatibiliteit met eerdere versies, wordt de gebeurtenis"NetStream.Buffer.Flush" (zie de eigenschap NetStatusEvent.info) nog steeds geactiveerd, alhoewel de buffer niet wordt verwijderd door de server.

Voor een enkele pauze, had de eigenschap NetStream.bufferLength een beperking van oftewel 60 seconden of tweemaal de waarde van NetStream.bufferTime, afhankelijk van welke waarde hoger was. Als bufferTime bijvoorbeeld 20 seconden is, blijft Flash Player de buffer vullen totdat NetStream.bufferLength de waarde heeft van 20*2 (40) of 60 - welke waarde het hoogste is. In dit geval wordt de buffer gevuld tot bufferLength 60 is. Als bufferTime 40 seconden is, blijft Flash Player de buffer vullen totdat bufferLength de waarde heeft van 40*2 (80) of 60 - welke waarde het hoogste is. In dit geval wordt de buffer gevuld tot bufferLength 80 seconden is.

De eigenschap bufferLength heeft ook een absolute limiet. Als een aanroep naar pause() tot gevolg heeft dat bufferLength meer dan 600 seconden is of de waarde krijgt van bufferTime * 2 - welke waarde hoger is -, maakt Flash Player de buffer leeg en wordt bufferLength weer ingesteld op 0. Als bufferTime bijvoorbeeld 120 seconden is, maakt Flash Player de buffer leeg als bufferLength 600 seconden heeft bereikt. als bufferTime 360 seconden is, maakt Flash Player de buffer leeg als bufferLength 720 heeft bereikt.

Tip: U kunt NetStream.pause() in code gebruiken om gegevens in de buffer op te slaan terwijl kijkers bijvoorbeeld naar reclame kijken, en de onderbreking weer opheffen wanneer de hoofdvideo start.

Verwante API-elementen

play

()methode 
public function play(... arguments):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Speelt het mediabestand af vanuit een lokale directory of vanaf een webserver; speelt een mediabestand of een live stream van Flash Media Server af. Verzendt een object NetStatusEvent om status- en foutberichten de rapporteren.

Raadpleeg de volgende bronnen voor informatie over ondersteunde codecs en bestandsindelingen:

Workflow voor het afspelen van een bestand of live stream

  1. Maak een Video-object dat de video zal weergeven en roep addChild() aan om dit aan het werkgebied toe te voegen.
  2. Maak een object NetConnection en roep NetConnection.connect() aan.

    Als u een bestand in een lokale directory of op een webserver wilt afspelen, geeft u null door.

    Als u een vastgelegd bestand of live stream wilt afspelen vanaf Flash Media Server, geeft u de URI van een Flash Media Server-toepassing door.

  3. Roep de methode addEventListener() van het NetConnection-object aan om te luisteren naar de netStatus-gebeurtenis (NetStatusEvent.NET_STATUS).
  4. Maak voor "NetConnection.Connect.Success" een object NetStream en geef het object NetConnection door aan de constructor.
  5. Roep de methode attachNetStream() van het Video-object aan en geef het NetStream-object door.
  6. Roep de methode play() van het NetStream-object aan.

    Als u een live stream wilt afspelen, geeft u de naam van de stream door aan de methode NetStream.publish().

    Als u een vastgelegd bestand wilt afspelen, geeft u de bestandsnaam door.

Opmerking: volg altijd de aanbevolen procedure en voeg het Video-object toe aan het werkgebied. Voeg vervolgens het NetStream-object toe en roep de methode play() van het NetStream-object aan.

Modus voor gegevensgeneratie inschakelen

Roep play(null) aan om de modus voor gegevensgeneratie in te schakelen. In deze modus roept u de methode appendBytes() aan om gegevens bij de NetStream te bezorgen. Gebruik de modus voor gegevensgeneratie om inhoud van de Adobe HTTP Dynamic Streaming Origin Module op een Apache HTTP-server via HTTP te streamen. Bij dynamische streaming via HTTP kunnen clients snel naar een willekeurig punt in een bestand zoeken. Het OSMF (Open Source Media Framework) biedt ondersteuning voor dynamische streaming via HTTP voor VOD- (Video on Demand ofwel video op verzoek) en livestreams. Download de OSMF-bron voor meer informatie over het gebruik van de modus voor gegevensgeneratie voor een NetStream. Ga naar het onderwerp over dynamische streaming via HTTP voor meer informatie hierover.

Wanneer u deze methode zonder Flash Media Server gebruikt, moet u enkele beveiligingsoverwegingen in acht nemen. Een bestand in de sandbox Lokaal-vertrouwd of Lokaal-met-netwerk kan een videobestand uit de externe sandbox laden en afspelen, maar heeft alleen toegang tot de gegevens van dat externe bestand met toestemming via een bestand met URL-beleid. Bovendien kunt u voor Flash Player en hoger voorkomen dat een SWF-bestand dat in Flash Player wordt afgespeeld, deze methode gebruikt door de parameter allowNetworking in te stellen van de tags object en embed op de HTML-pagina die de SWF-inhoud bevat. Lees voor meer informatie over beveiliging het onderwerp Security in het Flash Player Developer Center.

Parameters

... arguments

Een lokaal bestand afspelen

De locatie van een mediabestand. Het argument kan een string zijn, de eigenschap URLRequest.url of een variabele met een verwijzing naar allebei. In Flash Player- en in AIR-inhoud die zich buiten de beveiligingssandbox van de toepassing bevindt, kunt u lokale videobestanden afspelen die zijn opgeslagen in dezelfde map als het SWF-bestand of in een submap. U kunt echter niet naar een map op een hoger niveau navigeren.

Een bestand vanaf Flash Media Server afspelen

NaamVereistBeschrijving
name:ObjectVereist De naam van een opgenomen bestand, een id voor live gegevens die zijn gepubliceerd via NetStream.publish() of false. Indien false, stopt de stream met afspelen en worden eventuele aanvullende parameters genegeerd. Zie voor meer informatie over de syntaxis van bestandsnamen de tabel met bestandsindelingen onder deze tabel.
start:NumberOptioneel De starttijd, in seconden. Toegestane waarden zijn -2, -1, 0 of een positief getal. De standaardwaarde is -2, waarmee wordt gezocht naar een live stream en vervolgens naar een opgenomen stream. Wanneer deze niet worden gevonden, wordt een live stream geopend. U kunt -2 niet gebruiken met MP3-bestanden. Wanneer de waarde -1 is, wordt alleen een live stream afgespeeld. Wanneer de waarde 0 of een positief getal is, wordt een opgenomen stream afgespeeld, beginnend na start seconden.
len:Number Optioneel wanneer start wordt opgegeven. De duur van het afspelen, in seconden. Toegestane waarden zijn -1, 0 of een positief getal. De standaardwaarde is -1, waarmee een live stream of een opgenomen stream tot het einde wordt afgespeeld. Wanneer de waarde 0 is, wordt een enkel frame afgespeeld dat zich start seconden vanaf het begin van de opgenomen stream bevindt. Wanneer de waarde een positief getal is, wordt een live stream of een opgenomen stream gedurende len seconden afgespeeld.
reset:Object Optioneel wanneer len wordt opgegeven. Bepaalt of een afspeellijst wordt gewist. De standaardwaarde is 1 of true, waarmee eventuele eerdere aanroepen van play worden gewist en name direct wordt afgespeeld. Wanneer de waarde 0 of false is, wordt de stream aan een afspeellijst toegevoegd. Wanneer de waarde 2 is, blijft de afspeellijst behouden en worden alle streamberichten tegelijk geretourneerd in plaats van met intervallen. Wanneer de waarde 3 is, wordt de afspeellijst gewist en worden alle streamberichten tegelijk geretourneerd.

U kunt de bestandsindelingen afspelen die worden beschreven in de volgende tabel. De syntaxis verschilt per bestandsindeling.

BestandsindelingSyntaxisVoorbeeld
FLVGeef de naam van de stream (in de map "samples") op als een tekenreeks, zonder bestandsnaamextensie.ns.play("samples/myflvstream");
MP3 of ID3Geef de naam van de stream (in de map "samples") op als een tekenreeks met het voorvoegsel mp3: of id3:, zonder bestandsnaamextensie.

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

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

MPEG-4-bestanden (zoals F4V en MP4)Geef de naam van de stream (in de map "samples") op als een tekenreeks met het voorvoegsel mp4:. Aan het voorvoegsel kan de server zien dat het bestand met H.264 gecodeerde video en met AAC gecodeerde audio bevat met de containerindeling MPEG-4 Part 14. Als het bestand op de server een bestandsextensie heeft, geeft u deze op.

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

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

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

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

RAWGeef de naam van de stream (in de map "samples") op als een tekenreeks met het voorvoegsel raw:ns.play("raw:samples/myvideo");

Modus voor gegevensgeneratie inschakelen

Als u de modus voor gegevensgeneratie wilt inschakelen, geeft u de waarde null door aan een NetStream die is gemaakt voor een NetConnection die een verbinding heeft met null. Roep in deze modus appendBytes() aan om gegevens aan de NetStream te leveren. (Door het doorgeven van null wordt ook de byteteller voor de callback onSeekPoint() opnieuw ingesteld.)

Speciale overwegingen voor H.264-video in AIR 3.0 for iOS

In geval van H.264-video accepteren de iOS-API's voor het afspelen van video alleen een URL naar een bestand of stream. U kunt geen buffer doorgeven met H264-videogegevens die moeten worden gedecodeerd. Geef het desbetreffende argument, afhankelijk van uw videobron, als volgt door aan NetStream.play():

  • Voor progressief afspelen: geef de (lokale of externe) URL van het bestand door.

  • Voor het streamen van video: geef de URL van een afspeellijst door in de HLS-indeling (HTTP Live Streaming) van Apple. Dit bestand kan op een willekeurige server worden gehost; Flash Media Server 4.5 en hoger kunnen bovendien streams in HLS-indeling coderen.


Gebeurtenissen
status:StatusEvent — Wordt verzonden tijdens een poging om inhoud af te spelen die met DRM is gecodeerd. De waarde van de code-eigenschap is "DRM.encryptedFLV".

Gegenereerde uitzondering
SecurityError — Lokale niet-vertrouwde SWF-bestanden kunnen niet communiceren met internet. U kunt deze beperking omzeilen door dit SWF-bestand opnieuw te classificeren als lokaal-met-netwerk of vertrouwd.
 
ArgumentError — Er moet ten minste één parameter worden opgegeven.
 
Error — Het object NetStream is ongeldig. Dit is mogelijk het gevolg van een mislukte NetConnection.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )
Flash Media Server In dit voorbeeld wordt een opgenomen F4V-bestand uit de map "samples" afgespeeld, vanaf het begin, gedurende maximaal 100 seconden. Als een MPEG-4-bestand op de server een extensie heeft, moet de methode play() eveneens een bestandsextensie opgeven.
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server In dit voorbeeld wordt een live-FLV-stream die door een client is gepubliceerd, onmiddellijk en van begin tot eind afgespeeld:
     ns.play("livestream");
     

In het volgende voorbeeld wordt beschreven hoe u een extern FLV-bestand moet laden:
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

()methode 
public function play2(param:NetStreamPlayOptions):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Schakelt naadloos tussen bestanden met meerdere bitratio's en staat een NetStream toe om te hervatten wanneer een verbinding wordt geannuleerd en opnieuw wordt aangesloten.

Deze methode is een verbeterde versie van NetStream.play(). De methode play2() begint met het afspelen van een mediabestand of plaatst mediabestanden in een wachtrij om een afspeellijst te maken, net als de methode play(). Indien gebruikt met Flash Media Server kan hiermee ook een aanvraag aan de server gedaan worden om over te schakelen naar een ander mediabestand. De overgang verloopt naadloos in clienttoepassing. De volgende functies gebruiken play2()-streamschakeling:

Dynamic streaming

Met dynamische streaming (ondersteund in Flash Media Server 3.5 en hoger) kunt u een stream voorzien die met verschillende bitsnelheden is gecodeerd. Als de netwerkvoorwaarden van een kijker wijzigen, ontvangen ze de bitsnelheid die de beste kijkervaring biedt. Gebruik de klasse NetStreamInfo om netwerkomstandigheden te controleren en naar een andere stream over te schakelen op basis van de gegevens. U kunt ook naar een andere stream overschakelen voor clients met verschillende mogelijkheden. Zie "Dynamic streaming" in de "Adobe Flash Media Server Developer Guide" voor meer informatie.

Adobe heeft een aangepaste ActionScript-klasse met de naam DynamicStream gemaakt die een uitbreiding is op de klasse NetStream. Met de klasse DynamicStream kunt u dynamische streaming in een toepassing implementeren in plaats van zelf code te schrijven om de netwerkomstandigheden te detecteren. Gebruik de klasse DynamicStream als referentie-implementatie, ook als u ervoor kiest zelf code voor dynamische streaming te schrijven. Download de klasse en de klassedocumentatie op de pagina Flash Media Server tools and downloads.

Stream herstellen

Met stream herstellen (ondersteund in Flash Media Server 3.5.3 en hoger) kunnen gebruikers zonder onderbreking van media genieten, zelfs als ze de verbinding verliezen. De media gebruikt de buffer om af te spelen terwijl uw ActionScript-logica opnieuw verbinding maakt met Flash Media Server. Nadat de verbinding is hersteld, roept u NetStream.attach() op om zo hetzelfde NetStream-object met de nieuwe NetConnection te gebruiken. Gebruik de NetStream.attach()-, NetStreamPlayTransitions.RESUME- en NetStreamPlayTrasitions.APPEND_AND_WAIT-API's om opnieuw verbinding met een stream te maken. Zie de Flash Media Server 3.5.3-documentatie voor meer informatie.

Parameters

param:NetStreamPlayOptions

Verwante API-elementen

preloadEmbeddedData

()methode 
public function preloadEmbeddedData(param:NetStreamPlayOptions):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.5, Flash Lite 4

Hiermee worden DRM-metagegevens uit een lokaal opgeslagen mediabestand opgehaald.

Voer preloadEmbeddedMetaData() uit als eerste stap bij het downloaden en in de cache plaatsen van de DRM-vouchers die nodig zijn om offline afspelen. Wanneer ingesloten DRM-metagegevens worden aangetroffen in een mediabestand, wordt een object DRMContentData doorgegeven aan de functie onDRMContentData van de NetStream-client. Dit object DRMContentData bevat de informatie die nodig is om de voucher op te halen die is vereist om de inhoud af te spelen. Geef het object DRMContentDataObject door aan de DRMManager-methode loadVoucher() om de voucher te downloaden.

U voert onder andere de volgende stappen uit om een DRM-voucher vooraf te laden:

  • Maak een nieuw object NetStream om de metagegevens vooraf te laden.

  • Wijs een callbackfunctie toe aan de eigenschap onDRMContentData van de NetStream-client.
  • Maak een nieuw object NetStreamPlayOptions en stel de eigenschap streamName van dat object in op de URL-tekenreeks van het lokale videobestand.
  • Roep preloadEmbeddedMetadata() aan en geef daarbij het object NetStreamPlayOptions door.
  • Roep als reactie op de onDRMContentData-callback de DRMManager-methode loadVoucher() aan en geef het object DRMContentData door. Als de eigenschap authenticationMethod van het object DRMContentData de waarde userNameAndPassWord heeft, moet u de gebruiker op de mediarechtenserver verifiëren voordat u de voucher laadt.
  • Sluit de NetStream die wordt gebruikt voor het vooraf laden.

Opmerking: Als u hetzelfde NetStream-object wilt gebruiken om metagegevens vooraf te laden en om inhoud af te spelen, moet u met het afspelen wachten totdat de laadbewerking de aanroep naar onPlayStatus heeft gegenereerd.

Gedownloade vouchers worden opgeslagen in een lokale cache. Bij het online afspelen van inhoud worden ook vouchers gedownload en in de cache geplaatst. Wanneer een met DRM beveiligd inhoudsbestand wordt weergegeven, wordt automatisch een voucher opgehaald uit de lokale cache. Gebruik de DRMManager om de vouchercache te beheren.

Opmerkingen: Het vooraf laden van DRM-metagegevens via HTTP-, HTTPS- of RTMP-verbindingen wordt niet ondersteund. U kunt alleen metagegevens uit bestanden die zijn opgeslagen in het bestandssysteem vooraf laden.

Parameters

param:NetStreamPlayOptions — NetStreamPlayOptions waarin de opties worden beschreven die worden gebruikt tijdens het verwerken van het inhoudsbestand.

Verwante API-elementen

publish

()methode 
public function publish(name:String = null, type:String = null):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9

Verzendt streaming audio, video en gegevensberichten van een client naar Flash Media Server. De stream kan optioneel tijdens het verzenden worden opgenomen. Deze methode verzendt een NetStatusEvent-object met informatie over de stream. Voordat u NetStream.publish() aanroept, legt u de gebeurtenis "NetConnection.Connect.Success" vast om te controleren of de toepassing daadwerkelijk verbinding met Flash Media Server heeft.

Bij het publiceren kunt u bestanden in FLV- of FLV4-indeling vastleggen. Als u een bestand vastlegt in de FV4-indeling, moet u een hulpprogramma gebruiken als u het bestand in een andere toepassing wilt bewerken of afspelen. Als u het hulpprogramma wilt downloaden, gaat u naar www.adobe.com/go/fms_tools_nl.

Opmerking: gebruik deze methode niet voor het afspelen van streams. Als u een stream wilt afspelen, roept u de methode NetStream.play() aan.

Workflow voor het publiceren van streams

  1. Maak een object NetConnection en roep NetConnection.connect() aan.
  2. Roep NetConnection.addEventListener() aan om te luisteren naar gebeurtenissen van het type NetStatusEvent.
  3. Maak voor de gebeurtenis "NetConnection.Connect.Success" een object NetStream en geef het object NetConnection door aan de constructor.
  4. Als u audio en video wilt vastleggen, kunt u de methoden NetStream.attachAudio() en NetStream.attachCamera() aanroepen.
  5. Als u een stream wilt publiceren, roept u de methode NetStream.publish() aan. U kunt de gegevens ook tijdens het publiceren opnemen, zodat gebruikers deze gegevens later kunnen afspelen.

Opmerking: een NetStream kan een stream publiceren of een stream afspelen, maar niet allebei. Als u een stream wilt publiceren en het afspelen op de server wilt bekijken, maakt u twee objecten NetStream. Via één object NetConnection kunt u meerdere objecten NetStream verzenden.

Wanneer Flash Media Server een stream vastlegt, wordt een bestand gemaakt. De server maakt standaard een directory waarbij de naam van de toepassingsinstantie wordt doorgegeven aan NetConnection.connect(), en het bestand wordt in de directory opgeslagen. Met de volgende code wordt bijvoorbeeld verbinding gemaakt met de toepassing 'lectureseries' en wordt een stream met de naam 'lecture' vastgelegd. Het bestand 'lecture.flv' wordt opgenomen in de directory 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");
       }
     }
     

In het volgende voorbeeld wordt verbinding gemaakt met een instantie 'monday' van dezelfde toepassing. Het bestand 'lecture.flv' wordt opgenomen in de map /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");
       }
     }
     

Parameters

name:String (default = null) — Een tekenreeks die de stream identificeert. Clients met een abonnement op deze stream moeten diezelfde naam doorgeven bij het aanroepen van NetStream.play(). Neem na de naam van de stream geen '/' op. Gebruik bijvoorbeeld niet de streamnaam bolero/.

U kunt bestanden opnemen met de indelingen die in de volgende tabel worden beschreven. (U kunt publish() niet gebruiken voor bestanden met de MP3-indeling). De syntaxis verschilt per bestandsindeling.

BestandsindelingSyntaxisVoorbeeld
FLVGeef de naam van de stream op als een tekenreeks, zonder een bestandsnaamextensie.ns.publish("myflvstream");
MPEG-4-bestanden (zoals F4V of MP4)Geef de naam van de stream op als een tekenreeks met het voorvoegsel mp4:, met of zonder de bestandsnaamextensie. Flash Player codeert met behulp van H.263, niet H.264. Flash Media Server kan elke codec in de F4V-container opnemen. Flash Media Live Encoder kan coderen met behulp van H.264. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWGeef de naam van de stream op als een tekenreeks met het voorvoegsel raw:ns.publish("raw:myvideo");

 
type:String (default = null) — Een tekenreeks die aangeeft hoe de stream moet worden gepubliceerd. Geldige waarden zijn "record", "append", "appendWithGap" en "live". De standaardwaarde is live.
  • Wanneer u record doorgeeft, worden de live gegevens door de server gepubliceerd en vastgelegd. De opgenomen gegevens worden opgeslagen naar een bestand met een naam die overeenkomt met de waarde die aan de parameter name is doorgegeven. Als het bestand bestaat, wordt het overschreven.
  • Wanneer u append doorgeeft, worden de live gegevens door de server gepubliceerd en vastgelegd. De opgenomen gegevens worden toegevoegd aan een bestand met een naam die overeenkomt met de waarde die aan de parameter name is doorgegeven. Als geen bestand wordt gevonden dat overeenkomt met de parameter name, wordt dat bestand alsnog gemaakt.
  • Als u "appendWithGap" doorgeeft, wordt extra informatie over de tijdscoördinatie doorgegeven waarmee het overgangspunt naar dynamische streaming beter kan worden bepaald door de server.
  • Wanneer u deze parameter weglaat of live doorgeeft, publiceert de toepassing live gegevens zonder deze vast te leggen. Wanneer er een bestand is met een naam die overeenkomt met de waarde die is doorgegeven aan de parameter name, wordt dat bestand verwijderd.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In het onderstaande voorbeeld wordt video van een camera vastgelegd en via een NetStream gepubliceerd naar Flash Media Server. In het onderstaande voorbeeld wordt de video weergegeven, wanneer deze vanaf Flash Media Server wordt afgespeeld.

Om dit voorbeeld uit te voeren, moet uw camera op uw computer aangesloten zijn. U moet ook een Button-component en een Label-component aan de Library toevoegen.

In de toepassing is een knop die pas een stream publiceert (die deze naar Flash Media Server verstuurd) nadat de toepassing verbinding met de server heeft gemaakt. De toepassing speelt de stream pas vanaf de server af, nadat de stream is gepubliceerd. Het NetStatusEvent retourneert een info-object met een codeeigenschap die deze gevallen definieert. De netStatusHandler-functie past deze gebeurtenissen voor de klassen NetConnection en NetStream toe.

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

()methode 
public function receiveAudio(flag:Boolean):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Geeft op of binnenkomende audio op de stream wordt afgespeeld. Deze methode is alleen beschikbaar voor clients die zijn geabonneerd op de opgegeven stream. De methode is niet beschikbaar voor de uitgever van de stream. Roep deze methode aan vóór of nadat u de methode NetStream.play() hebt aangeroepen. Als u deze methode bijvoorbeeld koppelt aan een knop, staat u toe dat gebruikers het volume van de audio kunnen dempen of verhogen. Gebruik deze methode alleen bij unicast-streams die worden afgespeeld vanuit Flash Media Server. Deze methode werkt niet bij RTMFP-multicast-streams of wanneer u de methode NetStream.appendBytes() gebruikt.

Parameters

flag:Boolean — Geeft op of binnenkomende audio op de stream wordt afgespeeld (true) of niet (false). De standaardwaarde is true. Als de opgegeven stream alleen audiogegevens bevat, stopt NetStream.time met de incrementele verhoging wanneer u false doorgeeft.

receiveVideo

()methode 
public function receiveVideo(flag:Boolean):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Hiermee wordt opgegeven of binnenkomende video op de stream wordt afgespeeld. Deze methode is alleen beschikbaar voor clients die zijn geabonneerd op de opgegeven stream. De methode is niet beschikbaar voor de uitgever van de stream. Roep deze methode aan vóór of nadat u de methode NetStream.play() hebt aangeroepen. Als u deze methode bijvoorbeeld koppelt aan een knop, staat u toe dat gebruikers de video kunnen weergeven en verbergen. Gebruik deze methode alleen bij unicast-streams die worden afgespeeld vanuit Flash Media Server. Deze methode werkt niet bij RTMFP-multicast-streams of wanneer u de methode NetStream.appendBytes() gebruikt.

Parameters

flag:Boolean — Geeft op of binnenkomende video op deze stream wordt afgespeeld (true) of niet (false). De standaardwaarde is true. Als de opgegeven stream alleen videogegevens bevat, stopt NetStream.time met de incrementele verhoging wanneer u false doorgeeft.

receiveVideoFPS

()methode 
public function receiveVideoFPS(FPS:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Bepaalt de framesnelheid voor inkomende video. Deze methode is alleen beschikbaar voor clients die zijn geabonneerd op de opgegeven stream. De methode is niet beschikbaar voor de uitgever van de stream. Roep deze methode aan vóór of nadat u de methode NetStream.play() hebt aangeroepen. U kunt deze methode bijvoorbeeld aanroepen als u wilt toestaan dat gebruikers de framesnelheid van de video kunnen instellen. Gebruik NetStream.currentFPS om de huidige framesnelheid te bepalen. Als u geen video meer wilt ontvangen, geeft u 0 door.

Als u een waarde aan de parameter FPS doorgeeft om de framesnelheid van de video te beperken, probeert Flash Media Server de framesnelheid te verlagen met behoud van de integriteit van de video. Tussen elke twee hoofdframes verzendt de server het minimale aantal frames dat nodig is om te voldoen aan de gewenste snelheid. Merk op dat I-frames (tussenliggende frames) aansluitend moeten worden verzonden om te voorkomen dat de video beschadigd raakt. Het gewenste aantal frames wordt dus onmiddellijk en direct na een sleutelframe verzonden. Omdat de frames niet gelijkmatig zijn verdeeld, lijkt de beweging vloeiend te verlopen in segmenten die met vakjes worden gemarkeerd.

Gebruik deze methode alleen bij unicast-streams die worden afgespeeld vanuit Flash Media Server. Deze methode werkt niet bij RTMFP-multicast-streams of wanneer u de methode NetStream.appendBytes() gebruikt.

Parameters

FPS:Number — Bepaalt de framesnelheid per seconde waarmee inkomende video wordt afgespeeld.

resetDRMVouchers

()methode 
public static function resetDRMVouchers():void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 11.8, Flash Lite 4

In AIR-toepassingen worden hiermee alle lokaal in de cache geplaatste vouchergegevens voor Digital Rights Management (DRM) verwijderd. Voor browsergebaseerde toepassingen is dit alleen beschikbaar bij 3322 fouten en gedraagt dit zich zoals het deelvenster Instellingen voor het afspelen van beveiligde inhoud.

De toepassing moet alle vereiste vouchers opnieuw vanaf de mediarechtenserver downloaden, zodat de gebruiker toegang kan krijgen tot beveiligde inhoud. Het aanroepen van deze functie komt overeen met het aanroepen van de functie resetDRMVouchers() van het object DRMManager.


Gegenereerde uitzondering
IOError — De vouchergegevens kunnen niet worden verwijderd.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In het volgende voorbeeld worden alle DRM-vouchers opnieuw ingesteld:
NetStream.resetDRMVouchers();

resume

()methode 
public function resume():void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Hervat het afspelen van een gepauzeerde videostream. Wanneer de video al wordt afgespeeld, heeft het aanroepen van deze methode geen effect.

Verwante API-elementen

seek

()methode 
public function seek(offset:Number):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Zoekt het hoofdframe (ook wel I-frame genoemd) dat zich het dichtst bij de opgegeven locatie bevindt. Het hoofdframe wordt bij een offset geplaatst, in seconden, vanaf het begin van de stream.

Videostreams zijn meestal gecodeerd met twee typen frames: hoofdframes (I-frames) en P-frames. Een hoofdframe bevat een gehele afbeelding, terwijl een P-frame een tussenframe is dat aanvullende video-informatie biedt tussen hoofdframes. Een videoframe bevat gewoonlijk om de 10 tot 50 frames een hoofdframe.

Flash Media Server heeft verschillende types zoekgedrag: geavanceerd zoeken en slim zoeken.

Geavanceerd zoeken

Standaard is geavanceerd zoeken ingeschakeld. Om geavanceerd zoeken uit te schakelen, stelt u op Flash Media Server het EnhancedSeek-element in het Application.xml-configuratiebestand in op false.

Wanneer geavanceerd zoeken is ingeschakeld, genereert de server een nieuw hoofdframe bij offset, gebaseerd op het vorige hoofdframe en eventuele tussenliggende P-frames. Het genereren van hoofdframes zorgt echter voor een hoge verwerkingsbelasting op de server en kan resulteren in vervorming in het gegenereerde hoofdframe. Wanneer de video-codec On2 is, wordt het hoofdframe voorafgaand aan het zoekpunt en eventuele P-frames tussen het hoofdframe en het zoekpunt naar de client verzonden.

Als geavanceerd zoeken uitgeschakeld is, start de server met streamen vanaf het dichtstbijzijnde hoofdframe. Stel dat een video hoofdframes heeft bij 0 seconden en 10 seconden. Door een zoekactie tot 4 seconden wordt het afspelen bij 4 seconden gestart aan de hand van het hoofdframe bij 0 seconden. De video blijft stilstaan totdat het volgende hoofdframe bij 10 seconden wordt bereikt. Voor een betere zoekfunctionaliteit moet u het hoofdframe-interval verkleinen. In de normale zoekmodus kunt u de video niet starten bij een punt tussen de hoofdframes.

Slim zoeken

Om slim zoeken in te schakelen, stelt u NetStream.inBufferSeek in op true.

Met slim zoeken kan Flash Player zoeken binnen een bestaande achterwaartse en voorwaartse buffer. Wanneer slim zoeken uitgeschakeld is, maakt Flash Player elke keer wanneer seek() opgeroepen wordt, de buffer leeg en vraagt deze gegevens van de server op. Zie NetStream.inBufferSeek voor meer informatie.

Zoeken in de modus voor gegevensgeneratie

Als u seek() aanroept voor een NetStream die zich in de modus voor gegevensgeneratie bevindt, worden alle bytes die vervolgens worden doorgegeven aan appendBytes() genegeerd (ze worden niet in de buffer geplaatst, niet verzameld in de FIFO voor gedeeltelijke berichten en niet geparseerd voor zoekpunten) totdat u appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) of appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) aanroept om de parser opnieuw in te stellen. Zie NetStream.play() voor informatie over de modus voor gegevensgeneratie.

Parameters

offset:Number — De tijdwaarde (bij benadering) in seconden waarnaar de afspeelkop in een videobestand moet worden verplaatst. Wanneer Flash Media Server wordt gebruikt en <EnhancedSeek> op true is ingesteld in het configuratiebestand Application.xml (wat standaard het geval is), genereert de server een hoofdframe bij offset.
  • Geef 0 door voor offset om terug te keren naar het begin van de stream.
  • Wanneer u wilt doorspoelen vanaf het begin van de stream, geeft u door hoeveel seconden u wilt doorspoelen. Gebruik bijvoorbeeld mijnStream.seek(15) wanneer u de afspeelkop op 15 seconden vanaf het begin wilt plaatsen (of het hoofdframe vóór 15 seconden).
  • Wanneer u ten opzichte van de huidige positie wilt door- of terugspoelen, geeft u NetStream.time + n of NetStream.time - n door om n seconden vanaf de huidige positie door of terug te spoelen. Gebruik bijvoorbeeld NetStream.seek(NetStream.time - 20). wanneer u 20 seconden vanaf de huidige positie wilt terugspoelen.

Verwante API-elementen

send

()methode 
public function send(handlerName:String, ... arguments):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9

Hiermee wordt een bericht over de gepubliceerde stream naar alle geabonneerde clients verzonden. Deze methode is alleen beschikbaar voor de uitgever van de opgegeven stream. Deze methode kan alleen worden gebruikt met Flash Media Server. Maak een handler voor het object NetStream om dit bericht te verwerken en erop te reageren, bijvoorbeeld ns.HandlerName.

Flash Player of AIR past geen serienummering toe op methoden of de bijbehorende gegevens, objectprototypevariabelen of niet-opsombare variabelen. Voor weergaveobjecten serialiseert Flash Player of AIR het pad, maar niet de gegevens.

U kunt de methode send() aanroepen om gegevenshoofdframes toe te voegen aan een livestream die naar Flash Media Server wordt gepubliceerd. Een gegevenshoofdframe is een bericht dat een uitgever aan een live stream toevoegt. Gegevenshoofdframes worden met name gebruikt om metagegevens aan een live stream toe te voegen voordat gegevens voor de stream worden vastgelegd via camera en microfoon. Een uitgever kan een gegevenshoofdframe op elk moment toevoegen terwijl de live stream wordt gepubliceerd. De gegevenshoofdframe wordt opgeslagen in het geheugen van de server zolang de uitgever met de server is verbonden.

Clients die op de live stream zijn geabonneerd voordat een gegevenshoofdframe wordt toegevoegd, ontvangen de hoofdframe zodra deze is toegevoegd. Clients die zich op een live stream abonneren nadat de gegevenshoofdframe is toegevoegd, ontvangen het hoofdframe wanneer zij zich abonneren.

U kunt een hoofdframe met metagegevens toevoegen aan een live stream die naar Flash Media Server wordt verzonden door @setDataFrame als de handlernaam te gebruiken, gevolgd door twee aanvullende argumenten, bijvoorbeeld:

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

Het argument @setDataFrame verwijst naar een speciale handler die standaard in Flash Media Server is opgenomen. Het argument onMetaData is de naam van een callback-functie in uw clienttoepassing die luistert naar de gebeurtenis onMetaData en de metagegevens ophaalt. Het derde item, metaData, is een instantie vanObject of Array met eigenschappen die de metagegevenswaarden definiëren.

Gebruik @clearDataFrame om een hoofdframe met metagegevens te wissen dat al in de stream is ingesteld:

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

Parameters

handlerName:String — Het te verzenden bericht. Tevens de naam van de ActionScript-handler die het bericht ontvangt. De naam van de handler kan slechts één niveau diep zijn genest (en kan dus niet de vorm bovenliggend/onderliggend hebben) en is relatief ten opzichte van het streamobject. Gebruik geen gereserveerde term voor de naam van een handler. Wanneer u bijvoorbeeld close als handlernaam gebruikt, werkt de methode niet. Met Flash Media Server kunt u @setDataFrame gebruiken om een hoofdframe van metagegevens aan een live stream toe te voegen, of @clearDataFrame om een hoofdframe te verwijderen.
 
... arguments — Optionele argumenten die van elk mogelijk type kunnen zijn. De argumenten hebben een serienummer en worden verzonden via de verbinding. De ontvangende handler ontvangt de argumenten in dezelfde volgorde. Wanneer een parameter een circulair object is (bijvoorbeeld een gekoppelde lijst met kringverwijzingen) worden de verwijzingen op de juiste manier verwerkt door de serienummering. Wanneer bij gebruik van Flash Media Server @setDataFrame het eerste argument is, gebruikt u onMetaData als het tweede argument. Voor het derde argument geeft u een instantie Object of Array door waarvoor de metagegevens als eigenschappen zijn ingesteld. Raadpleeg de Flash Media Server Developer Guide voor een lijst met voorgestelde eigenschapsnamen. Wanneer u @clearDataFrame als het eerste argument gebruikt, gebruikt u onMetaData als het tweede argument en gebruikt u geen derde argument.

Verwante API-elementen


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In het volgende voorbeeld worden twee objecten NetStream gemaakt. Het ene object wordt gebruikt om een live stream op de server te publiceren en het andere object abonneert zich op de stream.
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);
    }
 }

In het volgende voorbeeld worden metagegevens gemaakt en aan de live stream toegevoegd:
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() );        
    }
}

Om te reageren op een gegevenshoofdframe die aan een video is toegevoegd, moet de client een gebeurtenishandler onMetaData definiëren. De gebeurtenishandler onMetaData wordt niet geregistreerd met addEventListener(), maar is een callback-functie met de naam onMetaData, bijvoorbeeld:
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

In dit voorbeeld wordt getoond hoe u een afspeellijst op de server kunt maken:
 // 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);

Wanneer het opgenomen videobestand alleen gegevensberichten bevat, kunt u het videobestand afspelen op de snelheid waarmee deze oorspronkelijk is opgenomen of u kunt alle gegevensberichten tegelijk ophalen.
 //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

()methode 
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Lite 4

Stelt de DRM-verificatiereferenties in die nodig zijn om de onderliggende gecodeerde inhoud weer te geven.

De methode setDRMAuthenticationCredentials() moet referenties opgeven die overeenkomen met referenties die bekend zijn bij en geaccepteerd zijn door de contentprovider of proxyserver. Het zijn dezelfde referenties als die de gebruiker opgeeft om toestemming te krijgen om de inhoud te bekijken.

Parameters

userName:String — Een geldige gebruikersnaam als referentie.
 
password:String — Het wachtwoord als referentie, die overeenkomt met de opgegeven gebruikersnaam.
 
type:String — Een tekenreeks die bepaalt welk type verificatiereferenties worden opgegeven. Geldige waarden zijn drm en proxy. De standaardwaarde is drm.
  • Bij het autorisatietype "drm" worden de gegevens geverifieerd bij Flash Access.
  • Met het verificatietype proxy worden de gegeven referenties geverifieerd met de proxyserver. Ze moeten overeenkomen met de referenties die door de proxyserver worden geleverd. Met de optie "proxy" kan de toepassing bijvoorbeeld de verificatie uitvoeren met een proxyserver als een dergelijke stap door een onderneming wordt vereist voordat de gebruiker toegang krijgt tot internet. Als geen anonieme verificatie wordt gebruikt, moet de gebruiker zich na de proxyverificatie alsnog verifiëren bij Flash Access om de voucher te verkrijgen en de inhoud af te spelen. U kunt setDRMAuthenticationcredentials() nogmaals gebruiken (nu met de optie "drm") om verificatie uit te voeren bij Flash Access.

Verwante API-elementen

step

()methode 
public function step(frames:int):void

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2

Gaat het opgegeven aantal frames vooruit of achteruit, afhankelijk van het frame dat op dat moment wordt weergegeven. Geef een positief getal op voor een stap vooruit en een negatief getal voor een stap achteruit. Roep deze methode op om een correcte functionaliteit voor snel vooruit spoelen of terugspoelen te maken.

Opmerking: deze methode wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Deze methode is alleen beschikbaar wanneer gegevens vanaf Flash Media Server 3.5.3 of hoger wordt gestreamd en als NetStream.inBufferSeek true is. Het doelframe moet zich ook in de buffer bevinden. Stel dat frame nummer 120 momenteel wordt weergegeven en u geeft de waarde 1000 op, dan mislukt deze methode als frame nummer 1120 niet is opgenomen in de buffer.

Deze methode is bedoeld voor gebruik met de methoden pause() of togglePause(). Als u 10 frames voor of achterwaards gaat tijdens het afspelen zonder pauzeren, kunnen de stappen niet duidelijk zijn of eruit zien als een glitch. Dit is ook het geval als u pause() oproept of togglePause van de audio wordt onderdrukt.

Als de aanroep aan NetStream.step() succesvol is, wordt een NetStatusEvent verzonden met de waarde NetStream.Step.Notify voor de eigenschap code van het informatieobject.

Parameters

frames:int

Verwante API-elementen

togglePause

()methode 
public function togglePause():void

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Pauzeert of hervat het afspelen van een stream. De eerste keer dat u deze methode aanroept, wordt het afspelen gepauzeerd. De volgende keer wordt het afspelen hervat. Met deze methode kunt u gebruikers het afspelen laten pauzeren of hervatten door op een knop te klikken.

Verwante API-elementen

Gebeurtenisdetails

asyncError

Gebeurtenis
Type gebeurtenisobject: flash.events.AsyncErrorEvent
eigenschap AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Wordt verzonden wanneer een uitzondering asynchroon wordt gegenereerd, dat wil zeggen, vanuit native asynchrone code. Deze gebeurtenis wordt verzonden wanneer een server een methode op de client aanroept die niet is gedefinieerd.

De constante AsyncErrorEvent.ASYNC_ERROR definieert de waarde van de eigenschap type van een gebeurtenisobject asyncError.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
bubblesfalse
cancelablefalse; er is geen standaardgedrag om te annuleren.
currentTargetHet object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener.
targetHet object dat de gebeurtenis verzendt.
errorDe fout die de gebeurtenis heeft geactiveerd.

Verwante API-elementen

drmAuthenticate

Gebeurtenis  
Type gebeurtenisobject: flash.events.DRMAuthenticateEvent
eigenschap DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Lite 4

Wordt verzonden wanneer een NetStream-object met DRM-gecodeerde inhoud (digital rights management) probeert af te spelen waarvoor ter verificatie gebruikersreferenties nodig zijn.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Gebruik de methode setDRMAuthenticationCredentials() van het NetStream-object om de gebruiker te verifiëren. Als gebruikersverificatie is mislukt, probeert de toepassing de verificatie opnieuw en wordt een nieuwe DRMAuthenticateEvent-gebeurtenis voor het NetStream-object verzonden.

De constante DRMAuthenticateEvent.DRM_AUTHENTICATE bevat de waarde van de eigenschap type van een DRMAuthenticateEvent-object.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
authenticationTypeGeeft aan of de gegeven referenties bestemd zijn voor verificatie met het FMRMS (Flash Media Rights Management Server) of een proxyserver.
bubblesfalse
cancelablefalse er is geen standaardgedrag om te annuleren.
headerDe header van het gecodeerde inhoudsbestand, verstrekt door de server.
netstreamHet NetStream-object dat deze gebeurtenis heeft gestart.
passwordPromptEen vraag naar een wachtwoordreferentie, verstrekt door de server.
targetHet NetStream-object.
urlPromptEen vraag naar een URL om weer te geven, verstrekt door de server.
usernamePromptEen vraag naar een gebruikersnaamreferentie, verstrekt door de server.

Verwante API-elementen

drmError

Gebeurtenis  
Type gebeurtenisobject: flash.events.DRMErrorEvent
eigenschap DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 10.1, Flash Lite 4

Wordt verzonden wanneer een NetStream-object, dat een met DRM (Digital Rights Management) gecodeerd bestand probeert af te spelen, een DRM-fout detecteert. Er wordt bijvoorbeeld een DRMErrorEvent-object verzonden wanneer de gebruikersverificatie mislukt. Dit kan komen omdat de gebruiker geen rechten heeft gekocht om de inhoud te bekijken of omdat de contentprovider de weergavetoepassing niet ondersteunt.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

De constante DRMErrorEvent.DRM_ERROR definieert de waarde van de eigenschap type van een drmError-gebeurtenisobject.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
bubblesfalse
cancelablefalse; er is geen standaardgedrag om te annuleren.
errorIDEen numerieke foutcode die aan het probleem is toegewezen.
subErrorIDEen foutcode die gedetailleerdere informatie geeft over het onderliggende probleem.
targetHet NetStream-object.

Verwante API-elementen

drmStatus

Gebeurtenis  
Type gebeurtenisobject: flash.events.DRMStatusEvent
eigenschap DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 10.1, Flash Lite 4

Wordt verzonden wanneer de met DRM (digital rights management) gecodeerde inhoud wordt afgespeeld (nadat de gebruiker is geverifieerd en is gemachtigd om de inhoud af te spelen).

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Het DRMStatusEvent-object bevat informatie die betrekking heeft op de voucher. Hierin staat bijvoorbeeld of de inhoud offline beschikbaar is of niet, of er wordt melding gemaakt van de vervaldatum van de voucher waarna gebruikers de inhoud niet langer kunnen bekijken.

De constante DRMStatusEvent.DRM_STATUS definieert de waarde van de eigenschap type van een gebeurtenisobject drmStatus.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
bubblesfalse
cancelablefalse; er is geen standaardgedrag om te annuleren.
detailEen tekenreeks waarin de context van een statusgebeurtenis wordt uitgelegd.
isAnonymousGeeft aan of de met DRM-codering beveiligde inhoud beschikbaar is zonder dat een gebruiker verificatiereferenties moet opgeven.
isAvailableOfflineGeeft aan of de met DRM-codering beveiligde inhoud offline beschikbaar is.
offlineLeasePeriodHet aantal dagen dat de inhoud nog offline kan worden bekeken.
policiesEen aangepast object van de DRM-statusgebeurtenis.
targetHet NetStream-object.
voucherEndDateDe absolute datum waarop de voucher verloopt en de inhoud niet meer door gebruikers kan worden bekeken.
contentDataDe DRMContentData voor de inhoud
voucherHet object DRMVoucher voor de inhoud.
isLocalGeeft aan of de inhoud is opgeslagen in het lokale bestandssysteem.

Verwante API-elementen

ioError

Gebeurtenis  
Type gebeurtenisobject: flash.events.IOErrorEvent
eigenschap IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Wordt verzonden wanneer een invoer- of uitvoerfout optreedt die ertoe leidt dat een netwerkbewerking mislukt.

Definieert de waarde van de eigenschap type van een gebeurtenisobject ioError.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
bubblesfalse
cancelablefalse; er is geen standaardgedrag om te annuleren.
currentTargetHet object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener.
errorIDEen referentienummer dat aan de specifieke fout is gekoppeld (alleen AIR).
targetHet netwerkobject dat de invoer-/uitvoerfout ondervindt.
textTekst die moet worden weergegeven als foutbericht.

mediaTypeData

Gebeurtenis  
Type gebeurtenisobject: flash.events.NetDataEvent
eigenschap NetDataEvent.type = flash.events.NetDataEvent

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.3, AIR 2.7

Verzonden wanneer de video-inhoud wordt afgespeeld en bepaalde type berichten worden verwerkt.

Er wordt een NetDataEvent verzonden voor de volgende berichten:

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (voor de code NetStream.Play.Complete)
  • onTextData
  • onXMPData

Opmerking: deze gebeurtenis wordt niet verzonden door inhoud die in Flash Player in de browser op Android of Blackberry Tablet OS wordt uitgevoerd of wordt uitgevoerd door inhoud in AIR op iOS.

netStatus

Gebeurtenis  
Type gebeurtenisobject: flash.events.NetStatusEvent
eigenschap NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Wordt verzonden wanneer een object NetStream de eigen status of fout meldt. De gebeurtenis netStatus bevat een eigenschap info. Dit is een informatieobject dat specifieke informatie over de gebeurtenis bevat, zoals of een poging om verbinding te maken is geslaagd of mislukt.

Definieert de waarde van de eigenschap type van een gebeurtenisobject netStatus.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
bubblesfalse
cancelablefalse; er is geen standaardgedrag om te annuleren.
currentTargetHet object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener.
infoEen object met eigenschappen die de status of fout van het object beschrijven.
targetHet object NetConnection of NetStream dat zijn status meldt.

Verwante API-elementen

onCuePoint

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Hiermee stelt u een listener in die antwoordt wanneer tijdens het afspelen van een videobestand een ingesloten actiepunt is bereikt. U kunt deze listener gebruiken om handelingen in uw code te activeren wanneer de video een bepaald actiepunt bereikt. Vervolgens kunt u andere handelingen in uw toepassing synchroniseren met gebeurtenissen voor het afspelen van video. Zie de www.adobe.com/go/learn_fms_fileformats_nl voor informatie over videobestandsindelingen die worden ondersteund door Flash Media Server.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

onCuePoint is in feite een eigenschap van het NetStream.client-object. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het streamen van media via Flash Media Server of tijdens het afspelen van een FLV-bestand. Zie de beschrijving van de klasse NetStream voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onCuePoint als een gebeurtenis te luisteren of deze als zodanig te verwerken. Definieer een callback-functie en koppel deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. Maak een subklasse van NetStream en definieer uw gebeurtenishandler in de subklasse. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

De gekoppelde gebeurtenislistener wordt geactiveerd na een aanroep van de methode NetStream.play(), maar voordat de afspeelkop van de video naar voren is verplaatst.

U kunt de volgende typen actiepunten insluiten in een videobestand:

  • Met een navigatieactiepunt wordt een hoofdframe in het videobestand opgegeven en de eigenschap time van het actiepunt komt exact overeen met dat hoofdframe. Navigatieactiepunten worden vaak als bladwijzer of ingangspunt gebruikt, zodat gebruikers door het videobestand kunnen navigeren.
  • Een gebeurtenisactiepunt geeft een tijd aan. De tijd kan overeenkomen met een bepaald hoofdframe, maar dit hoeft niet. Een gebeurtenisactiepunt staat doorgaans voor een moment in de video waarop iets gebeurt dat kan worden gebruikt om andere toepassingsgebeurtenissen te activeren.

Het gebeurtenisobject onCuePoint heeft de volgende eigenschappen:

EigenschapBeschrijving
nameDe naam die aan het actiepunt is gegeven toen het in het videobestand werd ingesloten.
parametersEen associatieve array van naam-/waardepaarstrings die voor dit actiepunt zijn opgegeven. Voor de parameternaam of -waarde kan elke geldige tekenreeks worden gebruikt.
timeDe tijd, in seconden, waarop het actiepunt tijdens het afspelen in het videobestand optreedt.
typeHet type actiepunt dat is bereikt: navigatie of gebeurtenis.

U kunt actiepunten in een videobestand definiëren wanneer u het bestand codeert of wanneer u een videoclip in het Flash-ontwerpgereedschap importeert met de wizard Video importeren.

Met de gebeurtenis onMetaData wordt ook informatie over de actiepunten in een videobestand opgehaald. De gebeurtenis onMetaData haalt die informatie echter op voordat de video wordt afgespeeld. Met de gebeurtenis onCuePoint wordt tijdens het afspelen informatie over één actiepunt ontvangen op het voor dat actiepunt opgegeven tijdstip.

Wanneer u wilt dat uw code op een actiepunt reageert op het moment dat deze optreedt, gebruikt u de gebeurtenis onCuePoint om een handeling in uw code te activeren.

U kunt gebruikmaken van de lijst met actiepunten, beschikbaar voor de gebeurtenis onMetaData, om de gebruiker in staat te stellen de video af te spelen vanaf vooraf gedefinieerde punten in de videostream. Geef de waarde van de eigenschap time van het actiepunt door aan de methode NetStream.seek() om de video vanaf dat actiepunt af te spelen.


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In het volgende voorbeeld kunt u zien hoe u externe FLV-bestanden kunt laden en kunt reageren op metagegevens en actiepunten. Voorbeeld van 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);
}

Verwante API-elementen

onDRMContentData

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.5, Flash Lite 4

Hiermee wordt een listener ingesteld die antwoordt wanneer AIR metagegevens ophaalt uit DRM-inhoud die is ingesloten in een mediabestand.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Een object DRMContentData bevat de informatie die nodig is om een voucher te verkrijgen dat is vereist voor het afspelen van een met DRM beveiligd mediabestand. Gebruik de klasse DRMManager om de voucher met deze informatie te downloaden.

onDRMContentData is een eigenschap van het object NetStream.client. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het vooraf laden van ingesloten gegevens uit een lokaal mediabestand. Zie de beschrijving van de klasse NetStream voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onDRMContentData als een gebeurtenis te luisteren of deze als zodanig te verwerken. In plaats daarvan definieert u één callback-functie die u rechtstreeks aan een van de volgende objecten koppelt:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. U kunt wel een subklasse van NetStream maken en de gebeurtenishandler in de subklasse definiëren of de subklasse dynamisch maken en de gebeurtenishandlerfunctie aan een instantie van de subklasse toevoegen.

Verwante API-elementen

onImageData

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Hiermee wordt een listener ingesteld die antwoordt wanneer Flash Player afbeeldingsgegevens ontvangt als een bytearray die is ingesloten in een mediabestand dat wordt afgespeeld. De afbeeldingsgegevens kunnen JPEG-, PNG- of GIF-inhoud produceren. Gebruik de methode flash.display.Loader.loadBytes() om de bytearray in een weergaveobject te laden.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

onImageData is in feite een eigenschap van het NetStream.client-object. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het streamen van media via Flash Media Server of tijdens het afspelen van een FLV-bestand. Zie de beschrijving van de klasse NetStream voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onImageData als een gebeurtenis te luisteren of deze als zodanig te verwerken. Definieer één callback-functie en koppel deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. Maak een subklasse van NetStream en definieer uw gebeurtenishandler in de subklasse. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

De gekoppelde gebeurtenislistener wordt geactiveerd na een aanroep van de methode NetStream.play(), maar voordat de afspeelkop van de video naar voren is verplaatst.

Het onImageData-gebeurtenisobject bevat de afbeeldingsgegevens als een bytearray die via een AMF0-gegevenskanaal wordt verzonden.


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In de code in dit voorbeeld wordt de eigenschap Netstream.client gebruikt om de callbackfuncties af te handelen voor onTextData en onImageData. De functie onImageDataHandler() gebruikt het onImageData-gebeurtenisobject imageData om de bytearray op te slaan. En de functie onTextDataHandler() gebruikt het onTextData-gebeurtenisobject textData om de stukjes tekstgegeven (elk stukje tekstgegeven is een eigenschap van het textData-object) op te slaan.

U dient een echte locatie van een mediabestand te vervangen door tekst- of afbeeldingsmetagegevens voor de locatie "uwURL" in de code.

U kunt de afbeeldings- en tekstgegevens ook afhandelen met een aangepaste klasse. Zie het artikel Metagegevens en actiepunten in Flash-video afhandelen voor meer informatie en voorbeelden.

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

        }

}

Verwante API-elementen

onMetaData

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Hiermee wordt een listener ingesteld die antwoordt wanneer Flash Player beschrijvende informatie ontvangt die is ingesloten in de video die wordt afgespeeld. Zie de www.adobe.com/go/learn_fms_fileformats_nl voor informatie over videobestandsindelingen die worden ondersteund door Flash Media Server.

onMetaData is in feite een eigenschap van het NetStream.client-object. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het streamen van media via Flash Media Server of tijdens het afspelen van een FLV-bestand. Zie de beschrijving van de klasse NetStream en de eigenschap NetStream.client voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onMetaData als een gebeurtenis te luisteren of deze als zodanig te verwerken. Definieer één callback-functie en koppel deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. U kunt een subklasse van NetStream maken en uw gebeurtenishandler in de subklasse definiëren. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

In Flash Video Exporter 1.1 of hoger worden de duur, de aanmaakdatum, de gegevenssnelheden en andere gegevens in het videobestand zelf ingesloten. Met verschillende videocoderingsprogramma's worden verschillende sets metagegevens ingesloten.

De gekoppelde gebeurtenislistener wordt geactiveerd na een aanroep van de methode NetStream.play(), maar voordat de afspeelkop van de video naar voren is verplaatst.

In veel gevallen komt de in de streammetagegevens ingesloten waarde voor de duur niet exact overeen met de werkelijke duur. Deze waarde komt dus niet altijd overeen met de waarde van de eigenschap NetStream.time wanneer de afspeelkop het einde van de videostream bereikt.

Het gebeurtenisobject dat aan de gebeurtenishandler onMetaData wordt doorgegeven bevat voor elk stukje gegeven één eigenschap.


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In het volgende voorbeeld kunt u zien hoe u externe FLV-bestanden kunt laden en kunt reageren op metagegevens en actiepunten. Voorbeeld van 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);
}

Verwante API-elementen

onPlayStatus

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9, Flash Lite 4

Hiermee wordt een listener ingesteld die moet antwoorden wanneer een NetStream-object een stream volledig heeft afgespeeld. Het gekoppelde gebeurtenisobject verstrekt informatie naast de informatie die wordt geretourneerd door de gebeurtenis netStatus. U kunt deze eigenschap gebruiken om handelingen in uw code te activeren wanneer een object NetStream is overgeschakeld van de ene naar de andere stream in een afspeellijst (zoals aangegeven door het informatieobject NetStream.Play.Switch) of wanneer een object NetStream tot het einde is afgespeeld (zoals aangegeven door het informatieobject NetStream.Play.Complete).

onPlayStatus is in feite een eigenschap van het NetStream.client-object. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het streamen van media via Flash Media Server of tijdens het afspelen van een FLV-bestand. Zie de beschrijving van de klasse NetStream voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onPlayStatus als een gebeurtenis te luisteren of deze als zodanig te verwerken. Definieer een callback-functie en koppel deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. Maak een subklasse van NetStream en definieer uw gebeurtenishandler in de subklasse. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

Deze gebeurtenis kan een informatieobject met de volgende eigenschappen retourneren:

Code-eigenschapNiveau-eigenschapBetekenis
NetStream.Play.Switch"status"De abonnee schakelt over van de ene naar de andere stream in een afspeellijst.
NetStream.Play.Complete"status"Het afspelen is voltooid.
NetStream.Play.TransitionComplete"status"De abonnee schakelt over naar een andere stream als gevolg van een wisseling in de bitsnelheid van de stream.

Verwante API-elementen

onSeekPoint

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 2, Flash Lite 4

Wordt synchroon aangeroepen vanuit appendBytes() wanneer de parser voor het toevoegen van bytes een punt tegenkomt en denkt dat dit punt doorzoekbaar is (bijvoorbeeld een videohoofdframe). Gebruik deze gebeurtenis om een zoekpuntentabel te maken. De byteCount komt overeen met de byteCount bij de eerste byte van het parseerbare bericht voor dat zoekpunt en wordt zoals eerder is beschreven op nul ingesteld. Als u wilt zoeken, lokaliseert u in de gebeurtenis NetStream.Seek.Notify de bytes die beginnen bij een doorzoekbaar punt en roept u vervolgens appendBytes(bytes) aan. Als het argument bytes een ByteArray is met bytes die beginnen bij het doorzoekbare punt, wordt de video afgespeeld vanaf dat zoekpunt.

Opmerking: Aanroepen vanuit deze callback naar appendBytes() worden genegeerd.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

De eigenschap onSeekPoint is een eigenschap van het object NetStream.client. De eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op gegevens die worden ontvangen door de methode appendBytes(). Zie de beschrijving van de klasse NetStream en de eigenschap NetStream.client voor meer informatie. U kunt de methode addEventListener() of een andere EventDispatcher-methode niet gebruiken om naar onSeekPoint als gebeurtenis te luisteren of deze als gebeurtenis te verwerken. Als u onSeekPoint wilt gebruiken, definieert u een callback-functie en koppelt u deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. U kunt echter een subklasse van NetStream maken en uw gebeurtenishandler in de subklasse definiëren. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

Verwante API-elementen

onTextData

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Hiermee wordt een listener ingesteld die antwoordt wanneer Flash Player tekstgegevens ontvangt die zijn ingesloten in een mediabestand dat wordt afgespeeld. De tekstgegevens hebben de UTF-8-indeling en kunnen informatie bevatten over opmaak op basis van de 3GP-specificatie voor getimede tekst.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

onTextData is in feite een eigenschap van het NetStream.client-object. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het streamen van media via Flash Media Server of tijdens het afspelen van een FLV-bestand. Zie de beschrijving van de klasse NetStream voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onTextData als een gebeurtenis te luisteren of deze als zodanig te verwerken. Definieer een callback-functie en koppel deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. Maak een subklasse van NetStream en definieer uw gebeurtenishandler in de subklasse. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

De gekoppelde gebeurtenislistener wordt geactiveerd na een aanroep van de methode NetStream.play(), maar voordat de afspeelkop van de video naar voren is verplaatst.

Het onTextData-gebeurtenisobject bevat één eigenschap voor elk stukje tekstgegeven.


Voorbeeld  ( Hoe dit voorbeeld te gebruiken )

In de code in dit voorbeeld wordt de eigenschap Netstream.client gebruikt om de callbackfuncties af te handelen voor onTextData en onImageData. De functie onImageDataHandler() gebruikt het onImageData-gebeurtenisobject imageData om de bytearray op te slaan. En de functie onTextDataHandler() gebruikt het onTextData-gebeurtenisobject textData om de stukjes tekstgegeven (elk stukje tekstgegeven is een eigenschap van het textData-object) op te slaan.

U dient een echte locatie van een mediabestand te vervangen door tekst- of afbeeldingsmetagegevens voor de locatie "uwURL" in de code.

U kunt de afbeeldings- en tekstgegevens ook afhandelen met een aangepaste klasse. Zie het artikel Metagegevens en actiepunten in Flash-video afhandelen voor meer informatie en voorbeelden.

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

        }

}

Verwante API-elementen

onXMPData

Gebeurtenis  

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Hiermee wordt een listener tot stand gebracht die reageert wanneer Flash Player gegevens ontvangt met betrekking tot het Adobe Extensible Metadata Platform (XMP) dat is ingesloten in de video die wordt afgespeeld. Zie de www.adobe.com/go/learn_fms_fileformats_nl voor informatie over videobestandsindelingen die worden ondersteund door Flash Media Server.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

onXMPData is in feite een eigenschap van het object NetStream.client. Deze eigenschap wordt vermeld in de gebeurtenissensectie omdat deze reageert op een gegevensgebeurtenis tijdens het streamen van media via Flash Media Server of tijdens het afspelen van een FLV-bestand. Zie de beschrijving van de klasse NetStream en de eigenschap NetStream.client voor meer informatie. U kunt niet de methode addEventListener() of een andere EventDispatcher-methode gebruiken om naar onMetaData als een gebeurtenis te luisteren of deze als zodanig te verwerken. Definieer een callback-functie en koppel deze aan een van de volgende objecten:

  • Het object waarnaar de eigenschap client van een instantie NetStream verwijst.
  • Een instantie van een subklasse van NetStream. NetStream is een verzegelde klasse, hetgeen betekent dat gedurende de uitvoering geen eigenschappen of methoden kunnen worden toegevoegd aan een object NetStream. U kunt echter een subklasse van NetStream maken en uw gebeurtenishandler in de subklasse definiëren. U kunt de subklasse ook dynamisch maken en de gebeurtenishandlerfunctie toevoegen aan een instantie van de subklasse.

De gekoppelde gebeurtenislistener wordt geactiveerd na een aanroep van de methode NetStream.play(), maar voordat de afspeelkop van de video naar voren is verplaatst.

Het object dat is doorgegeven aan de functie voor gebeurtenissenafhandeling onXMPData() heeft één eigenschap data, bestaande uit een tekenreeks. De tekenreeks wordt gegenereerd uit een UUID-box van het hoogste niveau. (De 128-bits UUID van de box op het hoogste niveau is BE7ACFCB-97A9-42E8-9C71-999491E3AFAC.) Deze UUID-box van het hoogste niveau bevat precies één XML-document dat wordt voorgesteld als een UTF-8-tekenreeks die wordt afgesloten met null.

Verwante API-elementen

status

Gebeurtenis  
Type gebeurtenisobject: flash.events.StatusEvent
eigenschap StatusEvent.type = flash.events.StatusEvent.STATUS

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10.1, AIR 1.0, Flash Lite 4

Wordt verzonden wanneer de toepassing inhoud die is gecodeerd met DRM (Digital Rights Management) probeert af te spelen door de methode NetStream.play() te activeren. De waarde van de eigenschap status code zal "DRM.encryptedFLV" zijn.

Opmerking: deze gebeurtenis wordt voor H.264-video in AIR 3.0 for iOS niet ondersteund.

Definieert de waarde van de eigenschap type van een gebeurtenisobject status.

Deze gebeurtenis heeft de volgende eigenschappen:

EigenschapWaarde
bubblesfalse
cancelablefalse; er is geen standaardgedrag om te annuleren.
codeBeschrijving van de status van het object.
currentTargetHet object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener.
levelDe categorie van het bericht, zoals "status", "warning" of "error".
targetHet object dat zijn status rapporteert.

Verwante API-elementen

Constantedetails

CONNECT_TO_FMS

Constante
public static const CONNECT_TO_FMS:String = "connectToFMS"

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Een statisch object dat wordt gebruikt als parameter voor de constructor voor een instantie van NetStream. Dit is de standaardwaarde van de tweede parameter in de NetStream-constructor; deze wordt niet door de toepassing gebruikt voor het progressief afspelen van media. Indien gebruikt zorgt deze parameter ervoor dat de constructor verbinding met een instantie van Flash Media Server maakt.

DIRECT_CONNECTIONS

Constante 
public static const DIRECT_CONNECTIONS:String = "directConnections"

Taalversie: ActionScript 3.0
Runtimeversies: Flash Player 10, AIR 1.5, Flash Lite 4

Maakt een gelijkwaarde pubicatieverbinding. Deze tekenreeks voor de tweede (optionele) parameter doorgeven aan de constructor voor een instantie van NetStream. Met deze tekenreeks kan een toepassing een NetStream-verbinding maken met als doel het publiceren van audio en video voor clients.

NetConnectionExample.as

In het volgende voorbeeld wordt een Video-object met de klassen NetConnection en NetStream gebruikt om een FLV-bestand te laden en af te spelen.

In dit voorbeeld wordt de code die de objecten Video en NetStream maakt en de methoden Video.attachNetStream() en NetStream.play() aanroept, in een handlerfunctie geplaatst. De handler wordt alleen aangeroepen wanneer verbinding wordt gemaakt met het object NetConnection, dat wil zeggen, wanneer de gebeurtenis netStatus een object info retourneert waarvan de eigenschap code aangeeft dat de verbinding is gelukt. Het wordt aanbevolen te wachten totdat de verbinding is gelukt voordat u NetStream.play() aanroept.

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

In plaats van een aangepaste klasse te maken, kunt u metagegevens ook ophalen met behulp van een functie. In het volgende voorbeeld, opgestuurd door Bill Sanders, kunt u zien hoe u de bovenstaande NetConnectionExample-code bewerkt om de metagegevens binnen een functie aan te roepen. In dit geval wordt het mdata-object gebruikt om de breedte en hoogte van een video-instantie video in te stellen:
  //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 ]Waarom in het Engels?
Sommige inhoud van de Naslaggids voor ActionScript 3.0 staat in het Engels

Niet alle onderdelen van de Naslaggids voor ActionScript 3.0 zijn in alle talen vertaald. Wanneer een taalelement niet is vertaald, wordt het in het Engels weergegeven. Zo is de klasse ga.controls.HelpBox niet in elke taal vertaald. In de Nederlandse versie van de naslaggids wordt de klasse ga.controls.HelpBox bijvoorbeeld in het Engels weergegeven.