ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
flash.net 

NetStream  - AS3

Paketex

Oberste Ebene
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

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise
Paketflash.net
Klassepublic class NetStream
VererbungNetStream Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die NetStream-Klasse öffnet einen unidirektionalen Streamingkanal über eine NetConnection.

Verwenden Sie die NetStream-Klasse für die folgenden Aufgaben:

  • Rufen Sie NetStream.play() auf, um eine Mediendatei von einer lokalen Festplatte, einem Webserver oder Flash Media Server abzuspielen.
  • Rufen Sie NetStream.publish() auf, um einen Video-, Audio- oder Datenstream für Flash Media Server zu veröffentlichen.
  • Rufen Sie NetStream.send() auf, um Datennachrichten an alle abonnierten Clients zu senden.
  • Rufen Sie NetStream.send() auf, um einem Live-Stream Metadaten hinzuzufügen.
  • Rufen Sie NetStream.appendBytes auf, um ByteArray-Daten an den NetStream zu übergeben.

Hinweis:Sie können einen Stream nicht über dasselbe NetStream-Objekt abspielen und veröffentlichen.

Adobe AIR sowie Flash Player 9.0.115.0 und neuere Versionen unterstützen Dateien, die aus dem MPEG-4-Standardcontainerformat abgeleitet werden. Zu diesen Dateien gehören F4V, MP4, M4A, MOV, MP4V, 3GP und 3G2, wenn sie H.264-Video, mit HEAAC v2 kodiertes Audio oder beides enthalten. Mit H.264 ist die Videoqualität im Vergleich zu demselben Codierungsprofil in Sorenson oder On2 bei niedrigeren Bitraten höher. AAC ist ein Standardaudioformat, das im Videostandard MPEG-4 definiert ist. HE-AAC v2 ist eine Erweiterung von AAC, die Spectral Band Replication (SBR) und Parametric Stereo (PS) verwendet, damit bei niedrigeren Bitraten effizienter kodiert werden kann.

Informationen zu unterstützten Codecs und Dateiformaten finden Sie hier:

Empfangen von Daten aus einem Flash Media Server-Stream, einer progressiven F4V-Datei oder einer progressiven FLV-Datei

Flash Media Server, F4V-Dateien und FLV-Dateien können Ereignisobjekte, die Daten enthalten, an bestimmten Datenpunkten während des Streaming oder der Wiedergabe senden. Sie können Daten aus einem Stream oder einer FLV-Datei während der Wiedergabe auf zwei Weisen handhaben:

  • Verknüpfen Sie eine Client-Eigenschaft mit einer Ereignisprozedur, um das Datenobjekt zu empfangen. Verwenden Sie die NetStream.client-Eigenschaft, um ein Objekt zu verknüpfen, das spezifische Datenhandhabungsfunktionen aufrufen soll. Das mit der NetStream.client-Eigenschaft verknüpfte Objekt kann die folgenden Datenpunkte überwachen: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() und onXMPData(). Schreiben Sie Prozeduren in diese Funktionen, um das während der Wiedergabe vom Stream zurückgegebene Datenobjekt zu verarbeiten. Weitere Informationen finden Sie unter der NetStream.client-Eigenschaft.
  • Verknüpfen Sie eine Client-Eigenschaft mit einer Unterklasse der NetStream-Klasse und schreiben Sie anschließend eine Ereignisprozedur, um das Datenobjekt zu empfangen. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Sie können jedoch eine Unterklasse von NetStream erstellen und Ihre Ereignisprozedur in der Unterklasse definieren. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedur einer Instanz der Unterklasse hinzufügen.

Warten Sie, bis Sie ein NetGroup.Neighbor.Connect-Ereignis erhalten, bevor Sie die Objektreplizierung verwenden, direkt weiterleiten oder APIs posten.

Hinweis: Um Daten über eine Audiodatei wie z. B. eine MP3-Datei zu senden, verwenden Sie die Sound-Klasse, um die Audiodatei mit einem Sound-Objekt zu verknüpfen. Verwenden Sie anschließend die Sound.id3-Eigenschaft, um Metadaten aus der Sounddatei zu lesen.

Unterstützung für H.264-kodiertes Video in AIR for iOS

Bei H.264-Video unterstützt AIR 3.0 (und höher) for iOS einen Teilsatz der NetStream-API. In der folgenden Tabelle sind NetStream-Mitglieder für die Wiedergabe aufgeführt, die in AIR for iOS nicht unterstützt werden:

Nicht unterstützte EigenschaftenNicht unterstützte MethodenNicht unterstützte Ereignisse
bufferTimeappendBytes()onCuePoint (funktioniert nur mit FLV-Dateien)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayDRM.encryptedFLV-Statusereigniscode
maxPauseBufferTime
soundTransform
Alle Eigenschaften, die RTMFP-Verbindungen beschreiben

Weitere Informationen zur Verwendung von AIR for iOS finden Sie im Abschnitt zur NetStream.play()-Methode.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  audioReliable : Boolean
Gibt bei RTMFP-Verbindungen an, ob Audio vollständig zuverlässig gesendet wird.
NetStream
  audioSampleAccess : Boolean
Gibt bei RTMFP-Verbindungen an, ob Peer-to-Peer-Abonnenten für diesen NetStream den Audiostream erfassen dürfen.
NetStream
  backBufferLength : Number
[schreibgeschützt] Die Anzahl der Sekunden von zuvor angezeigten Daten, die zurzeit zum Zurückspulen und Abspielen zwischengespeichert werden.
NetStream
  backBufferTime : Number
Gibt an (in Sekunden), wie viele der zuvor abgespielten Daten Flash Player zum Zurückspulen und Abspielen zwischenzuspeichern versucht.
NetStream
  bufferLength : Number
[schreibgeschützt] Die derzeit im Puffer befindliche Datenmenge, gemessen in Sekunden.
NetStream
  bufferTime : Number
Bestimmt, wie lange Nachrichten im Zwischenspeicher bleiben, bis mit der Anzeige des Streams begonnen wird.
NetStream
  bufferTimeMax : Number
Gibt die maximale Pufferlänge für Live-Streaming-Inhalt in Sekunden an.
NetStream
  bytesLoaded : uint
[schreibgeschützt] Die Anzahl der in die Anwendung geladenen Datenbyte.
NetStream
  bytesTotal : uint
[schreibgeschützt] Die Gesamtgröße (in Byte) der in die Anwendung geladenen Datei.
NetStream
  checkPolicyFile : Boolean
Gibt an, ob die Anwendung vor dem Laden der Videodatei versucht, eine Cross-Domain-Richtliniendatei vom Server der Videodatei herunterzuladen.
NetStream
  client : Object
Gibt das Objekt an, für das Rückrufmethoden aufgerufen werden, um Streaming- oder F4V/FLV-Dateidaten zu verarbeiten.
NetStream
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  currentFPS : Number
[schreibgeschützt] Die Zahl der pro Sekunde angezeigten Bilder.
NetStream
  dataReliable : Boolean
Gibt bei RTMFP-Verbindungen an, ob NetStream.send()-Aufrufe vollständig zuverlässig gesendet werden.
NetStream
  farID : String
[schreibgeschützt] Bei RTMFP-Verbindungen der Bezeichner des anderen Endes, das mit dieser NetStream-Instanz verbunden ist.
NetStream
  farNonce : String
[schreibgeschützt] Bei RTMFP- und RTMPE-Verbindungen ein Wert, der vom anderen Ende dieses Streams gewählt wird und für diese Verbindung eindeutig ist.
NetStream
  inBufferSeek : Boolean
Gibt an, ob die angezeigten Daten für den intelligenten Suchlauf zwischengespeichert werden (TRUE) oder nicht (FALSE).
NetStream
  info : NetStreamInfo
[schreibgeschützt] Gibt ein NetStreamInfo-Objekt zurück, dessen Eigenschaften Statistiken über die Dienstqualität enthalten.
NetStream
  liveDelay : Number
[schreibgeschützt] Die Datenmenge (in Sekunden) im Zwischenspeicher des abonnierenden Streams im Live-Modus (ohne Puffer).
NetStream
  maxPauseBufferTime : Number
Gibt an, wie lange (in Sekunden) Meldungen im Pause-Modus gepuffert werden.
NetStream
  multicastAvailabilitySendToAll : Boolean
Gibt bei RTMFP-Verbindungen an, ob Verfügbarkeitsmeldungen für Peer-to-Peer-Multicast-Fragmente an alle Peers oder nur an einen Peer gesendet werden.
NetStream
  multicastAvailabilityUpdatePeriod : Number
Gibt bei RTMFP-Verbindungen das Intervall in Sekunden zwischen Meldungen an, die Peers benachrichtigen, dass beim lokalen Knoten neue Peer-to-Peer-Multicast-Medienfragmente verfügbar sind.
NetStream
  multicastFetchPeriod : Number
Gibt bei RTMFP-Verbindungen die Zeit in Sekunden an, wie lange es ab dem Zeitpunkt, zu dem der lokale Knoten erfährt, dass ein Peer-to-Peer-Multicast-Medienfragment verfügbar ist, dauert, bis er versucht, es von einem Peer abzurufen.
NetStream
  multicastInfo : NetStreamMulticastInfo
[schreibgeschützt] Gibt bei RTMFP-Verbindungen ein NetStreamMulticastInfo-Objekt zurück, dessen Eigenschaften Statistiken zur Dienstgüte enthalten.
NetStream
  multicastPushNeighborLimit : Number
Gibt bei RTMFP-Verbindungen die maximale Anzahl von Peers an, an die proaktiv Multicast-Medien geleitet werden können.
NetStream
  multicastRelayMarginDuration : Number
Gibt bei RTMFP-Verbindungen die Dauer in Sekunden an, für die Peer-to-Peer-Multicast-Daten verfügbar bleiben, um an Peers gesendet zu werden, die sie nach einer angegebenen Dauer anfordern.
NetStream
  multicastWindowDuration : Number
Gibt bei RTMFP-Verbindungen die Dauer des Peer-to-Peer-Multicastreassembly-Fensters in Sekunden an.
NetStream
  nearNonce : String
[schreibgeschützt] Bei RTMFP- und RTMPE-Verbindungen ein Wert, der von diesem Ende des Streams gewählt wird und für diese Verbindung eindeutig ist.
NetStream
  objectEncoding : uint
[schreibgeschützt] Die Objektkodierung (AMF-Version) für dieses NetStream-Objekt.
NetStream
  peerStreams : Array
[schreibgeschützt] Ein Objekt, das alle abonnierenden NetStream-Instanzen enthält, die diese veröffentlichende NetStream-Instanz überwachen.
NetStream
  soundTransform : flash.media:SoundTransform
Steuert den Sound in diesem NetStream-Objekt.
NetStream
  time : Number
[schreibgeschützt] Die Position des Abspielkopfs in Sekunden.
NetStream
  useHardwareDecoder : Boolean
Gibt an, ob hardwarebeschleunigte Dekodierung für den Stream verwendet werden soll.
NetStream
  useJitterBuffer : Boolean
Minimiert die Latenz für nicht gepuffertes Live-Streaming (bufferTime = 0).
NetStream
  videoReliable : Boolean
Gibt bei RTMFP-Verbindungen an, ob Video vollständig zuverlässig gesendet wird.
NetStream
  videoSampleAccess : Boolean
Gibt bei RTMFP-Verbindungen an, ob Peer-to-Peer-Abonnenten für diesen NetStream den Video-Stream erfassen dürfen.
NetStream
  videoStreamSettings : VideoStreamSettings
Legt Eigenschaften für die Streamkomprimierung fest.
NetStream
Öffentliche Methoden
 MethodeDefiniert von
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Erstellt einen Stream, mit dem Sie Mediendateien abspielen und Daten über ein NetConnection-Objekt senden können.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
  
Übergibt ein ByteArray für die Wiedergabe an einen NetStream.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Zeigt eine Diskontinuität der Zeitskala an, leert den FIFO und teilt dem Byte-Parser mit, einen Datei-Header oder den Anfang eines FLV-Tags zu erwarten.
NetStream
  
Hängt einen Stream an ein neues NetConnection-Objekt an.
NetStream
  
Fügt einen über das NetStream-Objekt gesendeten Audiostream einem NetStream-Objekt hinzu, wobei das Microphone-Objekt als Quelle übergeben wurde.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Startet die Erfassung der Videodaten von einer Kamera bzw. stoppt die Erfassung, wenn „theCamera“ auf „null“ gesetzt ist.
NetStream
  
Stoppt die Wiedergabe der Daten im Stream, legt für die Eigenschaft „time“ den Wert 0 fest und macht den Stream für andere Verwendungszwecke verfügbar.
NetStream
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
  
Gibt alle Ressourcen frei, die vom NetStream-Objekt gehalten werden.
NetStream
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
Wird ausgelöst, wenn ein Peer-Publishing-Stream mit einem Peer-Subscribing-Stream übereinstimmt.
NetStream
  
Hält die Wiedergabe eines Videostreams an.
NetStream
  
play(... arguments):void
Spielt eine Mediendatei von einem lokalen Verzeichnis oder einem Webserver ab; spielt eine Mediendatei oder einen Livestream von Flash Media Server ab.
NetStream
  
Wechselt nahtlos zwischen Dateien mit mehreren Bitraten und ermöglicht einem NetStream die Wiederaufnahme, wenn eine Verbindung getrennt und wiederhergestellt wurde.
NetStream
  
Extrahiert DRM-Metadaten aus einer lokal gespeicherten Mediendatei.
NetStream
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
publish(name:String = null, type:String = null):void
Sendet einen Stream mit Audiodaten, Videodaten und Datennachrichten von einem Client an Flash Media Server. Der Stream kann während der Übertragung aufgezeichnet werden.
NetStream
  
Gibt an, ob eingehende Audiodaten im Stream wiedergegeben werden.
NetStream
  
Gibt an, ob eingehende Videodaten im Stream wiedergegeben werden.
NetStream
  
Gibt die Bildrate für eingehendes Video an.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
[statisch] In AIR-Anwendungen werden dadurch alle lokal gespeicherten Digital Rights Management (DRM)-Gutscheindaten gelöscht.
NetStream
  
Setzt die Wiedergabe eines angehaltenen Videostreams fort.
NetStream
  
seek(offset:Number):void
Sucht das Schlüsselbild (in der Videobranche auch „I-Frame“ genannt), das der angegebenen Position am nächsten ist.
NetStream
  
send(handlerName:String, ... arguments):void
Sendet eine Nachricht an alle Clients mit Abonnement über den veröffentlichten Stream.
NetStream
  
Senden die DRM-Authentifizierungsdaten, die für die Anzeige des verschlüsselten Inhalts erforderlich sind.
NetStream
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
step(frames:int):void
Geht in Relation zum aktuell angezeigten Bild die angegebene Anzahl von Bildern vor oder zurück.
NetStream
  
Hält die Wiedergabe eines Streams an oder setzt sie fort.
NetStream
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
  Wird ausgelöst, wenn eine Ausnahme asynchron, d. h. aus nativem asynchronem Code ausgelöst wird.NetStream
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  Wird ausgelöst, wenn ein NetStream-Objekt versucht, mit DRM (Digital Rights Management) verschlüsselten Inhalt abzuspielen, für den Benutzerdaten zur Authentifizierung erforderlich sind.NetStream
  Wird ausgelöst, wenn ein NetStream-Objekt versucht, eine mit DRM (Digital Rights Management) verschlüsselte Datei abzuspielen und dabei ein DRM-Fehler auftritt.NetStream
  Wird ausgelöst, wenn der DRM-verschlüsselte Inhalt (Digital Rights Management) abgespielt wird (wenn der Benutzer authentifiziert wurde und berechtigt ist, den Inhalt abzuspielen).NetStream
  Wird beim Auftreten eines I/O-Fehlers ausgelöst, durch den ein Netzwerkvorgang fehlschlägt.NetStream
  Wird abgesetzt, wenn Video abgespielt wird und bestimmte Meldungstypen verarbeitet werden.NetStream
  Wird ausgelöst, wenn der Status oder die Fehlerbedingung eines NetStream-Objekts protokolliert wird.NetStream
  Erstellt einen Listener, der reagiert, wenn während des Abspielens einer Videodatei ein eingebetteter Cue-Point erreicht wird.NetStream
  Erstellt einen Listener, der reagiert, wenn AIR DRM-Inhalts-Metadaten extrahiert, die in einer Mediendatei eingebettet sind.NetStream
  Erstellt einen Listener, der reagiert, wenn Flash Player Bilddaten als Bytearray erhält, das in einer Mediendatei eingebettet ist, die aktuell abgespielt wird.NetStream
  Erstellt einen Listener, der reagiert, wenn Flash Player beschreibende Informationen erhält, die in ein Video eingebettet sind, das aktuell abgespielt wird.NetStream
  Erstellt einen Listener, der reagiert, wenn ein NetStream-Objekt einen Stream vollständig abgespielt hat.NetStream
  Wird synchron von appendBytes() aufgerufen, wenn der Append-Bytes-Parser auf einen Punkt trifft, den er als ansteuerbaren Punkt betrachtet (zum Beispiel ein Videoschlüsselbild).NetStream
  Erstellt einen Listener, der reagiert, wenn Flash Player Textdaten empfängt, die in einer aktuell abgespielten Mediendatei eingebettet sind.NetStream
  Erstellt einen Listener, der reagiert, wenn Flash Player Informationen empfängt, die spezifisch für die Adobe Extensible Metadata Platform (XMP) sind und die in einem Video eingebettet sind, das aktuell abgespielt wird.NetStream
  Wird ausgelöst, wenn die Anwendung versucht, mit DRM (Digital Rights Management) verschlüsselten Inhalt abzuspielen, indem die NetStream.play()-Methode aufgerufen wird.NetStream
Öffentliche Konstanten
 KonstanteDefiniert von
  CONNECT_TO_FMS : String = "connectToFMS"
[statisch] Ein statisches Objekt, das als Parameter für den Konstruktor einer NetStream-Instanz verwendet wird.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[statisch] Stellt eine Peer-to-Peer-Herausgeberverbindung her.
NetStream
Eigenschaftendetails

audioReliable

Eigenschaft
audioReliable:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen an, ob Audio vollständig zuverlässig gesendet wird. Mit der Einstellung TRUE sind alle über diesen NetStream übertragenen Audiodaten vollständig zuverlässig. Mit der Einstellung FALSE sind die übertragenen Audiodaten nicht vollständig zuverlässig, sondern werden für eine begrenzte Zeit erneut übertragen und dann ausgelassen. Sie können den Wert FALSE verwenden, um die Latenzzeit auf Kosten der Audioqualität zu verringern.

Wenn Sie diese Eigenschaft in einem Netzwerkprotokoll, das teilweise Zuverlässigkeit nicht unterstützt, auf FALSE setzen, wird der Versuch ignoriert und die Eigenschaft wird auf TRUE gesetzt.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

audioSampleAccess

Eigenschaft 
audioSampleAccess:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen an, ob Peer-to-Peer-Abonnenten für diesen NetStream den Audiostream erfassen dürfen. Mit der Einstellung FALSE resultieren Versuche von Abonnenten, den Audiostream zu erfassen, zu Berechtigungsfehlern.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

backBufferLength

Eigenschaft 
backBufferLength:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Die Anzahl der Sekunden von zuvor angezeigten Daten, die zurzeit zum Zurückspulen und Abspielen zwischengespeichert werden.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Diese Eigenschaft ist nur verfügbar, wenn Daten von Flash Media Server 3.5.3 oder höher gestreamt werden. Weitere Informationen zu Flash Media Server finden Sie in der Beschreibung der Klasse.

Um anzugeben, wie viele der zuvor angezeigten Daten zwischengespeichert werden, verwenden Sie die Netstream.backBufferTime-Eigenschaft.

Um die Zwischenspeicherung von Daten zu verhindern, setzen Sie die Netstream.inBufferSeek-Eigenschaft auf FALSE.



Implementierung
    public function get backBufferLength():Number

Verwandte API-Elemente

backBufferTime

Eigenschaft 
backBufferTime:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt an (in Sekunden), wie viele der zuvor abgespielten Daten Flash Player zum Zurückspulen und Abspielen zwischenzuspeichern versucht. Der Standardwert beträgt 30 Sekunden für Desktopanwendungen und 3 Sekunden für mobile Anwendungen.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Diese Eigenschaft ist nur verfügbar, wenn Daten von Flash Media Server Version 3.5.3 oder höher gestreamt werden. Weitere Informationen zu Flash Media Server finden Sie in der Beschreibung der Klasse.

Mit dieser Eigenschaft können Sie die Leistung bei Rücklaufoperationen verbessern, da bereits angezeigte Daten nicht erneut vom Server abgerufen werden müssen. Stattdessen wiederholt der Stream die Wiedergabe der Daten aus dem Puffer. Während der Wiedergabe werden weiterhin Daten vom Server gestreamt, bis der Puffer voll ist.

Wenn die Rücklaufposition weiter zurück liegt als die Daten im Cache, wird der Puffer gelöscht; die Daten werden dann ab der angeforderten Position vom Server gestreamt.

Um diese Eigenschaft zu verwenden, setzen Sie die Netstream.inBufferSeek-Eigenschaft auf TRUE.



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

Verwandte API-Elemente

bufferLength

Eigenschaft 
bufferLength:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die derzeit im Puffer befindliche Datenmenge, gemessen in Sekunden. Wenn Sie diese Eigenschaft zusammen mit bufferTime verwenden, können Sie einschätzen, wie weit der Zwischenspeicher belegt ist, um beispielsweise eine Rückmeldung für einen Benutzer anzuzeigen, der darauf wartet, dass Daten in den Zwischenspeicher geladen werden.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get bufferLength():Number

Verwandte API-Elemente

bufferTime

Eigenschaft 
bufferTime:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Bestimmt, wie lange Nachrichten im Zwischenspeicher bleiben, bis mit der Anzeige des Streams begonnen wird.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Der Standardwert ist 0,1 (ein Zehntel einer Sekunde). Mit der Eigenschaft bufferLength können Sie die derzeit im Puffer befindliche Datenmenge (in Sekunden) ermitteln.

Um eine serverseitige Wiedergabeliste abzuspielen, stellen Sie bufferTime auf mindestens 1 Sekunde. Wenn es Probleme mit der Wiedergabe gibt, erhöhen Sie die Länge von bufferTime.

Aufgezeichnete Inhalte Um beim Streaming von aufgezeichneten Inhalten (nicht live) Verzerrungen zu vermeiden, sollten Sie den Wert von Netstream.bufferTime auf 0 setzen. Bei aufgezeichneten Inhalten verwendet die Anwendung standardmäßig einen Eingabepuffer, der die Mediendaten in eine Warteschlange stellt und die Medien korrekt wiedergibt. Verwenden Sie bei aufgezeichneten Inhalten die Standardeinstellung oder erhöhen Sie die Pufferzeit.

Live-Inhalt Beim Streaming von Live-Inhalten setzen Sie die bufferTime-Eigenschaft auf 0.

Beginnend mit Flash Player 9.0.115.0 leert der Flash Player den Puffer nicht mehr, wenn NetStream.pause() aufgerufen wird. In Vorgängerversionen von Flash Player 9.0.115.0 hat Flash Player gewartet, bis der Puffer voll war, bevor die Wiedergabe fortgesetzt wurde, wodurch es häufig zu Verzögerungen kam.

Für eine einzelne Pause hat die NetStream.bufferLength-Eigenschaft ein Limit von 60 Sekunden oder das Doppelte des Werts von NetStream.bufferTime, je nachdem, welcher Wert höher ist. Wenn bufferTime zum Beispiel 20 Sekunden beträgt, puffert Flash Player, bis NetStream.bufferLength den höheren Wert von 20*2 (40) oder 60 hat. In diesem Fall puffer Flash Player, bis bufferLength den Wert 60 hat. Wenn bufferTime 40 Sekunden beträgt, puffert Flash Player, bis bufferLength den höheren Wert von 40*2 (80) oder 60 hat. In diesem Fall puffert Flash Player, bis bufferLength den Wert 80 hat.

Die bufferLength-Eigenschaft hat auch ein absolutes Limit. Wenn ein Aufruf von pause() dazu führt, dass bufferLength auf mehr als 600 Sekunden ansteigt oder der Wert von bufferTime * 2, je nachdem, welcher Wert höher ist, löscht Flash Player den Puffer und setzt bufferLength auf 0 zurück. Wenn bufferTime zum Beispiel 120 Sekunden beträgt, löscht Flash Player den Puffer, wenn bufferLength den Wert 600 Sekunden erreicht; wenn bufferTime 360 Sekunden beträgt, löscht Flash Player den Puffer, wenn bufferLength den Wert 720 Sekunden erreicht.

Tipp: Sie können im Code NetStream.pause() verwenden, um Daten zu puffern, während Betrachter zum Beispiel einen Werbespot sehen, und dann die Pause aufheben, wenn das Hauptvideo beginnt.

Weitere Informationen zum neuen Pausenverhalten finden Sie unter http://www.adobe.com/go/learn_fms_smartpause_de.

Flash Media Server. Das Pufferverhalten ist davon abhängig, ob die Pufferzeit für einen veröffentlichenden oder abonnierenden Stream festgelegt wird. Für einen veröffentlichenden Stream legt bufferTime fest, wie lange der ausgehende Puffer anwachsen kann, bevor die Anwendung beginnt, Bilder zu überspringen. Bei einer Highspeed-Verbindung stellt die Pufferzeit kein Problem dar; Daten werden fast so schnell gesendet, wie die Anwendung sie puffern kann. Bei langsameren Verbindungen kann es jedoch einen erheblichen Unterschied geben zwischen der Geschwindigkeit, mit der die Anwendung Daten puffert, und der Geschwindigkeit, mit der die Daten an den Client gesendet werden.

Für einen abonnierenden Stream legt bufferTime fest, wie lange eingehende Daten gepuffert werden, bevor der Stream angezeigt wird.

Wenn ein aufgezeichneter Stream abgespielt wird und bufferTime den Wert 0 aufweist, stellt Flash einen kleinen Wert ein (ca. 10 Millisekunden). Wenn Live-Stream später abgespielt werden (zum Beispiel von einer Wiedergabeliste) bleibt die Pufferzeit erhalten. Das bedeutet, bufferTime bleibt „nicht null“ für den Stream.



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

Verwandte API-Elemente

bufferTimeMax

Eigenschaft 
bufferTimeMax:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt die maximale Pufferlänge für Live-Streaming-Inhalt in Sekunden an. Der Standardwert ist 0. Die Pufferlänge kann mit der Zeit aufgrund von Netzwerk- und Geräteproblemen zunehmen (zum Beispiel wegen unterschiedlich laufender Uhren bei Sender und Empfänger). Legen Sie diese Eigenschaft fest, um die Pufferlänge für Live-Anwendungen wie Meetings und Überwachung abzudecken.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Wenn bufferTimeMax > 0 und bufferLength >= bufferTimeMax, wird Audio schneller abgespielt, bis bufferLength den Wert von bufferTime erreicht. Wenn ein Live-Stream nur aus Video besteht, wird das Video schneller abgespielt, bis bufferLength den Wert von bufferTime erreicht.

Je nachdem, wie viel der Wiedergabe nachhängt (die Differenz zwischen bufferLength und bufferTime) steuert Flash Player die Aufholrate zwischen 1,5% und 6,25%. Wenn der Stream Audio enthält, wird die schnellere Wiedergabe durch Frequenzdomänen-Downsampling erreicht, wobei die Audioverzerrung minimiert wird.

Legen Sie die bufferTimeMax-Eigenschaft fest, um das Aufholen (Catch-up) bei gepufferten Livestreams in den folgenden Fällen zu ermöglichen:

  • Streaming von Live-Medien von Flash Media Server.
  • Streaming von Live-Medien im Datengenerierungsmodus (NetStream.appendBytes()).



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

Verwandte API-Elemente

bytesLoaded

Eigenschaft 
bytesLoaded:uint  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Anzahl der in die Anwendung geladenen Datenbyte. Wenn Sie diese Eigenschaft zusammen mit bytesTotal verwenden, können Sie einschätzen, wie weit der Zwischenspeicher belegt ist, um beispielsweise eine Rückmeldung für einen Benutzer anzuzeigen, der darauf wartet, dass Daten in den Zwischenspeicher geladen werden.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get bytesLoaded():uint

Verwandte API-Elemente

bytesTotal

Eigenschaft 
bytesTotal:uint  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Gesamtgröße (in Byte) der in die Anwendung geladenen Datei.



Implementierung
    public function get bytesTotal():uint

Verwandte API-Elemente

checkPolicyFile

Eigenschaft 
checkPolicyFile:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Gibt an, ob die Anwendung vor dem Laden der Videodatei versucht, eine Cross-Domain-Richtliniendatei vom Server der Videodatei herunterzuladen. Verwenden Sie diese Eigenschaft für progressive Videodownloads und zum Laden von Dateien, die sich außerhalb der Domäne der aufrufenden SWF-Datei befinden. Diese Eigenschaft wird ignoriert, wenn Sie RTMP verwenden.

Stellen Sie diese Eigenschaft auf true, um BitmapData.draw() für eine Videodatei aufzurufen, die aus einer Domäne außerhalb der Domäne der aufrufenden SWF-Datei geladen wurde. Die BitmapData.draw()-Methode ermöglicht den Zugriff auf das Video auf Pixelebene. Wenn Sie BitmapData.draw() aufrufen, ohne die Eigenschaft checkPolicyFile zum Ladezeitpunkt auf true zu setzen, wird möglicherweise eine SecurityError-Ausnahme ausgelöst, da die erforderliche Richtliniendatei nicht heruntergeladen wurde.

Setzen Sie diese Eigenschaft nicht auf „true“, es sei denn, Sie wünschen Zugriff auf Pixelebene auf das Video, das Sie laden. Durch die Suche nach einer Richtliniendatei wird Netzwerkbandbreite belegt und der Start des Download-Vorgangs möglicherweise verzögert.

Wenn Sie die Methode NetStream.play() aufrufen und checkPolicyFile auf true gesetzt ist, muss in Flash Player oder der AIR-Laufzeitumgebung vor dem Herunterladen entweder eine entsprechende Cross-Domain-Richtlinie erfolgreich heruntergeladen werden, oder es muss festgestellt werden, dass keine Richtliniendatei vorhanden ist. In Flash Player oder der AIR-Laufzeitumgebung werden die folgenden Aktionen in der angegebenen Reihenfolge ausgeführt, um zu überprüfen, ob eine Richtliniendatei vorhanden ist:

  1. Die Anwendung überprüft Richtliniendateien, die bereits heruntergeladen wurden.
  2. Die Anwendung versucht, ausstehende Richtliniendateien herunterzuladen, die in Aufrufen von Security.loadPolicyFile() angegeben wurden.
  3. Die Anwendung versucht, eine Richtliniendatei vom Standardspeicherort herunterzuladen, der der an NetStream.play() übergebenen URL entspricht, d. h. /crossdomain.xml auf dem gleichen Server wie die URL.

In allen Fällen muss für Flash Player oder Adobe AIR eine entsprechende Richtliniendatei auf dem Server des Videos vorhanden sein, über die anhand ihres Speicherorts auf das Objekt unter der an play() übergebenen URL zugegriffen werden kann und über die die Domäne der aufrufenden Datei über mindestens ein <allow-access-from>-Tag auf das Video zugreifen kann.

Wenn Sie checkPolicyFile auf true setzen, wartet die Anwendung mit dem Laden des Videos, bis die Richtliniendatei überprüft wurde. Warten Sie mit dem Ausführen von Vorgängen auf Pixelebene (z. B. Aufrufen von BitmapData.draw()), bis Sie onMetaData- oder NetStatus-Ereignisse von Ihrem NetStream-Objekt erhalten.

Wenn Sie checkPolicyFile auf true setzen, jedoch keine entsprechende Richtliniendatei gefunden wird, wird eine Fehlermeldung erst dann ausgegeben, wenn Sie einen Vorgang durchführen, der eine Richtliniendatei erfordert. Dann wird in der Anwendung eine SecurityError-Ausnahme ausgegeben.

Beim Herunterladen einer Videodatei von einer URL, bei der serverseitige HTTP-Weiterleitungen verwendet werden, müssen Sie darauf achten, checkPolicyFile richtig zu verwenden. Die Anwendung versucht, Richtliniendateien abzurufen, die der ursprünglichen in NetStream.play() angegebenen URL entsprechen. Wenn die endgültige Videodatei aufgrund von HTTP-Weiterleitungen von einer anderen URL stammt, gelten die ursprünglich heruntergeladenen Richtliniendateien möglicherweise nicht für die endgültige URL der Videodatei. Dies ist jedoch die URL, die bei Sicherheitsentscheidungen von Bedeutung ist.

Weitere Informationen zu Richtliniendateien finden Sie unter „Websitesteuerungen (Richtliniendateien)“ im ActionScript 3.0 Entwicklerhandbuch und im Flash Player Developer Center im Artikel: Sicherheit.



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

Verwandte API-Elemente

client

Eigenschaft 
client:Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt das Objekt an, für das Rückrufmethoden aufgerufen werden, um Streaming- oder F4V/FLV-Dateidaten zu verarbeiten. Standardeinstellung ist das erstellte NetStream-Objekt this. Wenn Sie die client-Eigenschaft auf ein anderes Objekt setzen, werden Callback-Methoden auf diesem anderen Objekt aufgerufen. Das NetStream.client -Objekt kann die folgenden Funktionen aufrufen und ein verknüpftes Datenobjekt empfangen: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() und onXMPData().

Verknüpfen der client-Eigenschaft mit einer Ereignisprozedur:

  1. Erstellen Sie ein Objekt und verknüpfen Sie es mit der client-Eigenschaft des NetStream-Objekts:
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Verknüpfen Sie eine Ereignisprozedurfunktion für das gewünschte Datenereignis als Eigenschaft des Client-Objekts:
         customClient.onImageData = onImageDataHandler;
         
  3. Schreiben Sie die Prozedurfunktion, um das Datenereignisobjekt zu empfangen, z. B.:
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

Wenn Daten durch den Stream oder während der Wiedergabe übergeben werden, wird das Datenereignisobjekt (in diesem Fall das imageData-Objekt) mit den Daten gefüllt. In der Beschreibung zu onImageData finden Sie ein vollständiges Beispiel eines Objekts, dass mit der client-Eigenschaft verknüpft ist.

Verknüpfen der client-Eigenschaft mit einer Unterklasse:

  1. Erstellen Sie eine Unterklasse mit einer Prozedurfunktion, um das Datenereignisobjekt zu empfangen:
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Verknüpfen Sie eine Instanz der Unterklasse mit der client-Eigenschaft des NetStream-Objekts:
         my_netstream.client = new CustomClient();
         

Wenn Daten durch den Stream oder während der Wiedergabe übergeben werden, wird das Datenereignisobjekt (in diesem Fall das info-Objekt) mit den Daten gefüllt. Im Klassenbeispiel am Ende der NetStream-Klasse können Sie sehen, wie eine Unterklasseninstanz mit der client-Eigenschaft verknüpft wird.



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

Auslöser
TypeError — Die client-Eigenschaft muss auf ein Objekt eingestellt werden, das nicht null ist.

Verwandte API-Elemente

currentFPS

Eigenschaft 
currentFPS:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Zahl der pro Sekunde angezeigten Bilder. Wenn Sie Videodateien für die Wiedergabe auf verschiedenen Systemen exportieren, können Sie mithilfe dieses Werts beim Testen bestimmen, wie stark die exportierte Datei komprimiert werden soll.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get currentFPS():Number

dataReliable

Eigenschaft 
dataReliable:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen an, ob NetStream.send()-Aufrufe vollständig zuverlässig gesendet werden. Bei der Einstellung TRUE sind Aufrufe von NetStream.send(), die über diesen NetStream übertragen werden, vollständig zuverlässig. Bei der Einstellung FALSE werden Aufrufe von NetStream.send() nicht mit vollständiger Zuverlässigkeit übertragen, sondern für eine begrenzte Zeit erneut übertragen und dann ausgelassen. Sie können diesen Wert auf FALSE setzen, um die Latenzzeit auf Kosten der Datenqualität zu verringern.

Wenn Sie diese Eigenschaft in einem Netzwerkprotokoll, das teilweise Zuverlässigkeit nicht unterstützt, auf FALSE setzen, wird der Versuch ignoriert und die Eigenschaft wird auf TRUE gesetzt.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

farID

Eigenschaft 
farID:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5

Bei RTMFP-Verbindungen der Bezeichner des anderen Endes, das mit dieser NetStream-Instanz verbunden ist.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get farID():String

farNonce

Eigenschaft 
farNonce:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5

Bei RTMFP- und RTMPE-Verbindungen ein Wert, der vom anderen Ende dieses Streams gewählt wird und für diese Verbindung eindeutig ist. Dieser Wert erscheint am anderen Ende des Streams als nearNonce-Wert

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get farNonce():String

inBufferSeek

Eigenschaft 
inBufferSeek:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt an, ob die angezeigten Daten für den intelligenten Suchlauf zwischengespeichert werden (TRUE) oder nicht (FALSE). Der Standardwert lautet FALSE.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Flash Media Server 3.5.3 und Flash Player 10.1 arbeiten zusammen, um den intelligenten Suchlauf zu unterstützen. Beim intelligenten Suchlauf werden Rücklauf- und Vorlaufpuffer verwendet, um Suchläufe auszuführen, ohne Daten vom Server anzufordern. Bei Standardsuchläufen werden die gepufferten Daten gelöscht und neue Daten werden basierend auf der Suchlaufzeit vom Server angefordert.

Rufen Sie NetStream.step() auf, um eine bestimmte Anzahl Bilder vor- oder zurückzugehen. Rufen Sie NetStream.seek() auf, um eine bestimmte Anzahl Sekunden vor- oder zurückzugehen.

Mit intelligenten Suchläufen wird die Serverlast verringert und die Suchlaufleistung verbessert. Stellen Sie inBufferSeek=true ein und rufen Sie step() und seek() auf, um Folgendes zu erstellen:

  • Clientseitige DVR-Funktionen. Suchen Sie im clientseitigen Puffer anstatt wegen der Zustellung neuen Videos zum Server zu gehen.
  • Trickmodi. Erstellen Sie Player, die bildweise vor- oder zurückgehen, schnellen Rücklauf oder schnellen Vorlauf verwenden oder in Zeitlupe abspielen.

Wenn inBufferSeek=true und ein Aufruf von NetStream.seek() erfolgreich ist, enthält die info.description-Eigenschaft von NetStatusEvent den String "client-inBufferSeek".

Wenn ein Aufruf von NetStream.step() erfolgreich ist, enthält die info.code-Eigenschaft von NetStatusEvent den String "NetStream.Step.Notify".



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

Verwandte API-Elemente

info

Eigenschaft 
info:NetStreamInfo  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Gibt ein NetStreamInfo-Objekt zurück, dessen Eigenschaften Statistiken über die Dienstqualität enthalten. Das Objekt ist ein Schnappschuss des aktuellen Status.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get info():NetStreamInfo

Verwandte API-Elemente

liveDelay

Eigenschaft 
liveDelay:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Datenmenge (in Sekunden) im Zwischenspeicher des abonnierenden Streams im Live-Modus (ohne Puffer). Diese Eigenschaft gibt die aktuelle Netzwerkübertragungsverzögerung an.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Diese Eigenschaft ist für die Verwendung mit einem Server wie Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse.

Mit dem Wert dieser Eigenschaft können Sie die Übertragungsqualität des Streams grob einschätzen und dem Benutzer mitteilen.



Implementierung
    public function get liveDelay():Number

maxPauseBufferTime

Eigenschaft 
maxPauseBufferTime:Number

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

Gibt an, wie lange (in Sekunden) Meldungen im Pause-Modus gepuffert werden. Diese Eigenschaft kann verwendet werden, um zu beschränken, wie viel im Pause-Modus gepuffert werden soll. Sobald der Wert für NetStream.bufferLength dieses Limit erreicht hat, werden keine weiteren Daten mehr gepuffert.

Wenn dieser Wert nicht festgelegt ist, wird das Limit auf 60 Sekunden oder auf den doppelten Wert von NetStream.bufferTime auf jeder Pause gesetzt, je nachdem, welcher Wert höher ist.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

multicastAvailabilitySendToAll

Eigenschaft 
multicastAvailabilitySendToAll:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen an, ob Verfügbarkeitsmeldungen für Peer-to-Peer-Multicast-Fragmente an alle Peers oder nur an einen Peer gesendet werden. Der Wert TRUE gibt an, dass die Nachrichten einmal pro angegebenem Intervall an alle Peers gesendet werden. Der Wert FALSE gibt an, dass die Nachrichten einmal pro angegebenem Intervall an einen Peer gesendet werden. Das Intervall wird von der multicastAvailabilityUpdatePeriod-Eigenschaft bestimmt.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

multicastAvailabilityUpdatePeriod

Eigenschaft 
multicastAvailabilityUpdatePeriod:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen das Intervall in Sekunden zwischen Meldungen an, die Peers benachrichtigen, dass beim lokalen Knoten neue Peer-to-Peer-Multicast-Medienfragmente verfügbar sind. Größere Werte können die Batcheffizienz verbessern und die Steuerungslast reduzieren; sie können jedoch auch die Qualität auf Empfängerseite verschlechtern, da die verfügbare Zeit zum Abrufen von Fragmenten, bevor sie verworfen werden, verringert wird. Niedrigere Werte können die Latenzzeit verringern und die Qualität verbessern, sie erhöhen jedoch die Steuerungslast.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

multicastFetchPeriod

Eigenschaft 
multicastFetchPeriod:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen die Zeit in Sekunden an, wie lange es ab dem Zeitpunkt, zu dem der lokale Knoten erfährt, dass ein Peer-to-Peer-Multicast-Medienfragment verfügbar ist, dauert, bis er versucht, es von einem Peer abzurufen. Dieser Wert ermöglicht das proaktive Senden des Fragments an den lokalen Knoten, bevor das Abrufen von einem Peer versucht wird. Er lässt auch zu, dass mehrere Peers die Verfügbarkeit des Fragments ankündigen, damit die Abruflast auf mehrere Peers verteilt werden kann.

Größere Werte können den Lastausgleich verbessern und das Peer-to-Peer-Mesh gleichmäßiger belasten, sie verringern jedoch die verfügbare multicastWindowDuration und erhöhen die Latenzzeit. Kleinere Werte können die Latenzzeit verringern, wenn Abrufen erforderlich ist, können aber den redundanten Datenempfang erhöhen und den Lastausgleich im Peer-to-Peer-Mesh verschlechtern.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

multicastInfo

Eigenschaft 
multicastInfo:NetStreamMulticastInfo  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen ein NetStreamMulticastInfo-Objekt zurück, dessen Eigenschaften Statistiken zur Dienstgüte enthalten. Das Objekt ist ein Schnappschuss des aktuellen Status.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get multicastInfo():NetStreamMulticastInfo

Verwandte API-Elemente

multicastPushNeighborLimit

Eigenschaft 
multicastPushNeighborLimit:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen die maximale Anzahl von Peers an, an die proaktiv Multicast-Medien geleitet werden können.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

multicastRelayMarginDuration

Eigenschaft 
multicastRelayMarginDuration:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen die Dauer in Sekunden an, für die Peer-to-Peer-Multicast-Daten verfügbar bleiben, um an Peers gesendet zu werden, die sie nach einer angegebenen Dauer anfordern. Die Dauer wird mit der multicastWindowDuration-Eigenschaft festgelegt.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

multicastWindowDuration

Eigenschaft 
multicastWindowDuration:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen die Dauer des Peer-to-Peer-Multicastreassembly-Fensters in Sekunden an. Kürzere Werte verringern die Latenzzeit, können aber die Qualität verschlechtern, da nicht genügend Zeit zum Abrufen aller Fragmente gegeben wird. Umgekehrt können größere Werte die Qualität verbessern, da mehr Zeit zum Abrufen aller Fragmente zugelassen wird, was mit einer entsprechend längeren Latenzzeit einhergeht.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

nearNonce

Eigenschaft 
nearNonce:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Bei RTMFP- und RTMPE-Verbindungen ein Wert, der von diesem Ende des Streams gewählt wird und für diese Verbindung eindeutig ist. Dieser Wert erscheint am anderen Ende des Streams als farNonce-Wert

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



Implementierung
    public function get nearNonce():String

objectEncoding

Eigenschaft 
objectEncoding:uint  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Objektkodierung (AMF-Version) für dieses NetStream-Objekt. Der objectEncoding-Wert für das NetStream-Objekt wird von dem verknüpften NetConnection-Objekt übernommen. Es ist wichtig, die Funktionsweise dieser Eigenschaft zu kennen, wenn die Kommunikation der ActionScript 3.0-SWF-Datei mit Servern erforderlich ist, die eine ältere Version als Flash Player 9 aufweisen. Weitere Informationen finden Sie in der Beschreibung der Eigenschaft objectEncoding in der NetConnection-Klasse.

Der Wert dieser Eigenschaft hängt davon ab, ob es sich um einen lokalen oder einen Remote-Stream handelt. Lokale Streams, bei denen null an die Methode NetConnection.connect() übergeben wurde, geben den Wert NetConnection.defaultObjectEncoding zurück. Remote-Streams, bei denen Sie eine Verbindung zu einem Server herstellen, geben die Objektkodierung der Serververbindung zurück.

Wenn Sie versuchen, diese Eigenschaft ohne Verbindung zu lesen oder diese Eigenschaft zu ändern, gibt die Anwendung eine Ausnahme aus.



Implementierung
    public function get objectEncoding():uint

Verwandte API-Elemente

peerStreams

Eigenschaft 
peerStreams:Array  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5

Ein Objekt, das alle abonnierenden NetStream-Instanzen enthält, die diese veröffentlichende NetStream-Instanz überwachen.



Implementierung
    public function get peerStreams():Array

soundTransform

Eigenschaft 
soundTransform:flash.media:SoundTransform

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Steuert den Sound in diesem NetStream-Objekt. Weitere Informationen hierzu finden Sie im Abschnitt zur SoundTransform-Klasse.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

time

Eigenschaft 
time:Number  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Position des Abspielkopfs in Sekunden.

Flash Media Server Bei einem abonnierenden Stream die Anzahl der Sekunden, die der Stream bereits abgespielt wurde. Bei einem veröffentlichenden Stream die Anzahl der Sekunden, die der Stream veröffentlicht wurde. Die Zahl ist bis zur Tausenderdezimalstelle genau; multiplizieren Sie sie mit 1000, um die Anzahl der Millisekunden zu erhalten, die der Stream bereits abgespielt wurde.

Wenn der Server bei einem abonnierenden Stream aufhört, Daten zu senden, aber der Stream offen bleibt, wird der Wert der time-Eigenschaft nicht weiter erhöht. Wenn der Server beginnt, wieder Daten zu senden, wird der Wert von dem Punkt, an dem angehalten wurde (als der Server aufgehört hat, Daten zu senden), weiter erhöht.

Der Wert für time wird weiter erhöht, wenn der Stream von einem Wiedergabeelement zu einem anderen wechselt. Diese Eigenschaft wird auf 0 gesetzt, wenn NetStream.play() aufgerufen wird und dabei reset den Wert 1 oder true aufweist, oder wenn NetStream.close() aufgerufen wird.



Implementierung
    public function get time():Number

Verwandte API-Elemente

useHardwareDecoder

Eigenschaft 
useHardwareDecoder:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11, AIR 3

Gibt an, ob hardwarebeschleunigte Dekodierung für den Stream verwendet werden soll.

Hinweis: Sie können diese Eigenschaft nicht während der Videowiedergabe festlegen. Sie müssen sie vor dem Aufruf von NetStream.play() festlegen.

Der Standardwert ist true.



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

Verwandte API-Elemente

useJitterBuffer

Eigenschaft 
useJitterBuffer:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.3, AIR 3.3

Minimiert die Latenz für nicht gepuffertes Live-Streaming (bufferTime = 0). Audionachrichten werden in einem adaptiven Jitter-Puffer platziert, anstatt einen konservativen push-basierten Catchup-Mechanismus zu verwenden. Wenn Audio vom Lautsprechergerät benötigt wird, werden Nachrichten aus dem Jitter-Puffer geholt, dekodiert und abgespielt. Speex und G.711 verwenden immer diesen pull-basierten Ansatz, unabhängig von diesen Einstellungen (useJitterBuffer gibt für Speex/G.711 „true“ zurück). Wenn diese Einstellung im nicht gepufferten Modus aktiviert ist, verwenden alle Codes Jitter-Puffer, zum Beispiel Speex, G.711, Nellymoser, MP3 und AAC. Diese Eigenschaft hat im gepufferten Modus (bufferTime > 0) keine Auswirkungen, deshalb gibt useJitterBuffer „false“ zurück.



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

videoReliable

Eigenschaft 
videoReliable:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen an, ob Video vollständig zuverlässig gesendet wird. Mit der Einstellung TRUE sind alle über diesen NetStream übertragenen Videodaten vollständig zuverlässig. Mit der Einstellung FALSE sind die übertragenen Videodaten nicht vollständig zuverlässig, sondern werden für eine begrenzte Zeit erneut übertragen und dann ausgelassen. Sie können den Wert FALSE verwenden, um die Latenzzeit auf Kosten der Videoqualität zu verringern.

Wenn Sie diese Eigenschaft in einem Netzwerkprotokoll, das teilweise Zuverlässigkeit nicht unterstützt, auf FALSE setzen, wird der Versuch ignoriert und die Eigenschaft wird auf TRUE gesetzt.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

videoSampleAccess

Eigenschaft 
videoSampleAccess:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Gibt bei RTMFP-Verbindungen an, ob Peer-to-Peer-Abonnenten für diesen NetStream den Video-Stream erfassen dürfen. Mit der Einstellung FALSE resultieren Versuche von Abonnenten, den Videostream zu erfassen, in Berechtigungsfehlern.

Hinweis: Diese Eigenschaft wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.



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

Verwandte API-Elemente

videoStreamSettings

Eigenschaft 
videoStreamSettings:VideoStreamSettings

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11/ConnectAddin, AIR 3

Legt Eigenschaften für die Streamkomprimierung fest. Weitere Informationen finden Sie unter VideoStreamSettings. Wenn keine Kamera an das System angeschlossen ist, wird null zurückgegeben.



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

Verwandte API-Elemente

Konstruktordetails

NetStream

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt einen Stream, mit dem Sie Mediendateien abspielen und Daten über ein NetConnection-Objekt senden können.

Es gilt als ungültig, das netStatus-Ereignis eines NetStream-Objekts nicht zu verarbeiten. Um Fehler zu vermeiden, registrieren Sie einen Listener für netStatus, nachdem Sie das NetStream-Objekt erstellt haben und bevor Sie seine play()-Methode aufrufen.

Parameter
connection:NetConnection — Ein NetConnection-Objekt.
 
peerID:String (default = "connectToFMS") — Dieser optionale Parameter ist in Flash Player 10 und höher für die Verwendung mit RTMFP-Verbindungen verfügbar. (Wenn der Wert der NetConnection.protocol-Eigenschaft nicht "rtmfp" ist, wird dieser Parameter ignoriert.) Verwenden Sie einen der folgenden Werte:
  • Um eine Verbindung mit Flash Media Server herzustellen, geben Sie NetStream.CONNECT_TO_FMS an.
  • Um direkt für Peers zu veröffentlichen, geben Sie NetStream.DIRECT_CONNECTIONS an.
  • Um direkt von einem bestimmten Peer zu veröffentlichen, geben Sie die Identität dieses Peers an (siehe NetConnection.nearID und NetStream.farID).
  • (Flash Player 10.1 oder AIR 2 oder höher) Um in einer Peer-to-Peer-Multicast-Gruppe einen Stream zu veröffentlichen oder abzuspielen, geben Sie einen groupspec-String an (siehe Beschreibung der GroupSpecifier-Klasse).

In den meisten Fällen hat eine groupspec das Potenzial zur Verwendung des Netzwerk-Uplinks im lokalen System. In diesem Fall wird der Benutzer gefragt, ob er die Nutzung der Netzwerkressourcen des Computers zulässt. Wenn der Benutzer diese Nutzung erlaubt, wird ein NetStream.Connect.Success NetStatusEvent an den Ereignis-Listener von NetConnection gesendet. Wenn der Benutzer die Berechtigung verweigert, wird ein NetStream.Connect.Rejected-Ereignis gesendet. Wenn Sie einen groupspec-String angeben, ist es bis zum Empfangen eines NetStream.Connect.Success-Ereignisses ein Fehler, eine der Methoden des NetStream-Objekts zu verwenden, und es wird eine Ausnahme ausgegeben.

Wenn Sie diesen Parameter in Ihre Konstruktoranweisung einschließen, aber den Wert null übergeben, wird dieser Wert auf "connectToFMS" gesetzt.


Auslöser
ArgumentError — Die NetConnection-Instanz ist nicht verbunden.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Der folgende Code zeigt eine Verbindung für den Download und die progressive Anzeige eines Videos, das mit der Variablen videoURL verknüpft ist:
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);

Der folgende Code zeigt eine Verbindung für das Streamen und die Anzeige eines Videos (das mit der Variablen videoURL) auf einer remoten Flash Media Server-Instanz verknüpft ist, die im connect()-Befehl angegeben ist:
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);
Methodendetails

appendBytes

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Übergibt ein ByteArray für die Wiedergabe an einen NetStream. Rufen Sie diese Methode für einen NetStream im Datengenerierungsmodus auf. Um einen NetStream in den Datengenerierungsmodus zu versetzen, rufen Sie NetStream.play(null) für einen NetStream auf, der in einer NetConnection erstellt wurde, die mit null verbunden ist. Das Aufrufen von appendBytes() für einen NetStream, der sich nicht im Datengenerierungsmodus befindet, ist ein Fehler und führt zu einer Ausnahme.

Hinweis: Diese Methode wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Der Byte-Parser versteht eine FLV-Datei mit einem Header. Nachdem der Header analysiert wurde, erwartet appendBytes(), dass alle zukünftigen Aufrufe Fortsetzungen derselben realen oder virtuellen Datei sind. Es wird kein weiterer Header erwartet, sofern nicht appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) aufgerufen wird.

Ein NetStream-Objekt hat zwei Pufferspeicher: den FIFO von appendBytes() für den NetStream und den Wiedergabepuffer. Der FIFO ist der Zusammensetzungspuffer für FLV-Teil-Tags und enthält nicht mehr als ein unvollständiges FLV-Tag. Aufrufe von NetStream.seek() leeren beide Pufferspeicher. Rufen Sie nach einem Aufruf von seek() die appendBytesAction()-Methode auf, um die Zeitskala auf den Anfang des Zeitstempels der nächsten angehängten Nachricht zurückzusetzen.

Jeder Aufruf von appendBytes() fügt dem FIFO Bytes hinzu, bis ein FLV-Tag vollständig ist. Wenn ein FLV-Tag vollständig ist, wird es in den Wiedergabepuffer verschoben. Ein Aufruf von appendBytes() kann mehrere FLV-Tags schreiben. Die ersten Bytes vervollständigen ein vorhandenes FLV-Tag (das in den Wiedergabepuffer verschoben wird). Vollständige FLV-Tags werden in den Wiedergabepuffer verschoben. Verbleibende Bytes, die kein vollständiges FLV-Tag bilden, kommen in den FIFO. Bytes im FIFO werden entweder durch einen Aufruf von appendBytes() vervollständigt oder durch einen Aufruf von appendBytesAction() mit dem Argument RESET_SEEK oder RESET_BEGIN entfernt.

Hinweis: Der Byte-Parser kann einen Aufruf von appendBytes() möglicherweise nicht vollständig dekodieren, bis ein nachfolgender Aufruf von appendBytes() erfolgt.

Parameter

bytes:ByteArray

Verwandte API-Elemente

appendBytesAction

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Zeigt eine Diskontinuität der Zeitskala an, leert den FIFO und teilt dem Byte-Parser mit, einen Datei-Header oder den Anfang eines FLV-Tags zu erwarten.

Hinweis: Diese Methode wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Aufrufe von NetStream.seek() leeren die NetStream-Pufferspeicher. Der Byte-Parser verbleibt im Leeren-Modus, bis Sie appendBytesAction() aufrufen und das Argument RESET_BEGIN oder RESET_SEEK übergeben. Erfassen Sie das "NetStream.Seek.Notify"-Ereignis, um appendBytesAction() nach einem Suchlauf aufzurufen. Ein neuer Datei-Header kann Wiedergabelisten und Suchläufe unterstützen, ohne NetStream.seek() aufzurufen.

Sie können diese Methode auch aufrufen, um den Bytezähler für den onSeekPoint()-Rückruf zurückzusetzen.

Parameter

netStreamAppendBytesAction:String

Verwandte API-Elemente

attach

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Hängt einen Stream an ein neues NetConnection-Objekt an. Rufen Sie diese Methode auf, um einen NetStream an ein neues NetConnection-Objekt anzuhängen, nachdem eine Verbindung getrennt und wieder hergestellt wurde. Flash Player und AIR nehmen das Streaming ab dem Wiedergabepunkt, bei dem die Verbindung unterbrochen wurde, wieder auf. Sie können diese Methode auch verwenden, um Load Balancing (Lastausgleich) zu implementieren.

Für diese Methode ist Flash Media Server Version 3.5.3 oder höher erforderlich.

Informationen zur Verwendung dieser Methode zum Implementieren der Stream-Neuverbindung finden Sie in der Flash Media Server 3.5.3-Dokumentation.

Um mit dieser Methode Lastausgleich zu implementieren, gehen Sie folgendermaßen vor:

  1. Fügen Sie einem NetConnection-Objekt auf einem anderen Server einen verbundenen Stream hinzu.
  2. Nachdem der Stream erfolgreich der neuen Verbindung hinzugefügt wurde, rufen Sie NetConnection.close() für die frühere Verbindung auf, um zu verhindern, dass Daten austreten.
  3. Rufen Sie NetStream.play2() auf und stellen Sie den Wert von NetStreamPlayOptions.transition auf RESUME. Stellen Sie die restlichen Eigenschaften von NetStreamPlayOptions auf dieselben Werte ein, die Sie beim ursprünglichen Aufruf von NetStream.play() oder NetStream.play2() verwendet haben, um den Stream zu starten.

Parameter

connection:NetConnection

Verwandte API-Elemente

attachAudio

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Fügt einen über das NetStream-Objekt gesendeten Audiostream einem NetStream-Objekt hinzu, wobei das Microphone-Objekt als Quelle übergeben wurde. Diese Methode ist nur für den Herausgeber des angegebenen Streams verfügbar.

Verwenden Sie diese Methode mit Flash Media Server, um Live-Audio an den Server zu senden. Rufen Sie diese Methode vor oder nach dem Aufruf der publish()-Methode auf.

Stellen Sie die Microphone.rate-Eigenschaft so ein, dass sie der Rate des Sounderfassungsgerät entspricht. Rufen Sie setSilenceLevel() auf, um den Schwellenwert für Stille festzulegen. Um die Soundeigenschaften (Lautstärke und Panning) des Audiostreams zu steuern, verwenden Sie die Microphone.soundTransform-Eigenschaft.

     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")
     

Um das Audio zu hören, rufen Sie die NetStream.play()-Methode auf. Mit einem Aufruf von DisplayObjectContainer.addChild() leiten Sie das Audio an ein Objekt in der Anzeigeliste.

Parameter

microphone:Microphone — Die Quelle des zu übertragenden Audiostreams.

Verwandte API-Elemente

attachCamera

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Startet die Erfassung der Videodaten von einer Kamera bzw. stoppt die Erfassung, wenn theCamera auf null gesetzt ist. Diese Methode ist nur für den Herausgeber des angegebenen Streams verfügbar.

Diese Methode ist für die Verwendung mit Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse.

Nachdem Sie die Videoquelle angehängt haben, müssen Sie NetStream.publish() aufrufen, um die Übertragung zu starten. Abonnenten, die das Video anzeigen möchten, müssen die NetStream.play()- und die Video.attachCamera()-Methode aufrufen, um das Video auf der Bühne anzuzeigen.

Mit snapshotMilliseconds können Sie einen einzelnen Schnappschuss (durch Angabe des Werts „0“) oder eine Reihe von Schnappschüssen - die zusammen ein Zeitraffer-Video ergeben - senden. Hierzu geben Sie einen positiven Wert an, der dem Videofeed einen Nachspann anhängt, dessen Dauer der angegebenen Zahl in Millisekunden entspricht. Der Nachspann verlängert die Anzeigezeit der Videonachricht. Wenn wiederholt attachCamera() mit einem positiven Wert für snapshotMilliseconds aufgerufen wird, erzeugt die Sequenz wechselnder Schnappschüsse und Nachspänne ein Zeitraffer-Video. Sie können beispielsweise ein Bild pro Tag erfassen und an eine Videodatei anhängen. Wenn ein Abonnent die Datei wiedergibt, wird jedes Bild für die Dauer der angegebenen Anzahl an Millisekunden angezeigt.

Der Parameter snapshotMilliseconds hat nicht denselben Zweck wie der Parameter fps, den Sie mit Camera.setMode() festlegen können. Durch die Angabe von snapshotMilliseconds steuern Sie, wie viel Zeit zwischen den aufgezeichneten Bildern verstreicht. Durch Angabe von fps mit Camera.setMode() steuern Sie, wie viel Zeit zwischen Aufnahme und Wiedergabe verstreicht.

Beispiel: Sie möchten für insgesamt 100 Schnappschüsse alle fünf Minuten einen Schnappschuss erstellen. Hierzu haben Sie zwei Möglichkeiten:

  • Sie können 100-mal den Befehl NetStream.attachCamera(myCamera, 500) ausführen, einmal alle fünf Minuten. So dauert die Aufnahme 500 Minuten, die Wiedergabe der Datei jedoch nur 50 Sekunden (100 Bilder mit 500 Millisekunden pro Bild).
  • Sie können den Befehl Camera.setMode() mit einem fps-Wert von 1/300 (1 Bild alle 300 Sekunden, d. h. alle fünf Minuten) und anschließend den Befehl NetStream.attachCamera(source) ausführen, wobei die Kamera 500 Minuten fortlaufend aufzeichnet. Die Wiedergabe der fertigen Datei dauert 500 Minuten (dieselbe Dauer wie für die Aufnahme) und jedes Bild wird fünf Minuten lang angezeigt.

Bei beiden Methoden werden dieselben 500 Bilder erfasst, und beide Ansätze sind nützlich. Es hängt hauptsächlich von Ihren Wiedergabeanforderungen ab, welcher Ansatz für Sie geeigneter ist. Im zweiten Fall hätten Sie beispielsweise die Möglichkeit, über den gesamten Zeitraum Audiodaten aufzuzeichnen. Darüber hinaus haben die beiden Dateien etwa dieselbe Größe.

Parameter

theCamera:Camera — Die Quelle der Videoübertragung. Gültige Werte sind ein Camera-Objekt (das die Erfassung der Videodaten startet) und null. Wenn Sie null übergeben, stoppt die Anwendung die Erfassung, und alle weiteren gesendeten Parameter werden ignoriert.
 
snapshotMilliseconds:int (default = -1) — Gibt an, ob es sich um einen kontinuierlichen Videostream, ein einzelnes Bild oder eine Reihe einzelner Bilder zur Erstellung von Zeitraffer-Material handelt.
  • Wenn Sie diesen Parameter nicht angeben, erfasst die Anwendung alle Videodaten, bis Sie den Wert null an attachCamera übergeben.
  • Bei Übergabe von „0“ erfasst die Anwendung nur ein einzelnes Videobild. Verwenden Sie diesen Wert, um „Schnappschüsse“ innerhalb eines bereits vorhandenen Streams zu übertragen. Flash Player oder AIR interpretiert ungültige, negative oder nicht numerische Argumente als 0.
  • Wenn Sie eine positive Zahl übergeben, wird ein einzelnes Videobild erfasst und dann eine Pause angefügt, deren Dauer dem Nachspann des Schnappschusses entspricht. Verwenden Sie diesen Wert, um Zeitraffer-Effekte zu erstellen.

close

()Methode 
public function close():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Stoppt die Wiedergabe der Daten im Stream, legt für die Eigenschaft time den Wert 0 fest und macht den Stream für andere Verwendungszwecke verfügbar. Durch diese Methode wird auch die lokale Kopie einer Videodatei gelöscht, die über HTTP heruntergeladen wurde. Auch wenn die Anwendung die lokale Kopie der erstellten Datei löscht, verbleibt möglicherweise eine Kopie im Cache-Verzeichnis des Wenn Sie die Cache- oder lokale Speicherung der Videodatei vollständig vermeiden möchten, verwenden Sie Flash Media Server.

Wenn Flash Media Server verwendet wird, wird diese Methode implizit aufgerufen, wenn Sie NetStream.play() aus einem veröffentlichenden Stream oder NetStream.publish() aus einem abonnierenden Stream aufrufen. Bitte beachten Sie Folgendes:

  • Wenn close() von einem veröffentlichenden Stream aufgerufen wird, stoppt der Stream die Veröffentlichung, und der Herausgeber kann den Stream jetzt für andere Zwecke verwenden. Abonnenten erhalten nichts mehr, das im Stream veröffentlicht wurde, da der Stream die Veröffentlichung beendet hat.
  • Wenn close() von einem abonnierenden Stream aufgerufen wird, wird das Abspielen des Streams für den Abonnenten gestoppt, und der Abonnent kann den Stream für andere Zwecke verwenden. Andere Abonnenten sind davon nicht betroffen.
  • Sie können das Abspielen eines abonnierenden Streams stoppen, ohne den Stream zu schließen oder den Stream-Typ zu ändern, indem Sie flash.net.NetStream.play(false) verwenden.

Verwandte API-Elemente

dispose

()Methode 
public function dispose():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11, AIR 3.0

Gibt alle Ressourcen frei, die vom NetStream-Objekt gehalten werden.

Die dispose()-Methode ähnelt der close-Methode. Der Hauptunterschied zwischen den Methoden ist der, dass dispose() den Speicher freigibt, der für die Anzeige des aktuellen Videobildes verwendet wird. Wird dieses Bild zurzeit auf dem Bildschirm angezeigt, wird die Anzeige leer. Mit der close()-Methode wird der Bildschirm nicht leer, da die Methode diesen Speicher nicht freigibt.

onPeerConnect

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Wird ausgelöst, wenn ein Peer-Publishing-Stream mit einem Peer-Subscribing-Stream übereinstimmt. Bevor der Abonnent mit dem Herausgeber verbunden wird, rufen Sie diese Methode auf, um dem ActionScript-Code eine feine Zugriffskontrolle für Peer-to-Peer-Publishing zu ermöglichen. Der folgende Code zeigt ein Beispiel, wie eine Callback-Funktion für diese Methode erstellt wird:

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

Wenn ein Peer-Herausgeber diese Methode nicht implementiert, dürfen alle Peers veröffentlichten Inhalt wiedergeben.

Parameter

subscriber:NetStream

Rückgabewerte
Boolean

pause

()Methode 
public function pause():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Hält die Wiedergabe eines Videostreams an. Wenn die Wiedergabe bereits angehalten wurde, hat der Aufruf dieser Methode keine Auswirkung. Rufen Sie resume() auf, um ein angehaltenes Video weiter abzuspielen. Rufen Sie togglePause(), um zwischen dem Anhalten und Abspielen (erst anhalten, dann weiter abspielen) des Videos umzuschalten.

Beginnend mit Flash Player 9.0.115.0 leert der Flash Player den Puffer nicht mehr, wenn NetStream.pause() aufgerufen wird. Dieses Verhalten wird „smart pause“ genannt. In Vorgängerversionen von Flash Player 9.0.115.0 hat Flash Player gewartet, bis der Puffer voll war, bevor die Wiedergabe fortgesetzt wurde, wodurch es häufig zu Verzögerungen kam.

Hinweis: Aus Gründen der Abwärtskompatibilität wird das "NetStream.Buffer.Flush"-Ereignis (siehe NetStatusEvent.info-Eigenschaft) immer noch abgesetzt, obwohl der Server den Puffer nicht leert.

Für eine einzelne Pause hat die NetStream.bufferLength-Eigenschaft ein Limit von 60 Sekunden oder das Doppelte des Werts von NetStream.bufferTime, je nachdem, welcher Wert höher ist. Wenn bufferTime zum Beispiel 20 Sekunden beträgt, puffert Flash Player, bis NetStream.bufferLength den höheren Wert von 20*2 (40) oder 60 hat; in diesem Fall also bis bufferLength den Wert 60 hat. Wenn bufferTime 40 Sekunden beträgt, puffert Flash Player, bis bufferLength den höheren Wert von 40*2 (80) oder 60 hat; in diesem Fall also bis bufferLength den Wert 80 hat.

Die bufferLength-Eigenschaft hat auch ein absolutes Limit. Wenn ein Aufruf von pause() dazu führt, dass bufferLength auf mehr als 600 Sekunden ansteigt oder der Wert von bufferTime * 2, je nachdem, welcher Wert höher ist, löscht Flash Player den Puffer und setzt bufferLength auf 0 zurück. Wenn bufferTime zum Beispiel 120 Sekunden beträgt, löscht Flash Player den Puffer, wenn bufferLength den Wert 600 Sekunden erreicht; wenn bufferTime 360 Sekunden beträgt, löscht Flash Player den Puffer, wenn bufferLength den Wert 720 Sekunden erreicht.

Tipp: Sie können im Code NetStream.pause() verwenden, um Daten zu puffern, während Betrachter zum Beispiel einen Werbespot sehen, und dann die Pause aufheben, wenn das Hauptvideo beginnt.

Verwandte API-Elemente

play

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Spielt eine Mediendatei von einem lokalen Verzeichnis oder einem Webserver ab; spielt eine Mediendatei oder einen Livestream von Flash Media Server ab. Setzt ein NetStatusEvent-Objekt ab, um Status- und Fehlermeldungen zu melden.

Informationen zu unterstützten Codecs und Dateiformaten finden Sie hier:

Arbeitsablauf beim Abspielen einer Datei oder eines Livestreams

  1. Erstellen Sie ein Video-Objekt, das das Video anzeigt, und rufen Sie addChild() auf, um es der Bühne hinzuzufügen.
  2. Erstellen Sie ein NetConnection-Objekt und rufen Sie NetConnection.connect() auf.

    Um eine Datei von einem lokalen Verzeichnis oder von einem Webserver abzuspielen, übergeben Sie null.

    Um eine aufgenommene Datei oder einen Livestream von Flash Media Server abzuspielen, übergeben Sie den URI einer Flash Media Server-Anwendung.

  3. Rufen Sie die addEventListener()-Methode des NetConnection -Objekts auf, einen Listener für das netStatus-Ereignis (NetStatusEvent.NET_STATUS) hinzuzufügen.
  4. Erstellen Sie für NetConnection.Connect.Success ein NetStream-Objekt und übergeben Sie das NetConnection-Objekt an den Konstruktor.
  5. Rufen Sie die attachNetStream()-Methode des Video-Objekts auf und übergeben Sie das NetStream-Objekt.
  6. Rufen Sie die play()-Methode des NetStream-Objekts auf.

    Um einen Livestream abzuspielen, übergeben Sie den Namen des Streams, der an die NetStream.publish()-Methode übergeben wurde.

    Um eine aufgenommene Datei abzuspielen, übergeben Sie den Dateinamen.

Hinweis: Es hat sich bewährt, immer das Video-Objekt zur Bühne hinzuzufügen, dann das NetStream-Objekt daran anzuhängen, dann die play()-Methode des NetStream-Objekts aufzurufen.

Aktivieren des Datengenerierungsmodus

Rufen Sie play(null) auf, um den Datengenerierungsmodus zu aktivieren. In diesem Modus rufen Sie die appendBytes()-Methode auf, um Daten an NetStream zu senden. Verwenden Sie den Datengenerierungsmodus, um Inhalt über HTTP vom Adobe HTTP Dynamic Streaming Origin Module an einen Apache HTTP-Server zu senden. Clients können beim HTTP Dynamic Streaming schnell einen Suchlauf zu einem beliebigen Punkt in einer Datei ausführen. Das Open Source Media Framework (OSMF) unterstützt HTTP Dynamic Streaming für Video on Demand und Live-Streams. Beispiele zur Verwendung des NetStream-Datengenerierungsmodus können Sie von der OSMF-Quelle herunterladen. Weitere Informationen zu HTTP Dynamic Streaming finden Sie unter HTTP Dynamic Streaming.

Wenn Sie diese Methode ohne Flash Media Server verwenden, gibt es Sicherheitsüberlegungen zu beachten. Eine Datei in der lokal vertrauenswürdigen Sandbox oder der lokalen Sandbox mit Netzwerkzugang kann eine Videodatei aus der remoten Sandbox wiedergeben, aber nicht ohne explizite Erlaubnis in Form einer URL-Richtliniendatei auf die Daten der remoten Datei zugreifen. Sie können auch eine SWF-Datei, die im Flash Player ausgeführt wird, daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter allowNetworking der Tags object und embed festlegen. Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

Parameter

... arguments

Abspielen einer lokalen Datei

Der Speicherort der Mediendaten. Das Argument kann ein String, eine URLRequest.url-Eigenschaft oder eine Variable, die auf eines der beiden verweist. In Flash Player und in AIR-Inhalt außerhalb der Sicherheits-Sandbox der Anwendung können Sie lokale Videodateien abspielen, die im selben Verzeichnis gespeichert sind wie die SWF-Datei oder in einem Unterverzeichnis; Sie können jedoch nicht zu einem Verzeichnis auf einer höheren Ebenen wechseln.

Abspielen einer Datei von Flash Media Server

NameErforderlichBeschreibung
name:ObjectErforderlich Der Name einer aufgenommenen Datei, eine ID für Live-Daten, die von NetStream.publish() veröffentlicht wurden, oder false. Mit dem Wert false wird die Wiedergabe des Streams gestoppt, und etwaige zusätzliche Parameter werden ignoriert. Weitere Informationen zur Syntax für Dateinamen finden Sie in der Dateiformattabelle, die nach dieser Tabelle folgt.
start:NumberOptional Die Startzeit in Sekunden. Zulässige Werte sind -2, -1, 0 oder eine positive Zahl. Der Standardwert ist -2, womit nach einem Live-Stream gesucht wird, dann nach einem aufgezeichneten Stream. Wird keins von beiden gefunden, wird ein neuer Live-Stream geöffnet. Sie können -2 nicht mit MP3-Dateien verwenden. Mit dem Wert -1 wird nur ein Live-Stream abgespielt. Mit dem Wert 0 oder einer positiven Zahl wird ein aufgezeichneter Stream abgespielt, und zwar ab der Position start Sekunden.
len:Number Optional, wenn start angegeben wird. Die Dauer der Wiedergabe in Sekunden. Zulässige Werte sind -1, -0, oder eine positive Zahl. Der Standardwert ist -1, womit ein Live-Stream oder ein aufgezeichneter Stream bis zum Ende abgespielt wird. Mit dem Wert 0 wird ein Einzelbild abgespielt, das sich start Sekunden nach dem Anfang eines aufgezeichneten Streams befindet. Ist der Wert eine positive Zahl, wird ein Live-Stream oder ein aufgezeichneter Stream für len Sekunden abgespielt.
reset:Object Optional, wenn len angegeben wird. Gibt an, ob eine Wiedergabeliste gelöscht werden soll. Der Standardwert ist 1 oder true, womit vorherige Aufrufe von play gelöscht werden und name sofort abgespielt wird. Mit dem Wert 0 oder false wird der Stream einer Wiedergabeliste hinzugefügt. Mit dem Wert 2 bleibt die Wiedergabeliste erhalten, und es werden alle Stream-Meldungen auf einmal anstatt in Intervallen zurückgegeben. Mit dem Wert 3 wird die Wiedergabeliste gelöscht, und es werden alle Stream-Meldungen auf einmal zurückgegeben.

Sie können die Dateiformate wiedergeben, die in der folgenden Tabelle beschrieben sind. Die Syntax ist je nach Dateiformat unterschiedlich.

DateiformatSyntaxBeispiel
FLVGeben Sie den Streamnamen (im Verzeichnis „samples“) als String ohne Dateinamenerweiterung an.ns.play("samples/myflvstream");
mp3 oder ID3Legen Sie den Streamnamen (im Verzeichnis „samples“) als einen String mit dem Präfix mp3: oder id3: ohne eine Dateinamenerweiterung fest.

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

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

MPEG-4-basierte Dateien (z. B. F4V und MP4)Geben Sie den Streamnamen (im Verzeichnis „samples“) als String mit den Präfix mp4: an. Mit dem Präfix wird dem Server angezeigt, dass die Datei H.264-kodiertes Video und AAC-kodiertes Audio im Containerformat „MPEG-4 Part 14“ enthält. Falls die Datei auf dem Server eine Dateierweiterung hat, geben Sie sie an.

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

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

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

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

RAWGeben Sie den Streamnamen (im Verzeichnis „samples“) als String mit dem Präfix raw: an.ns.play("raw:samples/myvideo");

Aktivieren des Datengenerierungsmodus

Um den Datengenerierungsmodus zu aktivieren, übergeben Sie den Wert null an einen NetStream, der in einer NetConnection erstellt wurde, die mit null verbunden ist. In diesem Modus rufen Sie appendBytes() auf, um Daten an NetStream zu senden. (Durch die Übergabe von null wird außerdem der Bytezähler für den onSeekPoint()-Rückruf zurückgesetzt.)

Besondere Überlegungen für H.264-Video in AIR 3.0 for iOS

Für H.264-Video akzeptieren die iOS-APIs für die Videowiedergabe nur eine URL zu einer Datei oder einem Stream. Sie können keinen Puffer mit H264-Videodaten übergeben, die dekodiert werden sollen. Übergeben Sie je nach Videoquelle das passende Argument an NetStream.play():

  • Für die progressive Wiedergabe: Übergeben Sie die URL der Datei (lokal oder remote).

  • Für Streaming-Video: Übergeben Sie die URL einer Wiedergabeliste im HLS-Format (HTTP Live Streaming) von Apple. Die Datei kann von einem beliebigen Server bereitgestellt werden; Flash Media Server 4.5 und höher hat den Vorteil, dass Streams im HLS-Format kodiert werden können.


Ereignisse
status:StatusEvent — Wird ausgelöst, wenn versucht wird, Inhalt abzuspielen, der mit DRM (Digital Rights Management) verschlüsselt wurde. Der Wert der code-Eigenschaft ist "DRM.encryptedFLV".

Auslöser
SecurityError — Über lokale nicht vertrauenswürdige SWF-Dateien kann keine Verbindung mit dem Internet hergestellt werden. Sie können diese Einschränkung umgehen, indem Sie die entsprechende SWF-Datei als lokal mit Netzwerkzugang oder als vertrauenswürdig klassifizieren.
 
ArgumentError — Es muss mindestens ein Parameter angegeben werden.
 
Error — Das NetStream-Objekt ist ungültig. Dies kann an einer fehlgeschlagenen NetConnection liegen.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Flash Media Server Dieses Beispiel spielt eine aufgenommene F4V-Datei (aus dem Verzeichnis „samples“) vom Anfang über maximal 100 Sekunden ab. Wenn bei MPEG-4-Dateien die Datei auf dem Server eine Dateinamenerweiterung hat, muss die play()-Methode eine Dateinamenerweiterung angeben.
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server In diesem Beispiel wird ein von einem Client veröffentlichter FLV-Live-Stream von Anfang bis Ende abgespielt und beginnt sofort:
     ns.play("livestream");
     

Im folgenden Beispiel wird gezeigt, wie eine externe FLV-Datei geladen wird:
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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Wechselt nahtlos zwischen Dateien mit mehreren Bitraten und ermöglicht einem NetStream die Wiederaufnahme, wenn eine Verbindung getrennt und wiederhergestellt wurde.

Diese Methode ist eine verbesserte Version von NetStream.play(). Wie die play()-Methode beginnt die play2()-Methode mit der Wiedergabe einer Mediendatei oder setzt Mediendateien in eine Warteschlange, um eine Wiedergabeliste zu erstellen. Wenn sie mit Flash Media Server verwendet wird, kann sie auch anfordern, dass der Server zu einer anderen Mediendatei wechselt. Der Übergang in der Clientanwendung erfolgt nahtlos. Die folgenden Funktionen verwenden play2()-Streamwechsel:

Dynamisches Streaming

Dynamisches Streaming (in Flash Media Server 3.5 und höher unterstützt) ermöglicht Ihnen, einen Stream zu bedienen, der mit mehreren Bitraten kodiert ist. Wenn sich die Netzwerkbedingungen des Betrachters ändern, empfängt er die Bitrate, die die beste Anzeige ermöglicht. Verwenden Sie die NetStreamInfo-Klasse, um Netzwerkbedingungen zu überwachen und Streams basierend auf den Daten zu wechseln. Sie können auch Streams für Clients mit unterschiedlicher Funktionalität wechseln. Weitere Informationen finden Sie unter „Dynamic streaming“ im Handbuch „Adobe Flash Media Server Developer Guide“.

Adobe hat ein benutzerdefinierte ActionScript-Klasse mit dem Namen DynamicStream entwickelt, die die NetStream-Klasse erweitert. Sie können die DynamicStream-Klasse verwenden, um dynamisches Streamen in einer Anwendung zu implementieren, statt eigenen Code zu schreiben, um Netzwerkbedingungen zu erkennen. Selbst wenn Sie sich dazu entscheiden, Ihren eigenen dynamischen Streamingcode zu schreiben, verwenden Sie die DynamicStream-Klasse als Referenzimplementierung. Laden Sie die Klasse und die Klassendokumentation von der Seite Flash Media Server tools and downloads herunter.

Stream-Neuverbindung

Die Stream-Neuverbindung (unterstützt in Flash Media Server 3.5.3 und höher) ermöglicht Benutzern die ununterbrochene Medienanzeige, selbst wenn ihre Verbindung verloren geht. Das Medium verwendet den Puffer zum Abspielen, während Ihre ActionScript-Logik die Verbindung zum Flash Media Server wiederherstellt. Rufen Sie nach der Neuverbindung NetStream.attach() auf, um dasselbe NetStream-Objekt mit der neuen NetConnection zu verwenden. Verwenden Sie die NetStream.attach()-, NetStreamPlayTransitions.RESUME- und NetStreamPlayTrasitions.APPEND_AND_WAIT-APIs, um einen Stream neu zu verbinden. Weitere Informationen finden Sie in der Flash Media Server 3.5.3-Dokumentation.

Parameter

param:NetStreamPlayOptions

Verwandte API-Elemente

preloadEmbeddedData

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.5, Flash Lite 4

Extrahiert DRM-Metadaten aus einer lokal gespeicherten Mediendatei.

Verwenden Sie zunächst preloadEmbeddedMetaData(), um die für die Offline-Wiedergabe benötigten DRM-Gutscheine herunterzuladen und im Zwischenspeicher abzulegen. Wenn in einer Mediendatei eingebettete DRM-Metadaten entdeckt werden, wird ein DRMContentData-Objekt an die onDRMContentData-Funktion des NetStream-Clients übergeben. Dieses DRMContentData-Objekt enthält die notwendigen Informationen, um den Gutschein zu erhalten, der zur Wiedergabe des Inhalts erforderlich ist. Übergeben Sie das DRMContentDataObject an die loadVoucher()-Methode des DRMManagers, um den Gutschein herunterzuladen.

Die Schritte zum Vorabladen eines DRM-Gutscheins sind:

  • Erstellen Sie ein neues NetStream-Objekt zum Vorabladen der Metadaten.

  • Verknüpfen Sie eine Callback-Funktion mit der onDRMContentData-Eigenschaft des NetStream-Clients.
  • Erstellen Sie ein neues NetStreamPlayOptions-Objekt und setzen Sie seine streamName-Eigenschaft auf den URL-String der lokalen Videodatei.
  • Rufen Sie preloadEmbeddedMetadata() auf, um das NetStreamPlayOptions-Objekt zu übergeben.
  • Rufen Sie als Antwort auf das onDRMContentData-Callback die loadVoucher()-Methode des DRMManagers auf, um das DRMContentData-Objekt zu übergeben. Wenn die authenticationMethod-Eigenschaft des DRMContentData-Objekts den Wert userNameAndPassWord hat, authentifizieren Sie den Benutzer auf dem Medienrechteserver, bevor Sie den Gutschein laden.
  • Schließen Sie den NetStream, der zum Vorabladen verwendet wird.

Hinweis: Um zum Vorabladen von Metadaten und zur Wiedergabe von Inhalt das gleiche NetStream-Objekt zu verwenden, warten Sie, bis der onPlayStatus-Aufruf von der preload-Methode generiert wurde, bevor mit der Wiedergabe begonnen wird.

Heruntergeladene Gutscheine werden in einem lokalen Zwischenspeicher gespeichert. Wenn Inhalt online wiedergegeben wird, werden ebenfalls Gutscheine heruntergeladen und im Zwischenspeicher abgelegt. Wenn eine DRM-geschützte Inhaltsdatei angezeigt wird, wird automatisch ein zwischengespeicherter Gutschein aus dem lokalen Speicher abgerufen. Verwenden Sie den DRMManager, um den Gutschein-Zwischenspeicher zu verwalten.

Hinweise: Das Vorabladen von DRM-Metadaten über HTTP-, HTTPS- oder RTMP-Verbindungen wird nicht unterstützt. Sie können nur Metadaten aus Dateien vorabladen, die im Dateisystem gespeichert sind.

Parameter

param:NetStreamPlayOptions — NetStreamPlayOptions beschreiben die Optionen, die beim Verarbeiten der Inhaltsdatei zu verwenden sind.

Verwandte API-Elemente

publish

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Sendet einen Stream mit Audiodaten, Videodaten und Datennachrichten von einem Client an Flash Media Server. Der Stream kann während der Übertragung aufgezeichnet werden. Diese Methode setzt ein NetStatusEvent-Objekt mit Informationen zum Stream ab. Bevor Sie NetStream.publish() aufrufen, erfassen Sie das "NetConnection.Connect.Success"-Ereignis, um zu überprüfen, ob die Anwendung erfolgreich eine Verbindung zu Flash Media Server hergestellt hat.

Beim Veröffentlichen können Sie Dateien im FLV- oder F4V-Format aufnehmen. Wenn Sie eine Datei im F4V-Format aufnehmen, verwenden Sie ein Reduzierungs-Tool, um die Datei in einer anderen Anwendung zu bearbeiten oder abzuspielen. Das Tool kann von www.adobe.com/go/fms_tools_de heruntergeladen werden.

Hinweis:Verwenden Sie diese Methode nicht zum Abspielen eines Streams. Um einen Stream wiederzugeben, verwenden Sie die NetStream.play()-Methode.

Arbeitsablauf beim Veröffentlichen eines Streams

  1. Erstellen Sie ein NetConnection-Objekt und rufen Sie NetConnection.connect() auf.
  2. Rufen Sie NetConnection.addEventListener() auf, um auf NetStatusEvent-Ereignisse zu warten.
  3. Erstellen Sie für das "NetConnection.Connect.Success"-Ereignis ein NetStream-Objekt und übergeben Sie das NetConnection-Objekt an den Konstruktor.
  4. Um Audio und Video zu erfassen, rufen Sie die NetStream.attachAudio()- und die NetStream.attachCamera()-Methode auf.
  5. Um einen Stream zu veröffentlichen, verwenden Sie die NetStream.play()-Methode. Sie können die veröffentlichten Daten aufzeichnen, sodass Benutzer die Möglichkeit haben, sie zu einem späteren Zeitpunkt wiederzugeben.

Hinweis:Ein NetStream kann einen Stream entweder veröffentlichen oder abspielen, aber nicht beides. Um einen Stream zu veröffentlichen und die Wiedergabe vom Server anzuzeigen, erstellen Sie zwei NetStream-Objekte. Sie können mehrere NetStream-Objekte über ein NetConnection-Objekt senden.

Wenn Flash Media Server einen Stream aufzeichnet, wird eine Datei erstellt. Standardmäßig erstellt der Server ein Verzeichnis mit dem Namen der Anwendung, der an NetConnection.connect() übergeben wurde, und speichert die Datei in dem Verzeichnis. Mit dem folgenden Code wird zum Beispiel eine Verbindung zur Standardinstanz der Anwendung „lectureseries“ hergestellt und ein Stream namens „lecture“ aufgenommen. Die Datei „lecture.flv“ wird im Verzeichnis applications/lectureseries/streams/_definst_ directory aufgenommen:

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

Das folgende Beispiel stellt eine Verbindung zur Instanz „monday“ derselben Anwendung her. Die Datei „lecture.flv“ wird im Verzeichnis /applications/lectureseries/streams/monday aufgenommen:

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

Parameter

name:String (default = null) — Ein String, der den Stream identifiziert. Clients, die diesen Stream abonnieren, übergeben beim Aufruf von NetStream.play() diesen Namen. Setzen Sie keinen Schrägstrich (/) hinter den Stream-Namen. Verwenden Sie zum Beispiel nicht den Stream-Namen "bolero/".

Sie können Dateien in den im Folgenden aufgeführten Formaten aufzeichnen (Sie können publish() nicht für MP3-Dateien verwenden). Die Syntax ist je nach Dateiformat unterschiedlich.

DateiformatSyntaxBeispiel
FLVLegen Sie den Streamnamen als einen String ohne eine Dateinamenerweiterung fest.ns.publish("myflvstream");
MPEG-4-basierte Dateien (z. B. F4V oder MP4)Legen Sie den Streamnamen als String mit dem Präfix mp4: mit oder ohne Dateinamenerweiterung fest. Flash Player kodiert mit H.263, nicht H.264. Flash Media Server kann beliebige Codecs im F4V-Container aufnehmen. Flash Media Live Encoder kann mit H.264 kodieren. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWGeben Sie den Streamnamen als String mit dem Präfix raw: an.ns.publish("raw:myvideo");

 
type:String (default = null) — Ein String, der angibt, wie der Stream veröffentlicht wird. Gültige Werte sind "record", "append", "appendWithGap" und "live". Der Standardwert ist "live".
  • Wenn Sie "record" übergeben, veröffentlicht der Server Live-Daten und zeichnet sie auf. Dabei werden die aufgezeichneten Daten in einer neuen Videodatei gespeichert, deren Name dem an den name-Parameter übergebenen Wert entspricht. Wenn die Datei vorhanden ist, wird sie überschrieben.
  • Wenn Sie "append" übergeben, veröffentlicht und zeichnet Flash Media Server Live-Daten auf und hängt die aufgezeichneten Daten an eine Datei mit einem Namen an, der dem an den name-Parameter übergebenen Wert entspricht. Wenn keine Datei gefunden wird, die dem name-Parameter entspricht, wird sie erstellt.
  • Wenn Sie "appendWithGap" übergeben, werden zusätzliche Informationen über die Zeitkoordination übergeben, um dem Server zu helfen, den richtigen Übergangspunkt beim dynamischen Streaming zu bestimmen.
  • Wenn Sie diesen Parameter nicht angeben oder "live" übergeben, veröffentlicht der Server Live-Daten, zeichnet diese jedoch nicht auf. Wenn eine Datei mit dem Namen vorhanden ist, der dem Wert des Parameters name entspricht, wird sie gelöscht.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel erfasst Video von einer Kamera und veröffentlicht es über einen NetStream für Flash Media Server. Das Beispiel zeigt das Video an, wenn es von Flash Media Server wiedergegeben wird.

Wenn Sie dieses Beispiel ausführen möchten, muss eine Kamera an Ihren Computer angeschlossen sein. Außerdem müssen Sie der Bibliothek eine Button-Komponente und eine Label-Komponente hinzufügen.

Die Anwendung verfügt über eine Schaltfläche, die einen Stream veröffentlicht (ihn an Flash Media Server sendet), nachdem die Anwendung erfolgreich eine Verbindung zum Server hergestellt hat. Die Anwendung spielt den Stream vom Server erst ab, nachdem der Stream erfolgreich veröffentlicht wurde. NetStatusEvent gibt ein info-Objekt mit einer code-Eigenschaft zurück, die diese Fälle spezifiziert. Die netStatusHandler-Funktion verarbeitet diese Ereignisse für die NetConnection- und NetStream-Klasse.

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt an, ob eingehende Audiodaten im Stream wiedergegeben werden. Diese Methode ist nur für Clients verfügbar, die den angegebenen Stream abonniert haben. Dem Herausgeber des Streams steht sie nicht zur Verfügung. Rufen Sie diese Methode vor oder nach dem Aufruf der NetStream.play()-Methode auf. Fügen Sie diese Methode zum Beispiel einer Schaltfläche an, mit der der Benutzer den Ton aus- und einschalten kann. Verwenden Sie diese Methode nur bei Unicast-Streams, die von Flash Media Server wiedergegeben werden. Diese Methode funktioniert nicht für RTMFP-Multicast-Streams oder bei Verwendung der NetStream.appendBytes()-Methode.

Parameter

flag:Boolean — Gibt an, ob eingehende Audiodaten im Stream wiedergegeben werden (true) oder nicht (false). Der Standardwert ist true. Wenn der angegebene Stream nur Audiodaten enthält, wird NetStream.time nicht weiter erhöht, wenn Sie false übergeben.

receiveVideo

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt an, ob eingehende Videodaten im Stream wiedergegeben werden. Diese Methode ist nur für Clients verfügbar, die den angegebenen Stream abonniert haben. Dem Herausgeber des Streams steht sie nicht zur Verfügung. Rufen Sie diese Methode vor oder nach dem Aufruf der NetStream.play()-Methode auf. Fügen Sie diese Methode zum Beispiel einer Schaltfläche an, mit der der Benutzer Video ein- und ausblenden kann. Verwenden Sie diese Methode nur bei Unicast-Streams, die von Flash Media Server wiedergegeben werden. Diese Methode funktioniert nicht für RTMFP-Multicast-Streams oder bei Verwendung der NetStream.appendBytes()-Methode.

Parameter

flag:Boolean — Gibt an, ob eingehende Videodaten in diesem Stream wiedergegeben werden (true) oder nicht (false). Der Standardwert ist true. Wenn der angegebene Stream nur Videodaten enthält, wird NetStream.time nicht weiter erhöht, wenn Sie false übergeben.

receiveVideoFPS

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt die Bildrate für eingehendes Video an. Diese Methode ist nur für Clients verfügbar, die den angegebenen Stream abonniert haben. Dem Herausgeber des Streams steht sie nicht zur Verfügung. Rufen Sie diese Methode vor oder nach dem Aufruf der NetStream.play()-Methode auf. Rufen Sie diese Methode zum Beispiel auf, um Benutzern das Festlegen der Videobildfrequenz zu ermöglichen. Mit NetStream.currentFPS können Sie die aktuelle Bildrate zu bestimmen. Um den Videoempfang zu beenden, übergeben Sie 0.

Wenn Sie einen Wert an den FPS-Parameter übergeben, um die Bildrate des Videos zu begrenzen, versucht Flash Media Server, die Bildrate zu verringern und gleichzeitig die Integrität des Videos zu erhalten. Jeweils zwischen zwei Schlüsselbildern sendet der Server die Mindestanzahl Bilder, um die gewünschte Bildrate zu erreichen. Beachten Sie, dass Zwischenbilder (I-frames) direkt angrenzend gesendet werden müssen, andernfalls ist das Video fehlerhaft. Deshalb wird die gewünschte Anzahl Bilder sofort und angrenzend an einen Keyframe gesendet. Da die Bilder nicht gleichmäßig verteilt sind, erscheint die Bewegung in Segmenten fließend, unterbrochen von kurzen Halts.

Verwenden Sie diese Methode nur bei Unicast-Streams, die von Flash Media Server wiedergegeben werden. Diese Methode funktioniert nicht für RTMFP-Multicast-Streams oder bei Verwendung der NetStream.appendBytes()-Methode.

Parameter

FPS:Number — Gibt die Bildrate pro Sekunde an, bei der das eingehende Video abgespielt wird.

resetDRMVouchers

()Methode 
public static function resetDRMVouchers():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 11.8, Flash Lite 4

In AIR-Anwendungen werden dadurch alle lokal gespeicherten Digital Rights Management (DRM)-Gutscheindaten gelöscht. Für browserbasierte Anwendungen ist dies nur während 3322-Fehlern verfügbar und funktioniert wie das Einstellungsbedienfeld von Protected Content Playback.

Die Anwendung muss alle erforderlichen Gutscheine erneut vom Medienrechteserver herunterladen, damit der Benutzer auf zugriffsgeschützten Inhalt zugreifen kann. Der Aufruf dieser Funktion hat den gleichen Effekt wie das Aufrufen der resetDRMVouchers()-Funktion des DRMManager-Objekts.


Auslöser
IOError — Die Gutscheindaten können nicht gelöscht werden.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel setzt alle DRM-Gutscheine zurück:
NetStream.resetDRMVouchers();

resume

()Methode 
public function resume():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Setzt die Wiedergabe eines angehaltenen Videostreams fort. Wenn die Wiedergabe bereits läuft, hat der Aufruf dieser Methode keine Auswirkung.

Verwandte API-Elemente

seek

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Sucht das Schlüsselbild (in der Videobranche auch „I-Frame“ genannt), das der angegebenen Position am nächsten ist. Das Schlüsselbild wird mit einem Offset (einer Verschiebung) in Sekunden ab dem Beginn des Streams platziert.

Videostreams werden normalerweise mit zwei Arten von Bildern kodiert: Schlüsselbildern (oder I-Frames) und P-Frames. Ein Schlüsselbild enthält ein gesamtes Bild, während ein P-Frame ein Zwischenbild ist, das zusätzliche Videoinformationen zwischen Schlüsselbildern bietet. Ein Video-Stream enthält in der Regel alle 10 bis 50 Bilder ein Schlüsselbild.

Flash Media Server verfügt über verschiedene Arten von Suchlaufverhalten: erweiterter Suchlauf und intelligenter Suchlauf.

Erweiterter Suchlauf

Der erweiterte Suchlauf ist standardmäßig aktiviert. Um den erweiterten Suchlauf zu deaktivieren, stellen Sie auf dem Flash Media Server das EnhancedSeek-Element in der Application.xml-Konfigurationsdatei auf false ein.

Wenn der erweiterte Suchlauf aktiviert ist, generiert der Server ein neues Schlüsselbild bei offset, basierend auf dem vorherigen Schlüsselbild und ggf. dazwischenliegenden P-Frames. Durch das Generieren von Schlüsselbildern wird auf dem Server jedoch eine hohe Verarbeitungslast erzeugt, und im generierten Schlüsselbild kann es zu Verzerrungen kommen. Wenn der Videocodec On2 verwendet wird, werden das Schlüsselbild vor dem Suchpunkt sowie alle P-Frames zwischen dem Schlüsselbild und dem Suchpunkt an den Client gesendet.

Wenn der erweiterte Suchlauf deaktiviert ist, beginnt der Server ab dem nächstliegenden Schlüsselbild mit dem Streaming. Angenommen, ein Video hat Schlüsselbilder bei 0 Sekunden und bei 10 Sekunden. Ein Suchlauf von 4 Sekunden startet die Wiedergabe bei 4 Sekunden unter Verwendung des Schlüsselbilds bei 0 Sekunden. Das Video bleibt stehen, bis das nächste Schlüsselbild bei 10 Sekunden erreicht wird. Um bessere Suchläufe zu erzielen, müssen Sie das Schlüsselbildintervall verringern. Im normalen Suchmodus können Sie das Video nicht an einem Punkt zwischen den Schlüsselbildern starten.

Intelligenter Suchlauf

Um den intelligenten Suchlauf zu aktivieren, stellen Sie NetStream.inBufferSeek auf true ein.

Der intelligente Suchlauf ermöglicht Flash Player, innerhalb eines vorhandenen Rücklauf- und Vorlaufpuffer zu suchen. Wenn der intelligente Suchlauf deaktiviert ist, leert Flash Player bei jedem Aufruf von seek() den Puffer und fordert Daten vom Server an. Weitere Informationen finden Sie im Abschnitt zu NetStream.inBufferSeek.

Suchläufe im Datengenerierungsmodus

Wenn Sie seek() für einen NetStream im Datengenerierungsmodus aufrufen, werden alle an appendBytes() übergebenen Daten verworfen (nicht gepuffert, nicht im Teilnachrichten-FIFO akkumuliert oder nach Suchpunkten analysiert), bis Sie appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) oder appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) aufrufen, um den Parser zurückzusetzen. Informationen zum Datengenerierungsmodus finden Sie unter NetStream.play().

Parameter

offset:Number — Der ungefähre Zeitpunkt in Sekunden, zu dem der Abspielkopf in einer Videodatei verschoben werden soll. Wenn bei Verwendung von Flash Media Server <EnhancedSeek> in der Konfigurationsdatei Application.xml auf den Wert true gesetzt wird, generiert der Server ein Schlüsselbild bei offset.
  • Geben Sie für offset den Wert 0 an, wenn Sie zum Anfang des Streams zurückkehren möchten.
  • Geben Sie die entsprechende Sekundenzahl an, wenn Sie ab dem Anfang des Streams vorwärts suchen möchten. Um den Abspielkopf zum Beispiel an eine Position 15 Sekunden nach dem Anfang (oder dem Schlüsselbild vor 15 Sekunden) zu bewegen, verwenden Sie myStream.seek(15).
  • Sie können in Relation zur aktuellen Position suchen, indem Sie NetStream.time + n oder NetStream.time - n eingeben, um von der aktuellen Position aus n Sekunden vorwärts bzw. rückwärts zu suchen. Um beispielsweise 20 Sekunden von der aktuellen Position aus zurückzuspulen, verwenden Sie NetStream.seek(NetStream.time - 20).

Verwandte API-Elemente

send

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Sendet eine Nachricht an alle Clients mit Abonnement über den veröffentlichten Stream. Diese Methode ist nur für den Herausgeber des angegebenen Streams verfügbar. Diese Methode steht nur zur Verwendung mit Flash Media Server zur Verfügung. Erstellen Sie eine Prozedur für das NetStream-Objekt, zum Beispiel ns.HandlerName, um diese Meldung zu verarbeiten und darauf zu reagieren.

Methoden und ihre Daten, Objektprototypvariablen und nicht zählbare Variablen werden in Flash Player oder AIR nicht serialisiert. Zur Anzeige von Objekten serialisiert Flash Player oder AIR lediglich den Pfad.

Sie können die send()-Methode aufrufen, um einem für Flash Media Server veröffentlichten Live-Stream Datenschlüsselbilder hinzuzufügen. Ein Datenschlüsselbild ist eine Meldung, die ein Herausgeber einem Live-Stream hinzufügt. Datenschlüsselbilder werden normalerweise verwendet, um einem Live-Stream Metadaten hinzuzufügen, bevor die Daten von Kamera und Mikrofon für den Stream erfasst werden. Ein Herausgeber kann jederzeit ein Datenschlüsselbild hinzufügen, während der Live-Stream veröffentlicht wird. Das Datenschlüsselbild wird im Speicher des Servers gespeichert, solange der Herausgeber mit dem Server verbunden ist.

Clients, die den Live-Stream vor dem Hinzufügen eines Datenschlüsselbilds abonniert haben, erhalten das Schlüsselbild sobald es hinzugefügt wurde. Clients, die den Live-Stream nach dem Hinzufügen eines Datenschlüsselbilds abonnieren, erhalten das Schlüsselbild sobald sie den Stream abonnieren.

Um einem Live-Stream, der an Flash Media Server gesendet wird, ein Schlüsselbild mit Metadaten hinzuzufügen, verwenden Sie @setDataFrame als Prozedurnamen, gefolgt von zwei zusätzlichen Argumenten, zum Beispiel:

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

Das Argument @setDataFrame verweist auf eine spezielle Prozedur, die in Flash Media Server integriert ist. Das Argument onMetaData ist der Name einer Callback-Funktion in Ihrer Client-Anwendung, die auf das onMetaData-Ereignis wartet und die Metadaten abruft. Das dritte Element, metaData, ist eine Instanz von Object oder Array mit Eigenschaften, die die Metadatenwerte definieren.

Mit @clearDataFrame löschen Sie ein Schlüsselbild mit Metadaten, das bereits im Stream gesendet wurde:

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

Parameter

handlerName:String — Die zu sendende Nachricht, auch der Name der ActionScript-Prozedur für den Empfang der Nachricht. Der Prozedurname darf nur eine Ebene umfassen (d. h. die Form übergeordnet/untergeordnet ist nicht zulässig) und hängt vom Stream-Objekt ab. Verwenden Sie keine reservierten Begriffe als Prozedurnamen. Wenn Sie beispielsweise close als Prozedurnamen verwenden, schlägt die Methode fehl. Mit Flash Media Server verwenden Sie @setDataFrame, um einem Live-Stream ein Schlüsselbild mit Metadaten hinzuzufügen bzw. @clearDataFrame, um ein Schlüsselbild zu entfernen.
 
... arguments — Optionale Argumente beliebigen Typs. Diese werden serialisiert, über die Verbindung gesendet und von der Empfangsprozedur in derselben Reihenfolge empfangen. Wenn es sich bei dem Parameter um ein zyklisches Objekt handelt (z. B. eine verknüpfte zyklische Liste), werden die Verweise bei der Serialisierung korrekt verarbeitet. Wenn bei der Verwendung mit Flash Media Server @setDataFrame das erste Argument ist, verwenden Sie onMetaData als zweites Argument; für das dritte Argument übergeben Sie eine Instanz von Object oder Array, in der die Metadaten als Eigenschaften festgelegt wurden. Im Flash Media Server Developer Guide finden Sie eine Liste mit vorgeschlagenen Eigenschaftsnamen. Mit @clearDataFrame als erstem Argument, verwenden Sie onMetaData als zweites Argument und kein drittes Argument.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel werden zwei NetStream-Objekte erstellt. Eines veröffentlicht einen Live-Stream an den Server, während das andere den Stream abonniert.
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);
    }
 }

Im folgenden Beispiel werden Metadaten erstellt und einem Live-Stream hinzugefügt:
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() );        
    }
}

Um auf ein Datenschlüsselbild, das dem Video hinzugefügt wurde, zu reagieren, muss der Client eine onMetaData-Ereignisprozedur definieren. Die Ereignisprozedur onMetaData ist nicht bei addEventListener() registriert; es handelt sich vielmehr um eine Callback-Funktion mit dem Namen onMetaData, zum Beispiel:
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

Im folgenden Beispiel wird eine Wiedergabeliste auf dem Server erstellt:
 // 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);

Wenn die aufgezeichnete Videodatei nur Datenmeldungen enthält, können Sie die Videodatei entweder mit der Geschwindigkeit, in der sie aufgezeichnet wurde, abspielen, oder Sie rufen alle Datenmeldungen auf einmal ab.
 //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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Lite 4

Senden die DRM-Authentifizierungsdaten, die für die Anzeige des verschlüsselten Inhalts erforderlich sind.

Die setDRMAuthenticationCredentials()-Methode muss Benutzerdaten zur Verfügung stellen, die mit denjenigen übereinstimmen, die vom Content Provider oder dem Proxyserver erkannt und akzeptiert werden. Dies sind dieselben Benutzerdaten, die der Benutzer verwendet, um die Berechtigung zum Anzeigen des Inhalts zu bekommen.

Parameter

userName:String — Ein gültiger Benutzername.
 
password:String — Die Kennwortdaten, die dem angegebenen Benutzernamen zugeordnet sind.
 
type:String — Ein String, der angibt, welche Art von Authentifizierungsdaten angegeben werden. Gültige Werte sind "drm" und "proxy". Der Standardwert ist "drm".
  • Mit dem Authentifizierungstyp „drm“ werden die Benutzerinformationen für Flash Access authentifiziert.
  • Mit dem Authentifizierungstyp "proxy" werden die bereitgestellten Benutzerdaten für den Proxyserver authentifiziert und müssen mit den vom Proxyserver angeforderten übereinstimmen. Die "proxy"-Option ermöglicht der Anwendung zum Beispiel die Authentifizierung für einen Proxyserver, wenn ein Unternehmen diesen Schritt verlangt, bevor der Benutzer Zugriff auf das Internet hat. Sofern keine anonyme Authentifizierung verwendet wird, muss sich der Benutzer nach der Proxyauthentifizierung immer noch für Flash Access authentifizieren, um den Gutschein zu erhalten und den Inhalt abzuspielen. Sie können setDRMAuthenticationcredentials() ein zweites Mal mit der Option "drm" verwenden, um die Authentifizierung für Flash Access durchzuführen.

Verwandte API-Elemente

step

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2

Geht in Relation zum aktuell angezeigten Bild die angegebene Anzahl von Bildern vor oder zurück. Geben Sie eine positive Zahl an, um vorzugehen, oder eine negative Zahl, um zurückzugehen. Rufen Sie diese Methode auf, um exakte Schnellvorlauf- oder Rücklauffunktionalität zu erstellen.

Hinweis: Diese Methode wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Diese Methode ist nur verfügbar, wenn Daten von Flash Media Server 3.5.3 oder höher gestreamt werden und wenn NetStream.inBufferSeek den Wert true hat. Außerdem muss sich der Ziel-Frame im Puffer befinden. Wenn zum Beispiel das zurzeit angezeigte Bild das Bild mit der Nummer 120 ist und Sie einen Wert von 1000 angeben, schlägt die Methode fehl, wenn sich das Bild mit der Nummer 1120 nicht im Puffer befindet.

Diese Methode ist zur Verwendung mit den Methoden pause() oder togglePause() gedacht. Wenn Sie während der Wiedergabe ohne Pause 10 Bilder vor- oder zurückgehen, bemerken Sie die Schritte möglicherweise nicht oder sie sehen wie eine Störung aus. Wenn Sie pause() oder togglePause aufrufen, wird das Audio unterdrückt.

Wenn der Aufruf von NetStream.step() erfolgreich ist, wird ein NetStatusEvent gesendet, wobei "NetStream.Step.Notify" als Wert für die code-Eigenschaft des Info-Objekts angegeben wird.

Parameter

frames:int

Verwandte API-Elemente

togglePause

()Methode 
public function togglePause():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Hält die Wiedergabe eines Streams an oder setzt sie fort. Beim ersten Aufruf dieser Methode wird die Wiedergabe angehalten und beim zweiten Aufruf fortgesetzt. Mit dieser Methode können Sie Benutzern ermöglichen, die Wiedergabe über dieselbe Schaltfläche anzuhalten und fortzusetzen.

Verwandte API-Elemente

Ereignisdetails

asyncError

Ereignis
Ereignisobjekttyp: flash.events.AsyncErrorEvent
Eigenschaft AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn eine Ausnahme asynchron ausgelöst wird – das heißt, aus nativem asynchronem Code. Dieses Ereignis wird ausgelöst, wenn ein Server eine Methode auf einem Client aufruft, die nicht definiert ist.

Die Konstante AsyncErrorEvent.ASYNC_ERROR definiert den Wert der type-Eigenschaft eines asyncError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, das das Ereignis auslöst.
errorDer Fehler, der das Ereignis ausgelöst hat.

Verwandte API-Elemente

drmAuthenticate

Ereignis  
Ereignisobjekttyp: flash.events.DRMAuthenticateEvent
Eigenschaft DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Lite 4

Wird ausgelöst, wenn ein NetStream-Objekt versucht, mit DRM (Digital Rights Management) verschlüsselten Inhalt abzuspielen, für den Benutzerdaten zur Authentifizierung erforderlich sind.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Authentifizieren Sie den Benutzer mit der setDRMAuthenticationCredentials()-Methode des NetStream-Objekts. Wenn die Benutzerauthentifizierung fehlschlägt, startet die Anwendung einen neuen Versuch und setzt ein neues DRMAuthenticateEvent-Ereignis für das NetStream-Objekts ab.

Die DRMAuthenticateEvent.DRM_AUTHENTICATE-Konstante definiert den Wert der type-Eigenschaft eines DRMAuthenticateEvent-Objekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
authenticationTypeZeigt an, ob die angegebenen Benutzerdaten für die Authentifizierung für den Flash Media Rights Management Server (FMRMS) oder eine Proxyserver bestimmt sind.
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
headerDer verschlüsselte Inhaltsdateiheader, der vom Server bereitgestellt wird.
netstreamDas NetStream-Objekt, das dieses Ereignis eingeleitet hat.
passwordPromptEine vom Server bereitgestellte Eingabeaufforderung für das Kennwort.
targetDas NetStream-Objekt.
urlPromptEine vom Server bereitgestellte Eingabeaufforderung für eine anzuzeigende URL.
usernamePromptEine vom Server bereitgestellte Eingabeaufforderung für den Benutzernamen.

Verwandte API-Elemente

drmError

Ereignis  
Ereignisobjekttyp: flash.events.DRMErrorEvent
Eigenschaft DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 10.1, Flash Lite 4

Wird ausgelöst, wenn ein NetStream-Objekt versucht, eine mit DRM (Digital Rights Management) verschlüsselte Datei abzuspielen und dabei ein DRM-Fehler auftritt. Ein DRMErrorEvent-Objekt wird zum Beispiel ausgelöst, wenn die Benutzerautorisierung fehlschlägt. Dies kann daran liegen, dass der Benutzer die Berechtigung zum Anzeigen des Inhalts nicht erworben hat oder dass der Content Provider das Anzeigen der Anwendung nicht unterstützt.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Die Konstante DRMErrorEvent.DRM_ERROR definiert den Wert der type-Eigenschaft eines drmError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
errorIDEin dem Problem zugewiesener Fehlercode im Zahlenformat.
subErrorIDEin Fehlercode, der ausführlichere Informationen zum zugrundeliegenden Problem angibt.
targetDas NetStream-Objekt.

Verwandte API-Elemente

drmStatus

Ereignis  
Ereignisobjekttyp: flash.events.DRMStatusEvent
Eigenschaft DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 10.1, Flash Lite 4

Wird ausgelöst, wenn der DRM-verschlüsselte Inhalt (Digital Rights Management) abgespielt wird (wenn der Benutzer authentifiziert wurde und berechtigt ist, den Inhalt abzuspielen).

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Das DRMStatusEvent-Objekt enthält Informationen zum Gutschein, zum Beispiel ob der Inhalt offline verfügbar ist oder wann der Gutschein abläuft und Benutzer den Inhalt nicht mehr anzeigen können.

Die DRMStatusEvent.DRM_STATUS-Konstante definiert den Wert der type-Eigenschaft eines drmStatus-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
detailEin String, der den Kontext des Statusereignisses erläutert.
isAnonymousGibt an, ob der mit DRM-Verschlüsselung geschützte Inhalt verfügbar ist, ohne dass der Benutzer Authentifizierungsdaten eingeben muss.
isAvailableOfflineGibt an, ob der mit DRM-Verschlüsselung geschützte Inhalt offline verfügbar ist.
offlineLeasePeriodDie verbleibende Anzahl der Tage, an denen der Inhalt offline angezeigt werden kann.
RichtlinienEin benutzerdefiniertes Objekt des DRM-Statusereignisses.
targetDas NetStream-Objekt.
voucherEndDateDas absolute Datum, an dem der Gutschein abläuft und der Inhalt nicht mehr von Benutzern angezeigt werden kann.
contentDataDie DRMContentData für den Inhalt.
voucherDas DRMVoucher-Objekt für den Inhalt.
isLocalGibt an, ob der Inhalt im lokalen Dateisystem gespeichert ist.

Verwandte API-Elemente

ioError

Ereignis  
Ereignisobjekttyp: flash.events.IOErrorEvent
Eigenschaft IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird beim Auftreten eines I/O-Fehlers ausgelöst, durch den ein Netzwerkvorgang fehlschlägt.

Definiert den Wert der Eigenschaft type eines ioError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
errorIDDie Referenznummer des spezifischen Fehlers (nur AIR).
targetDas Netzwerkobjekt, bei dem der Eingabe/Ausgabe-Fehler auftritt.
textDer als Fehlermeldung anzuzeigende Text.

mediaTypeData

Ereignis  
Ereignisobjekttyp: flash.events.NetDataEvent
Eigenschaft NetDataEvent.type = flash.events.NetDataEvent

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.3, AIR 2.7

Wird abgesetzt, wenn Video abgespielt wird und bestimmte Meldungstypen verarbeitet werden.

Ein NetDataEvent wird für die folgenden Nachrichten abgesetzt:

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (für den Code NetStream.Play.Complete)
  • onTextData
  • onXMPData

Hinweis: Dieses Ereignis wird nicht von Inhalten abgesetzt, die in Flash Player im Browser unter Android oder Blackberry Tablet OS oder in AIR unter iOS ausgeführt werden.

netStatus

Ereignis  
Ereignisobjekttyp: flash.events.NetStatusEvent
Eigenschaft NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn der Status oder die Fehlerbedingung eines NetStream-Objekts protokolliert wird. Das Ereignis netStatus enthält die Eigenschaft info. Dabei handelt es sich um ein Informationsobjekt mit spezifischen Informationen über das Ereignis, z. B., ob ein Verbindungsversuch erfolgreich war oder fehlgeschlagen ist.

Definiert den Wert der Eigenschaft type eines netStatus-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
infoEin Objekt mit Eigenschaften, die den Status oder die Fehlerbedingung des Objekts beschreiben.
targetDas NetConnection- oder NetStream-Objekt, dessen Status protokolliert wird.

Verwandte API-Elemente

onCuePoint

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn während des Abspielens einer Videodatei ein eingebetteter Cue-Point erreicht wird. Sie können den Listener verwenden, um Aktionen in Ihrem Code auszulösen, wenn das Video einen bestimmten Cue-Punkt erreicht, an dem Sie andere Aktionen in Ihrer Anwendung mit Videoabspielereignissen synchronisieren können. Weitere Informationen zu Videoformaten, die vom Flash Media Server unterstützt werden, finden Sie unter www.adobe.com/go/learn_fms_fileformats_de.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

onCuePoint ist eigentlich eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie auf ein Datenereignis reagiert, wenn entweder mit dem Media Flash Player gestreamt oder eine FLV-Datei wiedergegeben wird. Weitere Informationen finden Sie in der Beschreibung der NetStream-Klasse. Sie können die addEventListener()-Methode bzw. andere EventDispatcher-Methoden nicht verwenden, um onCuePoint zu überwachen oder als ein Ereignis zu verarbeiten. Definieren Sie eine Rückruffunktion und fügen Sie sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Erstellen Sie eine Unterklasse von NetStream und definieren Sie Ihre Ereignisprozedur in der Unterklasse. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Der verknüpfte Ereignis-Listener wird nach dem Aufruf der NetStream.play()-Methode, aber noch vor dem Vorlauf des Abspielkopfes ausgelöst.

Sie können die folgenden Arten von Cue-Points in eine Videodatei einbetten:

  • Ein Navigations-Cue-Point gibt ein Schlüsselbild innerhalb der Videodatei an, wobei die time-Eigenschaft des Cue-Points exakt dem Schlüsselbild entspricht. Navigations-Cue-Points werden oft als Lesezeichen oder Eingangspunkte verwendet, anhand derer die Benutzer durch die Videodatei navigieren können.
  • Ein Ereignis-Cue-Point gibt eine Zeit an. Die Zeit kann einem bestimmten Schlüsselbild entsprechen, dies muss jedoch nicht so sein. Ein Ereignis-Cue-Point steht in der Regel für einen Zeitpunkt eines Ereignisses im Video, das zur Auslösung anderer Anwendungsereignisse verwendet werden kann.

Das onCuePoint-Ereignisobjekt hat folgende Eigenschaften:

EigenschaftBeschreibung
nameDer dem Cue-Point bei der Einbettung in die Videodatei zugewiesene Name.
parametersEin assoziatives Array mit Name/Wert-Paar-Strings, die für diesen Cue-Punkt spezifiziert sind. Für Name und Wert des Parameters können beliebige Strings verwendet werden.
timeDie Angabe des Zeitpunkts in Sekunden, zu dem der Cue-Point während der Wiedergabe im Video auftritt.
typeDer Typ des erreichten Cue-Points (Navigation oder Ereignis).

Sie können Cue-Points beim ersten Kodieren der Videodatei oder beim Importieren eines Videoclips in das Flash-Authoring-Tool mit dem Videoimportassistenten einfügen.

Das Ereignis onMetaData ruft auch Informationen über die Cue-Points in einer Videodatei ab. Das Ereignis onMetaData ruft jedoch Informationen über alle Cue-Points ab, bevor die Wiedergabe des Videos gestartet wird. Das Ereignis onCuePoint ruft dagegen Informationen über einen einzelnen Cue-Point zu dem für diesen Cue-Point festgelegten Zeitpunkt während der Wiedergabe ab.

Wenn Sie bei einem bestimmten Cue-Point zu dem Zeitpunkt, zu dem er in der Wiedergabe auftritt, eine Aktion im Code auslösen möchten, verwenden Sie das Ereignis onCuePoint.

Mit der für das Ereignis onMetaData bereitgestellten Liste von Cue-Points können Sie den Benutzern ermöglichen, die Wiedergabe an vordefinierten Punkten im Videostream zu starten. Übergeben Sie den Wert der time-Eigenschaft des Cue-Point an die Methode NetStream.seek(), um die Wiedergabe des Videos ab diesem Cue-Point zu starten.


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird gezeigt, wie Sie externe FLV-Dateien laden und auf Metadaten und Cue-Points reagieren können. Beispiel bereitgestellt von 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);
}

Verwandte API-Elemente

onDRMContentData

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.5, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn AIR DRM-Inhalts-Metadaten extrahiert, die in einer Mediendatei eingebettet sind.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Ein DRMContentData-Objekt enthält die notwendigen Informationen, um einen Gutschein zu erhalten, der zur Wiedergabe einer DRM-geschützten Mediendatei erforderlich ist. Verwenden Sie die DRMManager-Klasse, um den Gutschein mit diesen Informationen herunterzuladen.

onDRMContentData ist eine Eigenschaft des NetStream.client-Objekts. Diese Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie beim Vorabladen eingebetteter Daten aus einer lokalen Mediendatei auf ein Datenereignis reagiert. Weitere Informationen finden Sie in der Beschreibung der NetStream-Klasse. Sie können die addEventListener()-Methode bzw. andere EventDispatcher-Methoden nicht verwenden, um onDRMContentData zu überwachen oder als ein Ereignis zu verarbeiten. Stattdessen müssen Sie eine einzelne Callback-Funktion definieren und direkt an eines der folgenden Objekte anhängen:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Sie können jedoch eine Unterklasse für „NetStream“ erstellen und die Ereignisprozedur in der Unterklasse definieren oder die Unterklasse als dynamisch festlegen und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Verwandte API-Elemente

onImageData

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn Flash Player Bilddaten als Bytearray erhält, das in einer Mediendatei eingebettet ist, die aktuell abgespielt wird. Die Bilddaten können entweder JPEG-, PNG- oder GIF-Inhalt erzeugen. Verwenden Sie die flash.display.Loader.loadBytes()-Methode, um das Bytearray in ein Anzeigeobjekt zu laden.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

onImageData ist eigentlich eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie auf ein Datenereignis reagiert, wenn entweder mit dem Media Flash Player gestreamt oder eine FLV-Datei wiedergegeben wird. Weitere Informationen finden Sie in der Beschreibung der NetStream-Klasse. Sie können die addEventListener()-Methode bzw. andere EventDispatcher-Methoden nicht verwenden, um onImageData zu überwachen oder als ein Ereignis zu verarbeiten. Definieren Sie eine einzelne Rückruffunktion und fügen Sie sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Erstellen Sie eine Unterklasse von NetStream und definieren Sie Ihre Ereignisprozedur in der Unterklasse. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Der verknüpfte Ereignis-Listener wird nach dem Aufruf der NetStream.play()-Methode, aber noch vor dem Vorlauf des Abspielkopfes ausgelöst.

Das onImageData-Ereignisobjekt enthält die Bilddaten als ein Bytearray, das über einen AMF0-Datenkanal gesendet wird.


Beispiel  ( Verwendung dieses Beispiels )

Der Code in diesem Beispiel verwendet die Netstream.client-Eigenschaft, um die Callback-Funktionen für onTextData und onImageData zu verarbeiten. Die onImageDataHandler()-Funktion verwendet das onImageData-Ereignisobjekt imageData, um das Bytearray zu speichern. Zusätzlich verwendet die onTextDataHandler()-Funktion das onTextData-Ereignisobjekt textData, um Teile von Textdaten zu speichern (jeder Datenteil ist eine Eigenschaft des textData-Objekts).

Sie müssen den "yourURL"-Speicherort im Code durch einen realen Speicherort für eine Mediendatei mit Text- oder Bildmetadaten ersetzen.

Sie können auch Bild- und Textdaten mithilfe einer benutzerdefinierten Klasse verarbeiten. Weitere Informationen und Beispiele finden Sie im Artikel Verarbeiten von Metadaten und Cue-Points in Flash Video.

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

        }

}

Verwandte API-Elemente

onMetaData

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn Flash Player beschreibende Informationen erhält, die in ein Video eingebettet sind, das aktuell abgespielt wird. Weitere Informationen zu Videoformaten, die vom Flash Media Server unterstützt werden, finden Sie unter www.adobe.com/go/learn_fms_fileformats_de.

onMetaData ist eigentlich eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie auf ein Datenereignis reagiert, wenn entweder mit dem Media Flash Player gestreamt oder eine FLV-Datei wiedergegeben wird. Weitere Informationen finden Sie in der NetStream-Klassenbeschreibung und der NetStream.client-Eigenschaft. Die addEventListener()-Methode und die übrigen EventDispatcher-Methoden können nicht verwendet werden, um auf onMetaData zu warten oder diese Eigenschaft als Ereignis zu verarbeiten. Definieren Sie eine einzelne Rückruffunktion und fügen Sie sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Sie können eine Unterklasse von NetStream erstellen und Ihre Ereignisprozedur in der Unterklasse definieren. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Das Dienstprogramm Flash Video Exporter (ab Version 1.1) bettet die Dauer, das Erstellungsdatum, die Datenrate und andere Angaben in die Videodatei selbst ein. Von anderen Videokodierern werden andere Metadaten eingebettet.

Der verknüpfte Ereignis-Listener wird nach dem Aufruf der NetStream.play()-Methode, aber noch vor dem Vorlauf des Abspielkopfes ausgelöst.

Häufig ist die in den Stream-Metadaten eingebettete Längenangabe nur ein ungefährer Wert. Das bedeutet, dass dieser Wert nicht immer mit dem Wert der Eigenschaft NetStream.time übereinstimmt, wenn der Abspielkopf das Ende des Videostreams erreicht hat.

Das Ereignisobjekt, das an die onMetaData-Ereignisprozedur übergeben wurde, enthält eine Eigenschaft für jeden Textdatenteil.


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird gezeigt, wie Sie externe FLV-Dateien laden und auf Metadaten und Cue-Points reagieren können. Beispiel bereitgestellt von 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);
}

Verwandte API-Elemente

onPlayStatus

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn ein NetStream-Objekt einen Stream vollständig abgespielt hat. Das verknüpfte Ereignisobjekt liefert zusätzliche Informationen zu dem, was vom netStatus-Ereignis zurückgegeben wird. Sie können diese Eigenschaft verwenden, um Aktionen in Ihrem Code auszulösen, wenn ein NetStream-Objekt von einem Stream zu einem anderen Stream in einer Wiedergabeliste gewechselt hat (wie durch das Informationsobjekt NetStream.Play.Switch angegeben) oder wenn ein NetStream-Objekt bis zum Ende abgespielt wurde (wie durch das Informationsobjekt NetStream.Play.Complete angegeben).

onPlayStatus ist eigentlich eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie auf ein Datenereignis reagiert, wenn entweder mit dem Media Flash Player gestreamt oder eine FLV-Datei wiedergegeben wird. Weitere Informationen finden Sie in der Beschreibung der NetStream-Klasse. Sie können die addEventListener()-Methode bzw. andere EventDispatcher-Methoden nicht verwenden, um onPlayStatus zu überwachen oder als ein Ereignis zu verarbeiten. Definieren Sie eine Rückruffunktion und fügen Sie sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Erstellen Sie eine Unterklasse von NetStream und definieren Sie Ihre Ereignisprozedur in der Unterklasse. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Dieses Ereignis kann ein Informationsobjekt mit den folgenden Eigenschaften zurückgeben:

Code-EigenschaftLevel-EigenschaftBedeutung
NetStream.Play.Switch"status"Der Abonnent wechselt von einem Stream zu einem anderen Stream in der Wiedergabeliste.
NetStream.Play.Complete"status"Die Wiedergabe ist abgeschlossen.
NetStream.Play.TransitionComplete"status"Der Abonnent wechselt als Ergebnis des Stream-Bitratenwechsels zu einem neuen Stream.

Verwandte API-Elemente

onSeekPoint

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 2, Flash Lite 4

Wird synchron von appendBytes() aufgerufen, wenn der Append-Bytes-Parser auf einen Punkt trifft, den er als ansteuerbaren Punkt betrachtet (zum Beispiel ein Videoschlüsselbild). Verwenden Sie dieses Ereignis, um eine Suchpunkttabelle zu konstruieren. Der byteCount entspricht dem byteCount beim ersten Byte der analysierbaren Meldung für diesen Suchpunkt und wird auf Null zurückgesetzt wie oben beschrieben. Für Suchläufe suchen Sie beim NetStream.Seek.Notify-Ereignis die Bytes, die an einem ansteuerbaren Punkt starten, und rufen appendBytes(bytes) auf. Wenn das bytes-Argument ein ByteArray ist, das aus Bytes besteht, die beim ansteuerbaren Punkt beginnen, wird das Video ab diesem Suchpunkt abgespielt.

Hinweis: Aufrufen von appendBytes() aus diesem Rückruf heraus werden ignoriert.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Die onSeekPoint-Eigenschaft ist eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, da sie auf Daten reagiert, die in die appendBytes()-Methode kommen. Weitere Informationen finden Sie in der NetStream-Klassenbeschreibung und der NetStream.client-Eigenschaft. Die addEventListener()-Methode und die übrigen EventDispatcher-Methoden können nicht verwendet werden, um auf onSeekPoint zu warten oder diese Eigenschaft als Ereignis zu verarbeiten. Um onSeekPoint zu verwenden, definieren Sie eine Rückruffunktion und fügen sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Sie können jedoch eine Unterklasse von NetStream erstellen und Ihre Ereignisprozedur in der Unterklasse definieren. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Verwandte API-Elemente

onTextData

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn Flash Player Textdaten empfängt, die in einer aktuell abgespielten Mediendatei eingebettet sind. Die Textdaten sind im Format UTF-8 und können Informationen über Formatierungen basierend auf der 3GP-Timed-Textspezifikation enthalten.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

onTextData ist eigentlich eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie auf ein Datenereignis reagiert, wenn entweder mit dem Media Flash Player gestreamt oder eine FLV-Datei wiedergegeben wird. Weitere Informationen finden Sie in der Beschreibung der NetStream-Klasse. Sie können die addEventListener()-Methode bzw. andere EventDispatcher-Methoden nicht verwenden, um onTextData zu überwachen oder als ein Ereignis zu verarbeiten. Definieren Sie eine Rückruffunktion und fügen Sie sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Erstellen Sie eine Unterklasse von NetStream und definieren Sie Ihre Ereignisprozedur in der Unterklasse. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Der verknüpfte Ereignis-Listener wird nach dem Aufruf der NetStream.play()-Methode, aber noch vor dem Vorlauf des Abspielkopfes ausgelöst.

Das onTextData-Ereignisobjekt enthält eine Eigenschaft für jeden Textdatenteil.


Beispiel  ( Verwendung dieses Beispiels )

Der Code in diesem Beispiel verwendet die Netstream.client-Eigenschaft, um die Callback-Funktionen für onTextData und onImageData zu verarbeiten. Die onImageDataHandler()-Funktion verwendet das onImageData-Ereignisobjekt imageData, um das Bytearray zu speichern. Zusätzlich verwendet die onTextDataHandler()-Funktion das onTextData-Ereignisobjekt textData, um Teile von Textdaten zu speichern (jeder Datenteil ist eine Eigenschaft des textData-Objekts).

Sie müssen den "yourURL"-Speicherort im Code durch einen realen Speicherort für eine Mediendatei mit Text- oder Bildmetadaten ersetzen.

Sie können auch Bild- und Textdaten mithilfe einer benutzerdefinierten Klasse verarbeiten. Weitere Informationen und Beispiele finden Sie im Artikel Verarbeiten von Metadaten und Cue-Points in Flash Video.

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

        }

}

Verwandte API-Elemente

onXMPData

Ereignis  

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Erstellt einen Listener, der reagiert, wenn Flash Player Informationen empfängt, die spezifisch für die Adobe Extensible Metadata Platform (XMP) sind und die in einem Video eingebettet sind, das aktuell abgespielt wird. Weitere Informationen zu Videoformaten, die vom Flash Media Server unterstützt werden, finden Sie unter www.adobe.com/go/learn_fms_fileformats_de.

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

onXMPData ist eigentlich eine Eigenschaft des NetStream.client-Objekts. Die Eigenschaft wird im Abschnitt „Ereignisse“ aufgeführt, weil sie auf ein Datenereignis reagiert, wenn entweder mit dem Media Flash Player gestreamt oder eine FLV-Datei wiedergegeben wird. Weitere Informationen finden Sie in der NetStream-Klassenbeschreibung und der NetStream.client-Eigenschaft. Die addEventListener()-Methode und die übrigen EventDispatcher-Methoden können nicht verwendet werden, um auf onMetaData zu warten oder diese Eigenschaft als Ereignis zu verarbeiten. Definieren Sie eine Rückruffunktion und fügen Sie sie einem der folgenden Objekte hinzu:

  • Das Objekt, auf das die client-Eigenschaft einer NetStream-Instanz verweist.
  • Eine Instanz einer NetStream-Unterklasse. Bei „NetStream“ handelt es sich um eine „versiegelte“ Klasse, d. h., dass einem NetStream-Objekt zur Laufzeit keine Eigenschaften oder Methoden hinzugefügt werden können. Sie können jedoch eine Unterklasse von NetStream erstellen und Ihre Ereignisprozedur in der Unterklasse definieren. Sie können die Unterklasse als dynamische Klasse definieren und die Ereignisprozedurfunktion einer Instanz der Unterklasse hinzufügen.

Der verknüpfte Ereignis-Listener wird nach dem Aufruf der NetStream.play()-Methode, aber noch vor dem Vorlauf des Abspielkopfes ausgelöst.

Das Objekt, das an die onXMPData()-Ereignisprozedurfunktion übergeben wurde, hat eine data-Eigenschaft, die ein String ist. Der String wird von einer Top-Level UUID-Box generiert. (Die 128-Bit-UUID der Top-Level-Box ist BE7ACFCB-97A9-42E8-9C71-999491E3AFAC.) Diese Top-Level UUID-Box enthält exakt ein XML-Dokument, das als nullterminierter UTF8-String repräsentiert ist.

Verwandte API-Elemente

status

Ereignis  
Ereignisobjekttyp: flash.events.StatusEvent
Eigenschaft StatusEvent.type = flash.events.StatusEvent.STATUS

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10.1, AIR 1.0, Flash Lite 4

Wird ausgelöst, wenn die Anwendung versucht, mit DRM (Digital Rights Management) verschlüsselten Inhalt abzuspielen, indem die NetStream.play()-Methode aufgerufen wird. Der Wert der Statuscode-Eigenschaft ist "DRM.encryptedFLV".

Hinweis: Dieses Ereignis wird für H.264-Video unter AIR 3.0 for iOS nicht unterstützt.

Definiert den Wert der Eigenschaft type eines status-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
codeEine Beschreibung des Objektstatus.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
EbeneDie Kategorie der Meldung, z. B. "status", "warning" oder "error".
targetDas Objekt, dessen Status gemeldet wird.

Verwandte API-Elemente

Konstantendetails

CONNECT_TO_FMS

Konstante
public static const CONNECT_TO_FMS:String = "connectToFMS"

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Ein statisches Objekt, das als Parameter für den Konstruktor einer NetStream-Instanz verwendet wird. Der Standardwert des zweiten Parameters im NetStream-Konstruktor: er wird nicht von der Anwendung für die progressive Medienwiedergabe verwendet. Wenn dieser Parameter verwendet wird, stellt der Konstruktor eine Verbindung zur Flash Media Server-Instanz her.

DIRECT_CONNECTIONS

Konstante 
public static const DIRECT_CONNECTIONS:String = "directConnections"

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4

Stellt eine Peer-to-Peer-Herausgeberverbindung her. Übergeben Sie diesen String für den zweiten (optionalen) Parameter an den Konstruktor für eine NetStream-Instanz. Mit diesem String kann eine Anwendung eine NetStream-Verbindung zum Veröffentlichen von Audio und Video für Clients erstellen.

NetConnectionExample.as

Im folgenden Beispiel wird ein Video-Objekt mit den Klassen NetConnection und NetStream verwendet, um eine FLV-Datei zu laden und abzuspielen.

In diesem Fall wird der Code zur Erstellung des Video- und NetStream-Objekts und zum Aufrufen der Methoden Video.attachNetStream() und NetStream.play() in eine Prozedurfunktion eingefügt. Die Prozedur wird nur aufgerufen, wenn die Verbindung mit dem NetConnection-Objekt erfolgreich hergestellt werden kann, d. h. wenn das Ereignis netStatus ein info-Objekt mit einer code-Eigenschaft zurückgibt, die Erfolg angibt. Es wird empfohlen, die erfolgreiche Verbindungsherstellung abzuwarten, bevor Sie NetStream.play() aufrufen.

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

Sie können Metadaten mithilfe einer Funktion abrufen, statt eine benutzerdefinierte Klasse zu erstellen. Die folgende, von Bill Sanders vorgeschlagene Lösung zeigt, wie der obige NetConnectionExample-Code so bearbeitet werden kann, dass Metadaten in einer Funktion aufgerufen werden. In diesem Fall werden mithilfe des Objekts mdata die Breite und Höhe einer Videoinstanz video eingerichtet:
  //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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.