Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: AIR 30.0 och tidigare, Flash Player 30.0 och tidigare, Flash Lite 4
Flex 4.6 och tidigare, Flash Pro CS6 och tidigare
Dölj filter
flash.net 

NetStream  - AS3

Paketx

Översta nivån
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

Språkelement

Globala konstanter
Globala funktioner
Operatorer
Programsatser, nyckelord och direktiv
Specialtyper

Bilagor

Nyheter
Kompilatorfel
Kompileringsvarningar
Körningsfel
Flytta till ActionScript 3
Teckenuppsättningar som stöds
Endast MXML-taggar
Motion XML-element
Timed Text-taggar
Lista över borttagna element
Konstanter för hjälpmedelsimplementering
Använda ActionScript-exempel
Juridiska meddelanden
Paketflash.net
Klasspublic class NetStream
ArvNetStream Inheritance EventDispatcher Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Klassen NetStream öppnar en enkelriktad direktuppspelningskanal via en NetConnection.

Använd klassen NetStream för att utföra följande:

  • Anropa NetStream.play() för att spela en mediafil från en lokal disk, en webbserver eller från Flash Media Server.
  • Anropa NetStream.publish() för att publicera direktuppspelande videoklipp, ljud och data till Flash Media Server.
  • Anropa NetStream.send() för att skicka datameddelanden till alla mottagande klienter.
  • Anropa NetStream.send() för att lägga till metadata till ett direktflöde.
  • Anropa NetStream.appendBytes() för att skicka ByteArray-data till NetStream.

Obs! Du kan inte spela och publicera en direktuppspelning över samma NetStream-objekt.

Adobe AIR och Flash Player 9.0.115.0 och senare versioner stöder filer som härleds från det vanliga MPEG-4-behållarformatet. Dessa filer omfattar F4V, MP4, M4A, MOV, MP4V, 3GP och 3G2 om de innehåller H.264-video, HEAAC v2-kodat ljud eller bådadera. H.264 ger högre videokvalitet vid lägre bithastigheter jämfört med samma kodningsprofil i Sorenson eller On2. AAC är ett standardljudformat som definieras i MPEG-4-videostandarden. HE-AAC v2 är ett tillägg till AAC, som använder SBR-teknik (Spectral Band Replication) och PS-teknik (Parametric Stereo) för att öka kodningseffektiviteten vid låga bithastigheter.

Information om vilka kodekar och filformat som stöds finns på:

Ta emot data från en Flash Media Server-ström, progressiv F4V-fil eller progressiv FLV-fil

Flash Media Server, F4V-filer och FLV-filer kan skicka händelseobjekt som innehåller data vid särskilda datapunkter under direktuppspelning eller vanlig uppspelning. Du kan hantera data från ett dataflöde eller en FLV-fil under en uppspelning på två sätt:

  • Du kan associera en klientegenskap med en händelsehanterare om du vill ta emot dataobjektet. Du kan använda egenskapen NetStream.client om du vill tilldela ett objekt i syfte att anropa specifika datahanteringsfunktioner. Det objekt som tilldelats egenskapen NetStream.client kan avlyssna följande datapunkter: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() och onXMPData(). Skriv procedurer i dessa funktioner för att hantera dataobjekt som returneras från strömmen under uppspelning. Se NetStream.client-egenskapen om du vill ha mer information.
  • Du kan associera en klientegenskap med en underklass till klassen NetStream och sedan skriva en händelsehanterare för att ta emot dataobjektet. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Du kan däremot skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanteraren i en instans av underklassen.

Vänta tills en NetGroup.Neighbor.Connect-händelse tas emot innan du använder objektreplikering, riktad routning eller publicerings-API:er.

Obs! Om du vill skicka data genom en ljudfil, som en MP3-fil, använder du klassen Sound för att associera ljudfilen med ett Sound-objekt. Använd sedan Sound.id3-egenskapen för att läsa metadata från ljudfilen.

Stöd för H.264-kodad video i AIR for iOS

För H.264-video finns i AIR 3.0 for iOS (och senare) stöd för en delmängd av hela NetStream API. I följande tabell listas NetStream-medlemmar för uppspelning som inte stöds i AIR for iOS:

Egenskaper som inte stödsMetoder som inte stödsHändelser som inte stöds
bufferTimeappendBytes()onCuePoint (endast med FLV-filer)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayDRM.encryptedFLV – statushändelsekod
maxPauseBufferTime
soundTransform
Alla egenskaper som beskriver RTMFP-anslutningar

Mer information om AIR for iOS hittar du i NetStream.play()-metoden.

Visa exemplen

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
  audioReliable : Boolean
För RTMFP-anslutningar; anger om ljud skickas med fullständig tillförlitlighet.
NetStream
  audioSampleAccess : Boolean
För RTMFP-anslutningar; anger om peer-to-peer-prenumeranter i denna NetStream får lov att hämta ljudströmmen.
NetStream
  backBufferLength : Number
[skrivskyddad] Antal sekunder med tidigare visade data som för tillfället har cachats för tillbakaspolning och uppspelning.
NetStream
  backBufferTime : Number
Anger hur mycket av tidigare visade data (i sekunder) som cachas i Flash Player för tillbakaspolning och uppspelning.
NetStream
  bufferLength : Number
[skrivskyddad] Antalet sekunder data i bufferten.
NetStream
  bufferTime : Number
Anger hur länge meddelanden ska buffras innan dataströmmen börjar visas.
NetStream
  bufferTimeMax : Number
Anger den maximala buffertlängden (i sekunder) för direktuppspelat innehåll.
NetStream
  bytesLoaded : uint
[skrivskyddad] Antalet databyte som har lästs in i programmet.
NetStream
  bytesTotal : uint
[skrivskyddad] Det totala antal byte i filen som läses in i programmet.
NetStream
  checkPolicyFile : Boolean
Anger huruvida programmet ska försöka ladda ned en korsdomänprincipfil från den inlästa videofilens server innan videofilen börjar läsas in.
NetStream
  client : Object
Anger det objekt som återkopplingsmetoderna anropas i för att hantera direktuppspelningen eller F4V-/FLV-fildata.
NetStream
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
  currentFPS : Number
[skrivskyddad] Antalet bildrutor som visas per sekund.
NetStream
  dataReliable : Boolean
För RTMFP-anslutningar; anger om NetStream.send()-anrop skickas med fullständig tillförlitlighet.
NetStream
  farID : String
[skrivskyddad] För RTMFP-anslutningar; identifieraren för den andra sidan som är ansluten till denna NetStream-instans.
NetStream
  farNonce : String
[skrivskyddad] För RTMFP- och RTMPE-anslutningar; ett värde som i allt väsentligt väljs av strömmens andra ände och som är unikt för den här anslutningen.
NetStream
  inBufferSeek : Boolean
Anger om visade data cachelagras för smart sökning (TRUE) eller inte (FALSE).
NetStream
  info : NetStreamInfo
[skrivskyddad] Returnerar ett NetStreamInfo-objekt vars egenskaper innehåller statistik om servicekvaliteten.
NetStream
  liveDelay : Number
[skrivskyddad] Antalet sekunder data i det mottagande flödets buffert i direktläge (utan buffring).
NetStream
  maxPauseBufferTime : Number
Anger hur länge meddelanden ska buffras i pausläget, i sekunder.
NetStream
  multicastAvailabilitySendToAll : Boolean
För RTMFP-anslutningar; anger om peer-to-peer-tillgänglighetsmeddelanden för multicast-fragment skickas till alla peer-datorer eller bara en.
NetStream
  multicastAvailabilityUpdatePeriod : Number
För RTMFP-anslutningar; anger intervall (i sekunder) mellan meddelanden som skickas till peer-datorer och talar om för dem att den lokala noden har nya tillgängliga peer-to-peer multicast-mediefragment.
NetStream
  multicastFetchPeriod : Number
För RTMFP-anslutningar; anger tiden (i sekunder) mellan den tidpunkt då den lokala noden får veta att ett peer-to-peer multicast-mediefragment är tillgängligt och den tidpunkt den försöker hämta det från en peer-dator.
NetStream
  multicastInfo : NetStreamMulticastInfo
[skrivskyddad] För RTMFP-anslutningar; returnerar ett NetStreamMulticastInfo-objekt vars egenskaper innehåller QoS-statistik (Quality of Service).
NetStream
  multicastPushNeighborLimit : Number
För RTMFP-anslutningar; anger maximalt antal peer-datorer till vilka multicast-media ska skickas aktivt.
NetStream
  multicastRelayMarginDuration : Number
För RTMFP-anslutningar; anger hur länge (i sekunder) som peer-to-peer multicast-data är tillgängliga att skickas till peer-datorer som efterfrågar dem efter en angiven längd.
NetStream
  multicastWindowDuration : Number
För RTMFP-anslutningar; anger hur länge (i sekunder) fönstret för peer-to-peer multicast-sammansättning visas.
NetStream
  nearNonce : String
[skrivskyddad] För RTMFP- och RTMPE-anslutningar; ett värde som i allt väsentligt väljs av den här änden av strömmens och som är unikt för den här anslutningen.
NetStream
  objectEncoding : uint
[skrivskyddad] Objektkodningen (AMF-version) för det här NetStream-objektet.
NetStream
  peerStreams : Array
[skrivskyddad] Ett objekt som håller alla de prenumererande NetStream-instanser som avlyssnar denna publicerande NetStream-instans.
NetStream
  soundTransform : flash.media:SoundTransform
Styr ljudet i det här NetStream-objektet.
NetStream
  time : Number
[skrivskyddad] Spelhuvudets läge i sekunder.
NetStream
  useHardwareDecoder : Boolean
Anger om maskinvaruaccelererad avkodning av flödet ska användas.
NetStream
  useJitterBuffer : Boolean
Minimera latens för obuffrad direktuppspelning live (bufferTime = 0).
NetStream
  videoReliable : Boolean
För RTMFP-anslutningar; anger om video skickas med fullständig tillförlitlighet.
NetStream
  videoSampleAccess : Boolean
För RTMFP-anslutningar; anger om peer-to-peer-prenumeranter i denna NetStream får lov att hämta videoströmmen.
NetStream
  videoStreamSettings : VideoStreamSettings
Ange komprimeringsegenskaper för direktuppspelning.
NetStream
Publika metoder
 MetodDefinieras med
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Skapar en direktuppspelning som du kan använda för att spela mediafiler och skicka data över ett NetConnection-objekt.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser.
EventDispatcher
  
Skickar en ByteArray till en NetStream för uppspelning.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Visar ett avbrott i tidsskalan, tömmer FIFO och anger för byte-tolken att ett filhuvud eller början på en FLV-tagg kan förväntas.
NetStream
  
Kopplar en ström till ett nytt NetConnection-objekt.
NetStream
  
Kopplar en ljudström till ett NetStream-objekt från ett Microphone-objekt som skickas som källa.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Börjar spela in video från en kamera eller slutar spela in om theCamera är inställd på null.
NetStream
  
Avbryter all uppspelning i dataflödet, ställer in tidsegenskapen på 0 och gör dataflödet tillgänglig för annan användning.
NetStream
 Inherited
Skickar en händelse till händelseflödet.
EventDispatcher
  
Frisläpper alla resurser som hålls av NetStream-objektet.
NetStream
 Inherited
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse.
EventDispatcher
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
  
Anropas när en peer-publishing-ström matchar en peer-subscribing-ström.
NetStream
  
Pausar uppspelning av ett videoflöde.
NetStream
  
play(... arguments):void
Spelar upp en mediafil från en lokal katalog eller webbserver samt spelar en mediafil eller en direktuppspelning från Flash Media Server.
NetStream
  
Växlar mellan filer med flera bithastigheter och tillåter att ett NetStream-objekt återupptas när en anslutning avbryts och återskapas.
NetStream
  
Extraherar alla DRM-metadata från en lokalt lagrad mediafil.
NetStream
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
  
publish(name:String = null, type:String = null):void
Skickar direktuppspelat ljud, direktuppspelad video och datameddelanden från en klient till Flash Media Server. Eventuellt registreras strömmen under överföringen.
NetStream
  
Anger om inkommande ljud spelas upp i strömmen.
NetStream
  
Anger om den inkommande videofilmen spelas upp i strömmen.
NetStream
  
Anger bildrutefrekvensen för inkommande video.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Tar bort en avlyssnare från EventDispatcher-objektet.
EventDispatcher
  
[statisk] I AIR-program tar detta bort alla lokalt cachelagrade DRM-voucherdata (Digital Rights Management).
NetStream
  
Återtar uppspelning av ett pausat videoflöde.
NetStream
  
seek(offset:Number):void
Söker efter nyckelbildrutan (kallas även en I-frame i videobranschen) som är närmast den angivna platsen.
NetStream
  
send(handlerName:String, ... arguments):void
Skickar ett meddelande i ett publicerat flöde till alla mottagande klienter.
NetStream
  
Anger de DRM-autentiseringsuppgifter som krävs för att visa det underliggande krypterade innehållet.
NetStream
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
  
step(frames:int):void
Stegar framåt eller bakåt med angivet antal bildrutor i förhållande till den bildruta som visas.
NetStream
  
Pausar eller fortsätter direktuppspelning.
NetStream
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
 Inherited
Returnerar det angivna objektets strängbeteckning.
Object
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
 Inherited
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen.
EventDispatcher
Händelser
 Händelse Sammanfattning Definieras med
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt.EventDispatcher
  Skickas om ett undantag inträffar asynkront, d.v.s. från ursprunglig asynkron kod.NetStream
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt.EventDispatcher
  Skickas när ett DRM-relaterat (Digital Rights Management) fel inträffar för ett NetStream-objekt som försöker spela upp DRM-krypterat innehåll som kräver användarautentisering före uppspelning.NetStream
  Skickas när ett DRM-relaterat (Digital Rights Management) fel inträffar för ett NetStream-objekt som försöker spela upp en DRM-krypterad fil.NetStream
  Skickas när det DRM-kodade (Digital Rights Management) innehållet börjar spelas upp (när användaren har autentiserats och är behörig att spela upp innehållet).NetStream
  Skickas om ett in- eller utdatafel orsakar en misslyckad nätverksåtgärd.NetStream
  Skickas när videoinnehåll spelas och när viss typ av meddelanden bearbetas.NetStream
  Skickas om objektet NetStream ger ett status- eller felmeddelande.NetStream
  Skapar en avlyssnare som svarar när en inbäddad referenspunkt nås vid uppspelning av en videofil.NetStream
  Upprättar en avlyssnare som ska svara när AIR hämtar DRM-innehåll i form av metadata som är inbäddade i en mediafil.NetStream
  Skapar en avlyssnare som svarar när Flash Player tar emot bildinformation som en bytearray, inbäddad i mediafilen som spelas upp.NetStream
  Skapar en avlyssnare som svarar när den beskrivande informationen som är inbäddad i videofilen som spelas upp tas emot av Flash Player.NetStream
  Skapar en avlyssnare som svarar när ett NetStream-objekt har spelat klart ett dataflöde.NetStream
  Anropas synkront från appendBytes() när tolken för att lägga till byte når en punkt som identifieras som sökbar (t.ex. en videonyckelbildruta).NetStream
  Skapar en avlyssnare som svarar när Flash Player tar emot textinformation som är inbäddad i en mediafil som spelas upp.NetStream
  Skapar en avlyssnare som svarar när Flash Player tar emot information som är specifik för Adobe Extensible Metadata Platform (XMP) och som är inbäddad i videofilen som spelas upp.NetStream
  Skickas när programmet gör ett försök att spela upp innehåll som har krypterats med DRM (Digital Rights Management), genom att anropa metoden NetStream.play().NetStream
Publika konstanter
 KonstantDefinieras med
  CONNECT_TO_FMS : String = "connectToFMS"
[statisk] Ett statiskt objekt används som parameter till konstruktorn för en NetStream-instans.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[statisk] Skapar en anslutning för peer-to-peer-publicering.
NetStream
Egenskapsdetaljer

audioReliable

egenskap
audioReliable:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger om ljud skickas med fullständig tillförlitlighet. När värdet är TRUE är allt ljud som skickas via denna NetStream helt tillförlitligt. När värdet är FALSE är det ljud som skickas inte helt tillförlitligt, utan skickas i stället om under en begränsad tid och tas sedan bort. Du kan använda värdet FALSE om du vill minska fördröjningen på bekostnad av ljudkvaliteten.

Om du försöker ange den här egenskapen som FALSE i ett nätverksprotokoll som saknar stöd för partiell tillförlitlighet, ignoreras försöket och egenskapen anges som TRUE.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

audioSampleAccess

egenskap 
audioSampleAccess:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger om peer-to-peer-prenumeranter i denna NetStream får lov att hämta ljudströmmen. När värdet är FALSE resulterar försök att hämta ljudströmmen i behörighetsfel.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

backBufferLength

egenskap 
backBufferLength:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Antal sekunder med tidigare visade data som för tillfället har cachats för tillbakaspolning och uppspelning.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.

Den här egenskapen är bara tillgänglig när data direktuppspelas från Flash Media Server 3.5.3 eller senare. Du hittar mer information om Flash Media Server i klassbeskrivningen.

Om du vill ange hur mycket av tidigare visade data som ska cachas använder du egenskapen Netstream.backBufferTime.

Om du vill förhindra att data cachas anger du egenskapen Netstream.inBufferSeek som FALSE.



Implementering
    public function get backBufferLength():Number

Relaterade API-element

backBufferTime

egenskap 
backBufferTime:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Anger hur mycket av tidigare visade data (i sekunder) som cachas i Flash Player för tillbakaspolning och uppspelning. Standardvärdet är 30 sekunder för skrivbordsprogram och 3 sekunder för mobila program.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.

Den här egenskapen är bara tillgänglig när data direktuppspelas från Flash Media Server version 3.5.3 eller senare. Du hittar mer information om Flash Media Server i klassbeskrivningen.

Om du använder den här egenskapen förbättras prestanda för tillbakaspolning, eftersom de data som redan har visats inte behöver hämtas från servern igen. I stället börjar strömmen spelas upp från bufferten. Under uppspelningen fortsätter data att strömma från servern tills bufferten är full.

Om tillbakaspolningspositionen är längre bak än de data som finns i cacheminnet töms bufferten. Data börjar sedan att direktuppspelas från servern vid den begärda positionen.

Om du vill använda den här egenskapen anger du egenskapen Netstream.inBufferSeek som TRUE.



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

Relaterade API-element

bufferLength

egenskap 
bufferLength:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Antalet sekunder data i bufferten. Du kan använda den här egenskapen med egenskapen bufferTime för att avgöra hur nära det är att bufferten är full, till exempel för att visa information för en användare som väntar på att data ska läsas in i bufferten.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get bufferLength():Number

Relaterade API-element

bufferTime

egenskap 
bufferTime:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger hur länge meddelanden ska buffras innan dataströmmen börjar visas.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.

Standardvärdet är 0,1 (en tiondels sekund). Avgör hur många sekunder som finns i bufferten med egenskapen bufferLength.

Om du vill spela upp en spellista på serversidan anger du bufferTime som minst 1 sekund. Om du får problem med uppspelningen ökar du längden på bufferTime.

Inspelat innehåll För att undvika förvrängning vid uppspelning av redan inspelat innehåll (inte liveinnehåll) anger du inte värdet 0 för Netstream.bufferTime. Som standard används en indatabuffert för redan inspelat innehåll där alla mediedata placeras i kö för att sedan spelas upp. För redan inspelat innehåll använder du standardinställningen eller ökar bufferttiden.

Liveinnehåll Vid direktuppspelning av liveinnehåll anger du egenskapen bufferTime som 0.

Från och med Flash Player 9.0.115.0 rensar Flash Player inte längre bufferten när NetStream.pause() anropas. Före Flash Player 9.0.115.0 väntade Flash Player tills bufferten var full innan uppspelningen fortsatte, vilket ofta orsakade en fördröjning.

För en enskild paus har egenskapen NetStream.bufferLength en begränsning på antingen 60 sekunder eller två gånger värdet för NetStream.bufferTime, beroende på vilket av värdena som är högst. Om bufferTime exempelvis är 20 sekunder buffrar Flash Player tills NetStream.bufferLength är det högsta värdet av antingen 20 x 2 (40) eller 60. I det här fallet buffrar det alltså tills bufferLength är 60. Om bufferTime är 40 sekunder buffrar Flash Player tills bufferLength är det högsta värdet av antingen 40 x 2 (80) eller 60. I det här fallet buffrar det alltså tills bufferLength är 80.

Egenskapen bufferLength har också en absolut begränsning. Om ett anrop till pause() får bufferLength att öka till mer än 600 sekunder eller värdet för bufferTime x 2, beroende på vilket som är högst, tömmer Flash Player bufferten och återställer bufferLength till 0. Om bufferTime exempelvis är 120 sekunder, tömmer Flash Player bufferten om bufferLength blir 600 sekunder. Om bufferTime är 360 sekunder, tömmer Flash Player bufferten om bufferLength blir 720 sekunder.

Tips: Du kan använda NetStream.pause() i koden om du vill buffra data samtidigt som tittarna ser på reklam, till exempel, och sedan avbryta pausen när huvudvideoklippet startas.

Mer information om den nya pausfunktionen finns i http://www.adobe.com/go/learn_fms_smartpause_se.

Flash Media Server. Hur bufferten fungerar beror på om bufferttiden är inställd på ett publiceringsflöde eller ett prenumerationsflöde. För ett publiceringsflöde anger bufferTime hur länge den utgående bufferten kan växa innan programmet börjar tappa bildrutor. Med en snabb anslutning är bufferttiden inget problem. Data skickas nästan lika snabbt som programmet kan buffra dem. Med en långsam anslutning kan det däremot vara stor skillnad på hur snabbt programmet kan buffra data och hur snabbt data kan skickas till klienten.

För en prenumerantström anger bufferTime hur länge inkommande data ska buffras innan strömmen ska börja visas.

Om en inspelad ström spelas upp, och bufferTime är 0, ställs det automatiskt in på ett litet värde (ungefär 10 millisekunder). Om direktflöden spelas upp senare (till exempel från en spellista) består den bufferttiden. Det innebär att bufferTime fortfarande inte är noll för flödet.



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

Relaterade API-element

bufferTimeMax

egenskap 
bufferTimeMax:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Anger den maximala buffertlängden (i sekunder) för direktuppspelat innehåll. Standardvärdet är 0. Buffertlängden kan öka med tiden på grund av nätverks- och enhetsaktiviteter (t.ex. tidsavdrift mellan avsändare och mottagare). Ange den här egenskapen för att begränsa buffertlängden för liveprogram som möten och övervakning.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.

När bufferTimeMax > 0 och bufferLength >= bufferTimeMax spelas ljud upp snabbare tills bufferLength når bufferTime. Om en direktuppspelning bara innehåller video spelas videon upp snabbare tills bufferLength når bufferTime.

Beroende på uppspelningens eftersläpning (skillnaden mellan bufferLength och bufferTime) anger Flash Player hastigheten för att ”hinna ifatt” till mellan 1,5 % och 6,25 %. Om strömmen innehåller ljud kan snabbare uppspelning skapas med nedsampling i frekvensdomänen, vilket minimerar den hörbara förvrängningen.

Ange egenskapen bufferTimeMax för att aktivera ”hinna ifatt” för buffrade liveströmmar i följande fall:

  • Direktuppspelande livemedia från Flash Media Server.
  • Direktuppspelande livemedia i datagenereringsläge (NetStream.appendBytes()).



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

Relaterade API-element

bytesLoaded

egenskap 
bytesLoaded:uint  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Antalet databyte som har lästs in i programmet. Du kan använda den här egenskapen med egenskapen bytesTotal för att avgöra hur nära det är att bufferten är full, till exempel för att visa information för en användare som väntar på att data ska läsas in i bufferten.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get bytesLoaded():uint

Relaterade API-element

bytesTotal

egenskap 
bytesTotal:uint  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Det totala antal byte i filen som läses in i programmet.



Implementering
    public function get bytesTotal():uint

Relaterade API-element

checkPolicyFile

egenskap 
checkPolicyFile:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9

Anger huruvida programmet ska försöka ladda ned en korsdomänprincipfil från den inlästa videofilens server innan videofilen börjar läsas in. Använd den här egenskapen för progressiv videohämtning och för att läsa in filer som finns utanför den anropande SWF-filens egen domän. Den här egenskapen ignoreras när du använder RTMP.

Ange den här egenskapen som true för att anropa BitmapData.draw() på en videofil som lästs in från en domän utanför den anropande SWF-filens domän. Metoden BitmapData.draw() ger tillgång till videon på pixelnivå. Om du anropar BitmapData.draw() utan att ange egenskapen checkPolicyFile som true vid inläsningen kan ett SecurityError-fel uppstå, eftersom den nödvändiga principfilen inte hämtades.

Ange inte den här egenskapen som true om du inte vill ha tillgång till videon på pixelnivå. Vid sökning efter en principfil krävs bandbredd och det kan fördröja starten på hämtningen.

När du anropar metoden NetStream.play() med checkPolicyFile inställt på true måste Flash Player eller AIR-miljön antingen slutföra hämtningen av en relevant korsdomänprincipfil eller konstatera att filen inte finns, innan hämtningen påbörjas. För att kontrollera om principfilen finns utförs följande åtgärder i Flash Player eller AIR-körningen, i den här ordningen:

  1. Programmet jämför de principfiler som redan har laddats ned.
  2. Programmet försöker ladda ned eventuella väntande principfiler som finns angivna i anrop till metoden Security.loadPolicyFile().
  3. Programmet försöker ladda ned en principfil från standardplatsen som motsvarar den URL-adress du skickade till NetStream.play(), som är /crossdomain.xml på samma server som URL:en.

I samtliga fall kräver Flash Player eller Adobe AIR att den korrekta principfilen finns på servern med videoklippet, att den ger åtkomst till objektet på den URL du skickade till play() baserat på principfilens plats samt att den ger den anropande filens domän åtkomst till videoklippet via en eller flera <allow-access-from>-taggar.

Om du anger checkPolicyFile till true väntar programmet tills principfilen har verifierats innan videoklippet laddas ned. Vänta med att utföra några åtgärder på pixelnivå i dina videodata, t.ex. anropa BitmapData.draw(), innan du tagit emot händelserna onMetaData eller NetStatus från NetStream-objektet.

Om du anger checkPolicyFile till true utan att någon relevant principfil hittas visas inget felmeddelande förrän du utför en åtgärd som kräver en principfil; då genereras ett SecurityError-undantag.

Var försiktig med checkPolicyFile om du laddar ned en fil från en URL där HTTP-omdirigeringar på serversidan kanske används. Programmet försöker hämta principfiler som motsvarar den ursprungliga webbadress som du anger i NetStream.play(). Om den slutliga filen kommer från en annan webbadress på grund av HTTP-omdirigeringar kanske de ursprungligen nedladdade principfilerna inte gäller för filens slutliga webbadress, det vill säga den webbadress som gäller ur säkerhetssynpunkt.

Du hittar mer information om principfiler i avsnittet ”Webbplatsinställningar (principfiler)” i Utvecklarhandbok för Adobe ActionScript 3.0 och i avsnittet Security på Flash Player Developer Center.



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

Relaterade API-element

client

egenskap 
client:Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger det objekt som återkopplingsmetoderna anropas i för att hantera direktuppspelningen eller F4V-/FLV-fildata. Standardobjektet är this, det NetStream-objekt som skapas. Om du anger egenskapen client som ett annat objekt anropas återanropsmetoder för det andra objektet. NetStream.client -objektet kan anropa följande funktioner och ta emot ett associerat dataobjekt: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() och onXMPData().

Så här associerar du client-egenskapen med en händelsehanterare:

  1. Skapa ett objekt och tilldela det till client-egenskapen för NetStream-objektet:
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Tilldela en hanterarfunktion för önskad datahändelse som en egenskap för klientobjektet:
         customClient.onImageData = onImageDataHandler;
         
  3. Skriv en hanterarfunktion för att ta emot datahändelseobjektet:
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

När data överförs via dataflödet eller under en uppspelning fylls datahändelseobjektet (i det här fallet imageData-objektet) på med data. Se beskrivningen av onImageData som innehåller exempel på ett objekt som har tilldelats client-egenskapen.

Så här associerar du client-egenskapen med en underklass:

  1. Skapa en underklass med en hanterarfunktion för att ta emot datahändelseobjektet:
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Tilldela en instans av underklassen till client-egenskapen för NetStream-objektet:
         my_netstream.client = new CustomClient();
         

När data överförs via dataflödet eller under en uppspelning fylls datahändelseobjektet (i det här fallet info-objektet) på med data. Se klassexemplet i slutet av klassen NetStream som visar tilldelningen av en underklassinstans till enclient-egenskap.



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

Utlöser
TypeError — Egenskapen client måste vara angiven som ett icke-nullobjekt.

Relaterade API-element

currentFPS

egenskap 
currentFPS:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Antalet bildrutor som visas per sekund. Om du exporterar videofiler som ska spelas upp på flera olika system kan du kontrollera det här värdet under testningen för att avgöra hur mycket komprimering som behövs när filen exporteras.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get currentFPS():Number

dataReliable

egenskap 
dataReliable:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger om NetStream.send()-anrop skickas med fullständig tillförlitlighet. När värdet är TRUE är NetStream.send()-anrop som skickas via denna NetStream helt tillförlitliga. När värdet är FALSE skickas NetStream.send()-anrop inte med fullständig tillförlitlighet, utan skickas i stället om under en begränsad tid och tas sedan bort. Du kan använda värdet FALSE om du vill minska fördröjningen på bekostnad av datakvaliteten.

Om du försöker ange den här egenskapen som FALSE i ett nätverksprotokoll som saknar stöd för partiell tillförlitlighet, ignoreras försöket och egenskapen anges som TRUE.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

farID

egenskap 
farID:String  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

För RTMFP-anslutningar; identifieraren för den andra sidan som är ansluten till denna NetStream-instans.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get farID():String

farNonce

egenskap 
farNonce:String  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

För RTMFP- och RTMPE-anslutningar; ett värde som i allt väsentligt väljs av strömmens andra ände och som är unikt för den här anslutningen. Det här värdet visas för den andra sidan av strömmen som dess nearNonce-värde.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get farNonce():String

inBufferSeek

egenskap 
inBufferSeek:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Anger om visade data cachelagras för smart sökning (TRUE) eller inte (FALSE). Standardvärdet är FALSE.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.

Flash Media Server 3.5.3 och Flash Player 10.1 samverkar för att ge stöd för smart sökning. Smart sökning använder bakåt- och framåtbuffertar för att söka utan att begära data från servern. Standardsökning tömmer buffrade data och begär nya data från servern baserat på söktiden.

Anropa NetStream.step() om du vill stega framåt och bakåt med ett visst antal bildrutor. Anropa NetStream.seek() om du vill söka framåt och bakåt med ett visst antal sekunder.

Smart sökning minskar belastningen på servern och förbättrar sökningsprestanda. Ange inBufferSeek=true och anropa step() och seek() för att skapa:

  • DVR-funktioner på klientsidan. Sök i bufferten på klientsidan i stället för att hämta ny video på servern.
  • Tricklägen. Skapa spelare som stegar genom bildrutor, snabbspolar framåt och bakåt och går framåt långsamt.

När inBufferSeek=true och ett anrop till NetStream.seek() lyckas innehåller NetStatusEvent-egenskapen info.description strängen "client-inBufferSeek".

När ett anrop till NetStream.step() lyckas innehåller egenskapen info.code för NetStatusEvent strängen "NetStream.Step.Notify".



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

Relaterade API-element

info

egenskap 
info:NetStreamInfo  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Returnerar ett NetStreamInfo-objekt vars egenskaper innehåller statistik om servicekvaliteten. Objektet är en ögonblicksbild av den aktuella statusen.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get info():NetStreamInfo

Relaterade API-element

liveDelay

egenskap 
liveDelay:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Antalet sekunder data i det mottagande flödets buffert i direktläge (utan buffring). Med den här egenskapen anges aktuell fördröjning i nätverksöverföringen.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.

Den här egenskapen är främst avsedd för användning med en server, t.ex. Flash Media Server. Mer information finns i klassbeskrivningen.

Du kan hämta värdet för egenskapen och göra en grov bedömning av överföringskvaliteten för dataflödet och informera användaren.



Implementering
    public function get liveDelay():Number

maxPauseBufferTime

egenskap 
maxPauseBufferTime:Number

Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Anger hur länge meddelanden ska buffras i pausläget, i sekunder. Den här egenskapen kan användas för att begränsa hur mycket buffring som görs i pausläget. När värdet på NetStream.bufferLength når den här gränsen stoppas buffringen.

Om värdet inte är inställt är det som standard satt till det högsta värdet av antingen 60 sekunder eller dubbla värdet på NetStream.bufferTime vid varje paus.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

multicastAvailabilitySendToAll

egenskap 
multicastAvailabilitySendToAll:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger om peer-to-peer-tillgänglighetsmeddelanden för multicast-fragment skickas till alla peer-datorer eller bara en. Värdet TRUE anger att meddelandet skickas till alla peer-datorer en gång per angivet intervall. Värdet FALSE anger att meddelandet bara skickas till en peer-dator per angivet intervall. Intervallet anges av egenskapen multicastAvailabilityUpdatePeriod.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

multicastAvailabilityUpdatePeriod

egenskap 
multicastAvailabilityUpdatePeriod:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger intervall (i sekunder) mellan meddelanden som skickas till peer-datorer och talar om för dem att den lokala noden har nya tillgängliga peer-to-peer multicast-mediefragment. Större värden kan öka effektiviteten och minska publiceringskontrollinformationen (pålägg), men kan även sänka kvaliteten i mottagaränden genom att den tid under vilken fragment kan hämtas förkortas. Lägre värden kan minska fördröjningen och förbättra kvaliteten, men ökar i stället publiceringskontrollinformationen (pålägg).

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

multicastFetchPeriod

egenskap 
multicastFetchPeriod:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger tiden (i sekunder) mellan den tidpunkt då den lokala noden får veta att ett peer-to-peer multicast-mediefragment är tillgängligt och den tidpunkt den försöker hämta det från en peer-dator. Det här värdet gör det möjligt för fragmentet att aktivt skickas till den lokala noden innan ett hämtningsförsök av en peer-dator sker. Det medger även att fler än en peer-dator annonserar fragmentets tillgänglighet, så att hämtningslasten kan fördelas på flera peer-datorer.

Större värden kan förbättra belastningsutjämningen och ”rättvisan” i P2P-nätet, men minska tillgänglig multicastWindowDuration och öka fördröjningen. Mindre värden kan minska fördröjningen vid hämtning, men kan i stället öka risken för mottagning av dubblerade data och minska belastningsutjämningen i P2P-nätet.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

multicastInfo

egenskap 
multicastInfo:NetStreamMulticastInfo  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; returnerar ett NetStreamMulticastInfo-objekt vars egenskaper innehåller QoS-statistik (Quality of Service). Objektet är en ögonblicksbild av den aktuella statusen.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get multicastInfo():NetStreamMulticastInfo

Relaterade API-element

multicastPushNeighborLimit

egenskap 
multicastPushNeighborLimit:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger maximalt antal peer-datorer till vilka multicast-media ska skickas aktivt.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

multicastRelayMarginDuration

egenskap 
multicastRelayMarginDuration:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger hur länge (i sekunder) som peer-to-peer multicast-data är tillgängliga att skickas till peer-datorer som efterfrågar dem efter en angiven längd. Längden anges av egenskapen multicastWindowDuration.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

multicastWindowDuration

egenskap 
multicastWindowDuration:Number

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger hur länge (i sekunder) fönstret för peer-to-peer multicast-sammansättning visas. Kortare värden minskar fördröjningen, men kan försämra kvaliteten eftersom det inte finns tillräckligt med tid att hämta alla fragment. Omvänt kan stora värden öka kvaliteten eftersom det finns tid att hämta alla fragment, men en ökad fördröjning kan då uppstå.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

nearNonce

egenskap 
nearNonce:String  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

För RTMFP- och RTMPE-anslutningar; ett värde som i allt väsentligt väljs av den här änden av strömmens och som är unikt för den här anslutningen. Det här värdet visas för den andra sidan av strömmen som dess farNonce-värde.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



Implementering
    public function get nearNonce():String

objectEncoding

egenskap 
objectEncoding:uint  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Objektkodningen (AMF-version) för det här NetStream-objektet. NetStream-objektet ärver värdet objectEncoding från associerat NetConnection-objekt. Du behöver veta hur egenskapen används om SWF-filen i ActionSCript 3.0 ska kommunicera med servrar med tidigare versioner än Flash Player 9. Mer information finns i egenskapsbeskrivningen för objectEncoding i NetConnection-klassen.

Värdet för denna egenskap beror på om dataflödet är lokalt eller externt. I lokala strömmar där null skickas till metoden NetConnection.connect() returneras värdet NetConnection.defaultObjectEncoding. I externa dataflöden, via anslutning till en server, returneras objektkoden för anslutningen till servern.

Om du försöker läsa den här egenskapen utan upprättad anslutning, eller om du försöker ändra egenskapen, genereras ett undantag i programmet.



Implementering
    public function get objectEncoding():uint

Relaterade API-element

peerStreams

egenskap 
peerStreams:Array  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5

Ett objekt som håller alla de prenumererande NetStream-instanser som avlyssnar denna publicerande NetStream-instans.



Implementering
    public function get peerStreams():Array

soundTransform

egenskap 
soundTransform:flash.media:SoundTransform

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9

Styr ljudet i det här NetStream-objektet. Mer information finns i klassen SoundTransform.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

time

egenskap 
time:Number  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Spelhuvudets läge i sekunder.

Flash Media Server Det antal sekunder av flödet som har spelats upp för ett prenumerationsflöde. Det antal sekunder av flödet som har publicerats för ett publiceringsflöde. Talets noggrannhet är fyra decimaler. Multiplicera värdet med 1000 om du vill ha antalet millisekunder som flödet har spelats upp.

Om servern slutar skicka data för ett prenumerationsflöde men flödet fortfarande är öppet slutar värdet för time att öka. När servern börjar skicka data igen fortsätter värdet att öka från den punkt det stoppades (när servern slutade att skicka data).

Värdet för time fortsätter öka när strömmen växlar från ett spellisteelement till ett annat. Egenskapen ställs in på 0 när NetStream.play() anropas med reset inställt på 1 eller true, eller när NetStream.close() anropas.



Implementering
    public function get time():Number

Relaterade API-element

useHardwareDecoder

egenskap 
useHardwareDecoder:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3

Anger om maskinvaruaccelererad avkodning av flödet ska användas.

Obs! Du kan inte ställa in den här egenskapen under videouppspelning. Du måste ställa in den innan du anropar NetStream.play().

Standardvärdet är true.



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

Relaterade API-element

useJitterBuffer

egenskap 
useJitterBuffer:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.3, AIR 3.3

Minimera latens för obuffrad direktuppspelning live (bufferTime = 0). I stället för en konservativ push-baserad catchup-funktion placeras ljudmeddelanden i en adaptiv jitterbuffert. När ljud begärs av en högtalarenhet hämtas meddelanden från jitterbufferten, varefter de avkodas och spelas upp. Speex och G.711 använder alltid den här pull-baserade metoden, oavsett den här inställningen (useJitterBuffer returnerar true för Speex/G.711). Om det aktiveras i obuffrat läge använder alla kodekar jitterbuffert, t.ex. Speex, G.711, Nellymoser, MP3 och AAC. Den här egenskapen har ingen effekt i buffrat läge (bufferTime > 0), och useJitterBuffer returnerar därför false.



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

videoReliable

egenskap 
videoReliable:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger om video skickas med fullständig tillförlitlighet. När värdet är TRUE är all video som skickas via denna NetStream helt tillförlitlig. När värdet är FALSE är den video som skickas inte helt tillförlitlig, utan skickas i stället om under en begränsad tid och tas sedan bort. Du kan använda värdet FALSE om du vill minska fördröjningen på bekostnad av videokvaliteten.

Om du försöker ange den här egenskapen som FALSE i ett nätverksprotokoll som saknar stöd för partiell tillförlitlighet, ignoreras försöket och egenskapen anges som TRUE.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

videoSampleAccess

egenskap 
videoSampleAccess:Boolean

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

För RTMFP-anslutningar; anger om peer-to-peer-prenumeranter i denna NetStream får lov att hämta videoströmmen. När värdet är FALSE resulterar försök att hämta videoströmmen i behörighetsfel.

Obs! Denna egenskap stöds inte för H.264-video i AIR 3.0 for iOS.



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

Relaterade API-element

videoStreamSettings

egenskap 
videoStreamSettings:VideoStreamSettings

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11/ConnectAddin, AIR 3

Ange komprimeringsegenskaper för direktuppspelning. Mer information finns i VideoStreamSettings. Null returneras när inga kameror är kopplade till systemet.



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

Relaterade API-element

Konstruktordetaljer

NetStream

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skapar en direktuppspelning som du kan använda för att spela mediafiler och skicka data över ett NetConnection-objekt.

Det betraktas som ogiltigt för hantering av ett NetStream-objekts netStatus-händelse. För att undvika fel ska du registrera en avlyssnare för netStatus sedan du skapat NetStream-objektet och innan du anropar dess play()--metod.

Parametrar
connection:NetConnection — Ett NetConnection-objekt.
 
peerID:String (default = "connectToFMS") — Den här valfria parametern finns i Flash Player 10 och senare versioner för användning med RTMFP-anslutningar. (Om värdet på egenskapen NetConnection.protocol inte är "rtmfp" ignoreras den här parametern.) Använd något av följande värden:
  • Om du vill ansluta till Flash Media Server anger du NetStream.CONNECT_TO_FMS.
  • Om du vill publicera direkt till peer-datorer anger du NetStream.DIRECT_CONNECTIONS.
  • Om du vill spela upp direkt från en specifik peer-dator anger du dess identitet (se NetConnection.nearID och NetStream.farID).
  • (Flash Player 10.1, AIR 2 och senare versioner) Om du vill publicera eller spela upp i en P2P-multicastgrupp anger du en groupspec-sträng (se klassen GroupSpecifier).

I de flesta fall kan groupspec använda nätverksanslutningen på det lokala systemet. I det här fallet tillfrågas användaren om tillåtelse att använda datorns nätverksresurser. Om användaren tillåter detta, skickas en NetStatusEvent för NetStream.Connect.Success till NetConnection-händelseavlyssnaren. Om användaren nekar tillåtelse skickas en NetStream.Connect.Rejected-händelse. Om en groupspec anges är det fel att använda en metod för NetStream-objektet innan en NetStream.Connect.Success-händelse tas emot. Om du gör detta genereras ett undantagsfel.

Om du inkluderar den här parametern i konstruktorsatsen, men skickar värdet null, ställs värdet in på "connectToFMS".


Utlöser
ArgumentError — NetConnection-instansen är inte ansluten.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

Följande kod visar en anslutning för progressiv hämtning och visning av en video som tilldelats variabeln videoURL:
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);

Följande kod visar en anslutning för direktuppspelning och visning av en video (som tilldelats variabeln videoURL) på en fjärrinstans av Flash Media Server som anges i connect()-kommandot:
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);
Metoddetaljer

appendBytes

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Skickar en ByteArray till en NetStream för uppspelning. Anropa den här metoden på en NetStream i datagenereringsläge. Om du vill försätta en NetStream i datagenereringsläge anropar du NetStream.play(null) på en NetStream som skapats på en NetConnection som är ansluten till null. Om du anropar appendBytes() på en NetStream som inte är i datagenereringsläge skapas ett undantagsfel.

Obs! Denna metod stöds inte för H.264-video i AIR 3.0 for iOS.

Byte-tolken kan hantera en FLV-fil med ett huvud. När filhuvudet har tolkats förutsätter appendBytes() att alla framtida anrop är fortsättningar på samma verkliga eller virtuella fil. Inga fler filhuvuden förväntas om inte appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) anropas.

Ett NetStream-objekt har två buffertar, FIFO från appendBytes() till NetStream och uppspelningsbufferten. FIFO är sammansättningsbufferten för ej kompletta FLV-taggar och den innehåller inget mer än en ofullständig FLV-tagg. Anrop till NetStream.seek() tömmer båda bufferterna. Efter ett anrop till seek(), anropar du appendBytesAction() för att återställa tidsskalan till början av tidsstämpeln för nästa tillagda meddelande.

Varje anrop till appendBytes() lägger till byte i FIFO tills en FLV-tagg har slutförts. När en FLV-tagg har slutförts flyttas den till uppspelningsbufferten. Ett anrop till appendBytes() kan skriva över flera FLV-taggar. De första byten slutför en befintlig FLV-tagg (som flyttas till uppspelningsbufferten). Slutförda FLV-taggar flyttas till uppspelningsbufferten. Återstående byte som inte utgör en komplett FLV-tagg läggs i FIFO. Byte i FIFO är antingen slutförda genom ett anrop till appendBytes() eller tömda genom ett anrop till appendBytesAction() med argumentet RESET_SEEK eller RESET_BEGIN.

Obs! Byte-tolken kanske inte fullständigt kan avkoda ett anrop till appendBytes() förrän ett efterföljande anrop till appendBytes() görs.

Parametrar

bytes:ByteArray

Relaterade API-element

appendBytesAction

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Visar ett avbrott i tidsskalan, tömmer FIFO och anger för byte-tolken att ett filhuvud eller början på en FLV-tagg kan förväntas.

Obs! Denna metod stöds inte för H.264-video i AIR 3.0 for iOS.

Anropar NetStream.seek() för att tömma NetStream-bufferten. Byte-tolken behåller tömningsläget tills du anropar appendBytesAction() och skickar argumentet RESET_BEGIN eller RESET_SEEK. Hämtar händelsen "NetStream.Seek.Notify" för att anropa appendBytesAction() efter en sökning. Ett nytt filhuvud kan ha stöd för spellistor eller sökning utan anrop till NetStream.seek().

Du kan även anropa den här metoden för att återställa byte-räknaren för onSeekPoint())-återkoppling.

Parametrar

netStreamAppendBytesAction:String

Relaterade API-element

attach

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Kopplar en ström till ett nytt NetConnection-objekt. Anropa den här metoden för att koppla en NetStream till ett nytt NetConnection-objekt när en anslutning har kopplats ned och återanslutits. Flash Player och AIR återupptar direktuppspelningen från den uppspelningspunkt där anslutningen bröts. Du kan också använda den här metoden för att implementera belastningsutjämning.

Den här metoden kräver Flash Media Server version 3.5.3 eller senare.

Om du vill använda den här metoden för att implementera återanslutning av strömmar läser du dokumentationen till Flash Media Server 3.5.3.

Om du vill använda den här metoden för belastningsutjämning gör du så här:

  1. Koppla en ansluten ström till ett NetConnection-objekt på en annan server.
  2. När strömmen har kopplats till den nya anslutningen anropar du NetConnection.close() på den tidigare anslutningen för att förhindra dataläckage.
  3. Anropa NetStream.play2() och ange värdet på NetStreamPlayOptions.transition som RESUME. Ange resten av egenskaperna för NetStreamPlayOptions till samma värden som du använde när du ursprungligen anropade NetStream.play() eller NetStream.play2() för att starta strömmen.

Parametrar

connection:NetConnection

Relaterade API-element

attachAudio

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9

Kopplar en ljudström till ett NetStream-objekt från ett Microphone-objekt som skickas som källa. Den här metoden är bara tillgänglig för utgivaren av den angivna strömmen.

Använd den här metoden med Flash Media Server för att skicka liveljud till servern. Anropa den här metoden före eller efter anropet till metoden publish().

Ställ in egenskapen Microphone.rate så att den överensstämmer med frekvensen för ljudinspelningsenheten. Anropa setSilenceLevel() för att ställa in tröskelvärdet för tystnadsnivån. Om du vill kontrollera ljudegenskaperna (volym och panorering) för ljuduppspelningen ska du använda egenskapen Microphone.soundTransform.

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

Om du vill höra ljudet anropar du metoden NetStream.play() och DisplayObjectContainer.addChild() för att dirigera ljudet till ett objekt på visningslistan.

Parametrar

microphone:Microphone — Källan till den ljudström som ska överföras.

Relaterade API-element

attachCamera

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9

Börjar spela in video från en kamera eller slutar spela in om theCamera är inställd på null. Den här metoden är bara tillgänglig för utgivaren av den angivna strömmen.

Den här metoden är avsedd för användning med Flash Media Server. Mer information finns i klassbeskrivningen.

När du har bifogat videokällan måste du anropa NetStream.publish() för att starta överföringen. Prenumeranter som vill visa videoklippet måste anropa metoderna NetStream.play() och Video.attachCamera() för att visa videoklippet på scenen.

Du kan använda snapshotMilliseconds för att skicka en enda ögonblicksbild (genom att ange värdet 0) eller en serie med ögonblicksbilder – fotografering i tidsintervaller – genom att ange ett positivt tal så att en bipost med angivet antal millisekunder läggs till videomatningen. Biposten utökar videomeddelandets visningstid. Med hjälp av upprepade anrop till attachCamera() med ett positivt värde för snapshotMilliseconds skapas fotografering i tidsintervaller av sekvensen med växelvisa ögonblicksbilder och biposter. Du kan till exempel hämta en bildruta per dag och lägga till den till en videofil. När en prenumerant spelar upp filen visas varje bildruta på skärmen i angivet antal millisekunder.

Syftet med parametern snapshotMilliseconds skiljer sig från parametern fps som du kan ange med Camera.setMode(). När du anger snapshotMilliseconds kan du bestämma ett tidsintervall mellan inspelade bildrutor. När du definierar fps med hjälp av Camera.setMode() anger du hur mycket tid som ska förflyta under inspelning och uppspelning.

Anta till exempel att du vill ta en ögonblicksbild var femte minut med totalt 100 ögonblicksbilder. Detta kan göras på två sätt:

  • Du kan använda kommandot NetStream.attachCamera(myCamera, 500) 100 gånger, en gång var femte minut. Detta tar 500 minuter att spela in, men resultatfilen tar 50 sekunder att spelas upp (100 bildrutor med 500 millisekunder mellan varje).
  • Du kan använda kommandot Camera.setMode() med värdet fps inställt med 1/300 (en per 300 sekunder eller 1 var femte minut) och sedan använda kommandot NetStream.attachCamera(source) som låter kameran hämta oavbrutet under 500 minuter. Resultatfilen spelas upp på 500 minuter – samma tid det tog att spela in – där varje bildruta visas i fem minuter.

Båda teknikerna hämtar samma 500 bildrutor och båda metoderna är användbara. Vilken metod du väljer beror främst på vilken uppspelning som krävs. I det andra fallet kanske du spelar in ljud hela tiden. Båda filerna blir ungefär lika stora.

Parametrar

theCamera:Camera — Källan till videoöverföringen. Giltiga värden är ett Camera-objekt (som börjar hämta videoklipp) och null. Om du skickar null slutar programmet att hämta videofilen och alla ytterligare parametrar du skickar ignoreras.
 
snapshotMilliseconds:int (default = -1) — Anger om videoflödet är kontinuerligt, en enda bildruta eller en serie med enstaka bildrutor som används till att skapa fotografering i tidsintervaller.
  • Om du utelämnar den här parametern hämtar programmet alla videoklipp tills du skickar värdet null till attachCamera.
  • Om du skickar 0 hämtas endast en videobildruta. Använd detta värde för att överföra ögonblicksbilder inom ett befintligt dataflöde. Flash Player och AIR tolkar ogiltiga, negativa eller icke-numeriska argument som 0.
  • Om du skickar ett positivt tal hämtar programmet en enda videobildruta och lägger sedan till en paus på angiven tidslängd som en bipost i ögonblicksbilden. Använd detta värde för att skapa effekter med fotografering i tidsintervaller.

close

()metod 
public function close():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Avbryter all uppspelning i dataflödet, ställer in egenskapen time på 0 och gör dataflödet tillgängligt för annan användning. Den här metoden tar också bort den lokala kopian av en videofil som laddades ned med HTTP. Även om programmet tar bort den lokala kopian av filen som skapas, kan det finnas kvar en kopia i cachekatalogen. Om du behöver förhindra att videofilen lagras i cacheminnet eller lokalt använder du Flash Media Server.

När du använder Flash Media Server anropas den här metoden implicit när du anropar NetStream.play() från ett publiceringsflöde eller NetStream.publish() från ett prenumerationsflöde. Observera:

  • Om close() anropas från ett publiceringsflöde upphör publiceringen och utgivaren kan använda dataflödet för andra syften. Prenumeranten tar inte längre emot något som publicerades i dataflödet eftersom det inte längre publiceras.
  • Om close() anropas från ett prenumerationsflöde upphör flödet för prenumeranten och denne kan använda dataflödet för andra syften. Andra prenumeranter påverkas inte.
  • Du kan stoppa uppspelningen av ett prenumerationsflöde utan att stänga dataflödet eller ändra flödestypen genom att använda flash.net.NetStream.play(false).

Relaterade API-element

dispose

()metod 
public function dispose():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11, AIR 3.0

Frisläpper alla resurser som hålls av NetStream-objektet.

Metoden dispose() liknar metoden close. Den huvudsakliga skillnaden mellan de båda metoderna är att dispose() frisläpper det minne som används för att visa den aktuella videobildrutan. Om den bildrutan just då visas på skärmen blir skärmen tom. Metoden close() visar inte en tom skärm, eftersom den inte frisläpper det här minnet.

onPeerConnect

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Anropas när en peer-publishing-ström matchar en peer-subscribing-ström. Innan prenumeranten kopplas upp till utgivaren anropas den här metoden för att låta ActionScript-koden finjustera åtkomststyrning för peer-to-peer-publicering. Följande kod visar ett exempel på hur en callback-funktion skapas för den här metoden:

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

Om en peer-publicerare inte implementerar den här metoden kan alla peers spela upp allt publicerat innehåll.

Parametrar

subscriber:NetStream

Returnerar
Boolean

pause

()metod 
public function pause():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Pausar uppspelning av ett videoflöde. Om du anropar denna metod när videoklippet redan är pausat händer ingenting. Om du vill återta videouppspelningen efter en paus anropar du resume(). Om du vill växla mellan paus och uppspelning (först pausa videon och sedan återta uppspelning) anropar du togglePause().

Från och med Flash Player 9.0.115.0 rensar Flash Player inte längre bufferten när NetStream.pause() anropas. Beteendet kallas ”smart paus”. Före Flash Player 9.0.115.0 väntade Flash Player tills bufferten var full innan uppspelningen fortsatte, vilket ofta orsakade en fördröjning.

Obs! För bakåtkompatibilitet skickas "NetStream.Buffer.Flush"-händelsen ändå (se egenskapen NetStatusEvent.info), men servern tömmer inte bufferten.

För en enskild paus har egenskapen NetStream.bufferLength en begränsning på antingen 60 sekunder eller två gånger värdet för NetStream.bufferTime, beroende på vilket av värdena som är högst. Om bufferTime exempelvis är 20 sekunder buffrar Flash Player tills NetStream.bufferLength är det högsta värdet av antingen 20 x 2 (40) eller 60. I det här fallet buffrar det alltså tills bufferLength är 60. Om bufferTime är 40 sekunder buffrar Flash Player tills bufferLength är det högsta värdet av antingen 40 x 2 (80) eller 60. I det här fallet buffrar det alltså tills bufferLength är 80.

Egenskapen bufferLength har också en absolut begränsning. Om ett anrop till pause() får bufferLength att öka till mer än 600 sekunder eller värdet för bufferTime x 2, beroende på vilket som är högst, tömmer Flash Player bufferten och återställer bufferLength till 0. Om bufferTime exempelvis är 120 sekunder, tömmer Flash Player bufferten om bufferLength blir 600 sekunder. Om bufferTime är 360 sekunder, tömmer Flash Player bufferten om bufferLength blir 720 sekunder.

Tips: Du kan använda NetStream.pause() i koden om du vill buffra data samtidigt som tittarna ser på reklam, till exempel, och sedan avbryta pausen när huvudvideoklippet startas.

Relaterade API-element

play

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Spelar upp en mediafil från en lokal katalog eller webbserver samt spelar en mediafil eller en direktuppspelning från Flash Media Server. Skickar ett NetStatusEvent-objekt till rapportstatus och felmeddelanden.

Information om vilka kodekar och filformat som stöds finns på:

Arbetsflöde för att spela upp en fil eller för direktuppspelning

  1. Skapa ett Video-objekt som visar videon och anropa addChild() för att lägga till den på scenen.
  2. Skapa ett NetConnection-objekt och anropa NetConnection.connect().

    Skicka null om du vill spela upp en fil från en lokal katalog eller webbserver.

    Om du vill spela upp en inspelad fil eller en direktuppspelning från Flash Media Server, skickar du URI-adresen för ett Flash Media Server-program.

  3. Anropa NetConnection-objektets addEventListener()-metod för att lyssna efter netStatus-händelsen (NetStatusEvent.NET_STATUS).
  4. Skapa ett NetStream-objekt och skicka NetConnection-objektet till konstruktorn vid "NetConnection.Connect.Success".
  5. Anropa Video-objektets attachNetStream()-metod och skicka NetStream-objektet.
  6. Anropa NetStream-objektets play()-metod.

    Om du vill spela upp en direktuppspelning skickar du namnet på direktuppspelningen till metoden NetStream.publish().

    Om du vill spela upp en inspelad fil skickar du filnamnet.

Obs! Du bör alltid lägga till Video-objektet på scenen, koppla NetStream till det och sedan anropa NetStream-objektets play()-metod.

Aktivera datagenereringsläge

Anropa play(null) för att aktivera datagenereringsläget. I det här läget anropar du metoden appendBytes() för att skicka data till NetStream. Använd datagenereringsläge för att direktuppspela innehåll via HTTP från Adobe HTTP Dynamic Streaming Origin Module på en Apache HTTP-server. Med dynamisk HTTP-direktuppspelning kan klienter snabbt söka upp olika punkter i en fil. OSMF (Open Source Media Framework) har stöd för dynamisk HTTP-direktuppspelning för vod- och liveströmmar. Om du vill se exempel på hur du använder datagenereringsläget för NetStream hämtar du OSMF-källan. Mer information om dynamisk HTTP-direktuppspelning finns i Dynamisk HTTP-direktuppspelning.

När du använder den här metoden utan Flash Media Server måste du ta med vissa säkerhetsaspekter i beräkningen. En fil i sandlådan lokal-tillförlitlig eller lokal-med-nätverk kan läsa in och spela upp en videofil från fjärransluten sandlåda, men har ingen åtkomst till data i den externa filen förutan särskild behörighet genom en URL-principfil. Du kan också förhindra att en SWF-fil som körs i Flash Player använder den här metoden genom att ange parametern allowNetworking för object- och embed-taggarna på HTML-sidan med SWF-innehållet. Mer information om säkerhet finns i avsnittet Security på Flash Player Developer Center.

Parametrar

... arguments

Spela upp en lokal fil

Platsen för en mediefil. Argumentet kan vara en String, en URLRequest.url-egenskap eller en variabel som refererar till någon av dem. I Flash Player och i AIR-innehåll utanför programmets säkerhetssandlåda kan du spela upp lokala videofiler som lagras i samma katalog som SWF-filen eller i en underkatalog. Du kan däremot inte navigera till en katalog på högre nivå.

Spela upp en fil från Flash Media Server

NamnObligatorisktBeskrivning
name:ObjectObligatoriskt Namnet på en inspelad fil, en identifierare för livedata som publiceras av NetStream.publish() eller false. Om värdet är false avbryts direktuppspelningen och eventuella ytterligare parametrar ignoreras. Mer information om filnamnssyntaxen finns i filformatstabellen som följer denna tabell.
start:NumberValfritt Starttiden i sekunder. Tillåtna värden är -2, -1, 0 eller ett positivt tal. Standardvärdet är -2, vilket innebär sökning först efter ett direktflöde och sedan ett inspelat flöde. Om ingetdera hittas öppnas ett direktflöde. Du kan inte använda -2 med MP3-filer. Om värdet är -1 spelas bara ett direktflöde upp. Om värdet är 0 eller ett positivt tal spelas ett inspelat flöde upp med början start sekunder in i flödet.
len:Number Valfritt om start anges. Uppspelningens varaktighet i sekunder. Tillåtna värden är -1, 0 eller ett positivt tal. Standardvärdet är -1, vilket innebär att ett direktflöde eller ett inspelat flöde spelas upp tills det är slut. Om värdet är 0 spelas det upp en enda bildruta som är start sekunder från ett inspelat flödes början. Om värdet är ett positivt tal spelas ett direktflöde eller ett inspelat flöde upp under len sekunder.
reset:Object Valfritt om len anges. Om en spellista ska rensas. Standardvärdet är 1 eller true, vilket rensar alla tidigare anrop till play och spelar upp name direkt. Om värdet är 0 eller false läggs flödet till i en spellista. Om värdet är 2 behålls spellistan och alla flödesmeddelanden returneras direkt i stället för med intervaller. Om värdet är 3 rensas spellistan och alla flödesmeddelanden returneras direkt.

Du kan spela upp de filformat som beskrivs i följande tabell. Syntaxen varierar beroende på filformatet.

FilformatSyntaxExempel
FLVAnge strömmens namn (i katalogen "samples") som en sträng utan filnamnstillägg.ns.play("samples/myflvstream");
mp3 eller ID3Ange strömmens namn (i katalogen "samples") som en sträng med prefixet mp3: eller id3:, utan något filnamnstillägg.

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

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

MPEG-4-baserade filer (som F4V och MP4)Ange strömmens namn (i katalogen "samples") som en sträng med prefixet mp4:. Prefixet talar om för servern att filen innehåller H.264-kodad video och AAC-kodat ljud i behållarformatet MPEG-4 Part 14. Om filen på servern har ett filnamnstillägg anger du det.

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

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

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

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

RAWAnge strömmens namn (i katalogen "samples") som en sträng med prefixet raw:ns.play("raw:samples/myvideo");

Aktivera datagenereringsläge

Om du vill aktivera datagenereringsläge skickar du värdet null till en NetStream som skapats på en NetConnection som är ansluten till null. I det här läget anropar du appendBytes() för att skicka data till NetStream. (Om du skickar null återställer detta även byteräknaren för onSeekPoint()-återanropet.)

Speciella överväganden för H.264-video i AIR 3.0 for iOS

För H.264-video accepteras för iOS API:er för videouppspelning endast en webbadress till en fil eller ett flöde. Du kan inte ange en buffert med H264-videodata som ska avkodas. Beroende på vilken videokälla du använder, anger du lämpligt argument för NetStream.play() enligt följande:

  • För progressiv uppspelning: Ange filens webbadress (lokalt eller fjärr).

  • För direktuppspelande video: Ange webbadressen för en spellista i Apples HLS-format (HTTP Live Streaming). Den här filen kan finnas på alla servrar. Det finns en fördel med Flash Media Server 4.5 och senare för här kan HLS-formaterade flöden kodas.


Händelser
status:StatusEvent — Skickas vid försök att spela upp DRM-krypterat innehåll (Digital Rights Management). Värdet på egenskapen code är "DRM.encryptedFLV".

Utlöser
SecurityError — Lokala otillförlitliga SWF-filer kan inte kommunicera med webben. Du kan undvika restriktionen genom att omklassificera SWF-filen som lokal med nätverkstjänst eller tillförlitlig.
 
ArgumentError — Du måste ange minst en parameter.
 
Error — NetStream-objektet är ogiltigt. Det kan bero på en misslyckad NetConnection.

Relaterade API-element


Exempel  ( Så här använder du exemplet )
Flash Media Server I det här exemplet spelas en inspelad F4V-fil upp från katalogen "samples", från början, i upp till 100 sekunder. För MPEG-4-filer gäller att om filen på servern har ett filnamnstillägg måste metoden play() ange ett filnamnstillägg.
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server I det här exemplet spelas det upp en FLV-liveström, som publiceras av en klient. Den startar direkt och spelas från början till slut:
     ns.play("livestream");
     

I följande exempel visas hur en extern FLV-fil laddas:
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

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Växlar mellan filer med flera bithastigheter och tillåter att ett NetStream-objekt återupptas när en anslutning avbryts och återskapas.

Den här metoden är en förbättrad version av NetStream.play(). Precis som metoden play(), börjar metoden play2() att spela upp en mediafil eller placerar mediafiler i kö för att skapa en spellista. När detta används tillsammans med Flash Media Server, kan metoden även begära att servern byter till en annan mediafil. Övergången sker helt omärkbart i klientprogrammet. Följande funktioner använder play2()-strömväxling:

Dynamisk direktuppspelning

Med dynamisk direktuppspelning (stöds i Flash Media Server 3.5 och senare versioner) kan du skicka en ström som kodats med flera bithastigheter. Efterhand som användarens nätverksförhållanden ändras används den bithastighet som ger den bästa visningen. Använd klassen NetStreamInfo om du vill övervaka nätverksförhållanden och byta flöden baserat på data. Du kan också byta flöden för klienter med annan kapacitet. Du hittar mer information i Dynamisk direktuppspelning i Adobe Flash Media Server Developer Guide.

Adobe har skapat en anpassad ActionScript-klass som anropar DynamicStream som utökar klassen NetStream. Du kan använda klassen DynamicStream när du vill implementera dynamisk direktuppspelning i ett program i stället för att skriva egen kod som identifierar nätverksförhållanden. Även om du väljer att skriva egen dynamisk direktuppspelningskod kan det vara bra att använda klassen DynamicStream som referensimplementering. Hämta klassen och klassdokumentationen på sidan med verktyg och hämtningsbara filer för Flash Media Server.

Återanslutning av strömmar

Med återanslutning av strömmar (stöds i Flash Media Server 3.5.3 och senare versioner) kan användare spela upp mediefiler utan avbrott även om anslutningen kopplas ned. Bufferten används då för uppspelning under tiden som ActionScript-logiken återansluter till Flash Media Server. Efter återanslutningen anropar du NetStream.attach() för att använda samma NetStream-objekt med den nya NetConnection. Använd gränssnitten NetStream.attach(), NetStreamPlayTransitions.RESUME och NetStreamPlayTrasitions.APPEND_AND_WAIT för att återansluta en ström. Du hittar mer information i dokumentationen för Flash Media Server 3.5.3.

Parametrar

param:NetStreamPlayOptions

Relaterade API-element

preloadEmbeddedData

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.5, Flash Lite 4

Extraherar alla DRM-metadata från en lokalt lagrad mediafil.

Använd preloadEmbeddedMetaData() som första steg när du hämtar och cachelagrar DRM-verifikationerna som behövs för uppspelning offline. När inbäddade DRM-metadata upptäcks i en mediafil skickas ett DRMContentData-objekt till NetStream-klientfunktionen onDRMContentData. Det här DRMContentData-objektet innehåller den information som behövs för att hämta verifikationen som krävs för att spela upp innehållet. Skicka DRMContentDataObject till DRMManager-metoden loadVoucher() när du vill hämta verifikationen.

När du förhandsladdar en DRM-verifikation ingår följande steg:

  • Skapa ett nytt NetStream-objekt för förhandsladdning av metadata.

  • Tilldela en återanropsfunktion till egenskapen onDRMContentData för NetStream client.
  • Skapa ett nytt NetStreamPlayOptions-objekt och ställ in dess streamName-egenskap på URL-strängen för den lokala videofilen.
  • Anropa preloadEmbeddedMetadata() som skickas i NetStreamPlayOptions-objektet.
  • Som svar på onDRMContentData-återanropet anropar du metoden loadVoucher() för DRMManager, och skickar med DRMContentData-objektet. Om egenskapen authenticationMethod för DRMContentData-objektet har värdet userNameAndPassWord verifierar du användaren på medierättighetsservern innan du läser in vouchern.
  • Stäng den NetStream som används för förhandsladdningen.

Obs! Om du vill använda samma NetStream-objekt för att både förhandsladda metadata och spela upp innehåll väntar du på det onPlayStatus-anrop som genereras av förhandsladdningen innan du startar uppspelningen.

Hämtade verifikationer lagras i en lokal cache. När du spelar upp innehåll online hämtas verifikationerna och sedan cachelagras de. När en DRM-skyddad innehållsfil visas, hämtas en cachelagrad verifikation från den lokala lagringsplatsen automatiskt. Använd DRMManager när du vill hantera verifikationscachen.

Obs! Det går inte att förhandsladda DRM-metadata via HTTP-, HTTPS- och RTMP-anslutningar. Du kan bara förhandsladda metadata från filer som lagras i filsystemet.

Parametrar

param:NetStreamPlayOptions — Ett NetStreamPlayOptions som beskriver alternativen som kan användas när innehållsfilen bearbetas.

Relaterade API-element

publish

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9

Skickar direktuppspelat ljud, direktuppspelad video och datameddelanden från en klient till Flash Media Server. Eventuellt registreras strömmen under överföringen. Den här metoden skickar ett NetStatusEvent-objekt med information om strömmen. Innan du anropar NetStream.publish() använder du händelsen "NetConnection.Connect.Success" för att kontrollera att programmet har anslutits till Flash Media Server.

Under publiceringen kan du spela in filer med formaten FLV eller F4V. Om du spelar in en fil i F4V-format ska du använda ett förenklingsverktyg om du vill redigera eller spela upp filen i ett annat program. Om du vill hämta verktyget besöker du www.adobe.com/go/fms_tools_se.

Obs! Använd inte den här metoden för direktuppspelning. Om du vill spela upp ett flöde anropar du metoden NetStream.play().

Arbetsflöde för att publicera en direktuppspelning

  1. Skapa ett NetConnection-objekt och anropa NetConnection.connect().
  2. Anropa NetConnection.addEventListener() för att avlyssna NetStatusEvent-händelser.
  3. Skapa ett NetStream-objekt och skicka NetConnection-objektet till konstruktorn vid "NetConnection.Connect.Success"-händelsen.
  4. Om du vill hämta ljud och video anropar du metoden NetStream.attachAudio() och metoden NetStream.attachCamera().
  5. Om du vill publicera en ström anropar du metoden NetStream.publish(). Du kan spela in data under publiceringen så att användare kan göra en uppspelning vid ett senare tillfälle.

Obs! En NetStream kan antingen publicera en ström eller spela upp den, men inte bådadera. Du ska skapa två NetStream-objekt om du vill publicera en direktuppspelning och visa uppspelningen från servern. Du kan skicka flera NetStream-objekt över ett NetConnection-objekt.

En fil skapas när en direktuppspelning spelas in med Flash Media Server. Standard är att servern skapar en katalog med programinstansnamnet, som skickas till NetConnection.connect(), och sparar filen i den katalogen. Följande kod ansluter till exempel till standardinstansen för programmet "lectureseries" och spelar in strömmen "lecture". Filen "lecture.flv" spelas in i katalogen applications/lectureseries/streams/_definst_:

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

Följande exempel ansluter till "monday"-instansen av samma program. Filen lecture.flv spelas in i katalogen applications/lectureseries/streams/monday:

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

Parametrar

name:String (default = null) — En sträng som identifierar strömmen. Klienter som prenumererar på den här strömmen skickar det här namnet vid anrop av NetStream.play(). Skriv inte "/" efter flödets namn. Använd till exempel inte flödesnamnet "bolero/".

Du kan spela in filer de format som beskrivs i följande tabell (du kan inte använda publish() för MP3-filer). Syntaxen varierar beroende på filformatet.

FilformatSyntaxExempel
FLVAnge strömmens namn som en sträng utan filnamnstillägg.ns.publish("myflvstream");
MPEG-4-baserade filer (som F4V och MP4)Ange strömmens namn som en sträng med prefixet mp4:, med eller utan filnamnstillägg. Flash Player kodar inte H.263 och inte med H264, men Flash Media Server kan spela in alla kodekar i F4V-behållaren. Flash Media Live Encoder kan koda med H.264. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWAnge strömmens namn som en sträng med prefixet raw:ns.publish("raw:myvideo");

 
type:String (default = null) — En sträng som anger hur strömmen ska publiceras. Giltiga värden är "record", "append", "appendWithGap" och "live". Standardvärdet är " live ".
  • Om du skickar "record" publicerar och spelar servern in data direkt. Inspelade data sparas i en ny fil, vars namn matchar det värde som skickades till parametern name. Om filen finns skrivs den över.
  • Om du skickar "append" publicerar och spelar servern in data direkt. Inspelade data läggs till i en fil, vars namn matchar det värde som skickades till parametern name. Om det inte finns någon fil som matchar name-parametern skapas en sådan.
  • Om du skickar "appendWithGap" skickas ytterligare information om tidskoordination för att hjälpa servern att fastställa korrekt övergångspunkt vid dynamisk direktuppspelning.
  • Om du utelämnar den här parametern eller skickar "live" publicerar servern data direkt utan någon inspelning. Om det finns en fil, vars namn matchar det värde som skickades till parametern name, så tas den bort.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I följande exempel hämtas video från en kamera, varefter videon publiceras via NetStream till Flash Media Server. Exemplet visar videon när den spelas upp från Flash Media Server.

Om du vill köra det här exemplet behöver du en kamera som är ansluten till datorn. Du behöver också lägga till en Button-komponent och en Label-komponent i biblioteket.

Programmet har en knapp som publicerar en ström (skickar den till Flash Media Server), men inte förrän programmet har anslutit till servern. Programmet spelar inte upp strömmen från servern förrän den har publicerats utan fel. NetStatusEvent returnerar ett info-objekt med en code-egenskap som specificerar dessa fall. Funktionen netStatusHandler hanterar de här händelserna för klasserna NetConnection och NetStream.

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

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

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

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

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

receiveAudio

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger om inkommande ljud spelas upp i strömmen. Den här metoden är bara tillgänglig för klienter som prenumererar på den angivna strömmen. Den är inte tillgänglig för strömmens utgivare. Anropa den här metoden innan eller efter att du anropar metoden NetStream.play(). Du kan till exempel koppla den här metoden till en knapp så att användare kan stänga av och slå på ljudet. Använd bara den här metoden på unicast-strömmar som spelas upp från Flash Media Server. Den här metoden fungerar inte på RTMFP multicast-strömmar eller när du använder metoden NetStream.appendBytes().

Parametrar

flag:Boolean — Anger om inkommande ljud spelas i dataflödet (true) eller inte (false). Standardvärdet är true. Om den angivna strömmen bara innehåller ljuddata stoppar NetStream.time ökningen när du skickar false.

receiveVideo

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger om den inkommande videofilmen spelas upp i strömmen. Den här metoden är bara tillgänglig för klienter som prenumererar på den angivna strömmen. Den är inte tillgänglig för strömmens utgivare. Anropa den här metoden innan eller efter att du anropar metoden NetStream.play(). Du kan till exempel koppla den här metoden till en knapp så att användare kan visa och dölja videon. Använd bara den här metoden på unicast-strömmar som spelas upp från Flash Media Server. Den här metoden fungerar inte på RTMFP multicast-strömmar eller när du använder metoden NetStream.appendBytes().

Parametrar

flag:Boolean — Anger om inkommande video spelas upp i den här strömmen (true) eller inte (false). Standardvärdet är true. Om den angivna strömmen bara innehåller videodata stoppar NetStream.time ökningen när du skickar false.

receiveVideoFPS

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Anger bildrutefrekvensen för inkommande video. Den här metoden är bara tillgänglig för klienter som prenumererar på den angivna strömmen. Den är inte tillgänglig för strömmens utgivare. Anropa den här metoden innan eller efter att du anropar metoden NetStream.play(). Anropa till exempel den här metoden för att låta användare ange videons bildrutefrekvens. Om du vill ta reda på den aktuella bildrutefrekvensen använder du NetStream.currentFPS. Skicka 0 för att sluta ta emot video.

När du skickar ett värde till parametern FPS för att begränsa videons bildrutefrekvens gör Flash Media Server ett försök att minska bildrutefrekvensen samtidigt som videointegriteten bevaras. Servern skickar det minsta antal bildrutor, som behövs för att klara den önskade hastigheten, mellan varannan nyckelbildruta. Tänk på att mellanliggande bildrutor (eller I-bildrutor) måste skickas kontinuerligt, annars går videoströmmen inte att visa. Det önskade antalet bildrutor skickas därför omedelbart och kontinuerligt efter en nyckelbildruta. Eftersom bildrutorna inte är jämnt fördelade kan uppspelningen fungera bra i segment, för att sedan hacka.

Använd bara den här metoden på unicast-strömmar som spelas upp från Flash Media Server. Den här metoden fungerar inte på RTMFP multicast-strömmar eller när du använder metoden NetStream.appendBytes().

Parametrar

FPS:Number — Anger den bildrutefrekvens (fps) som inkommande video spelas upp med.

resetDRMVouchers

()metod 
public static function resetDRMVouchers():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 11.8, Flash Lite 4

I AIR-program tar detta bort alla lokalt cachelagrade DRM-voucherdata (Digital Rights Management). För webbläsarbaserade program är detta bara tillgängligt vid 3322-fel och fungerar likadant som fliken med inställningar för Uppspelning av skyddat innehåll.

Programmet måste hämta om alla verifikationer som behövs från mediarättighetsservern för att användaren ska kunna få tillgång till skyddat innehåll. Att anropa den här funktionen motsvarar att anropa funktionen resetDRMVouchers() för DRMManager-objektet.


Utlöser
IOError — Det går inte att ta bort voucherdata.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

Följande exempel återställer alla DRM-verifikationer:
NetStream.resetDRMVouchers();

resume

()metod 
public function resume():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Återtar uppspelning av ett pausat videoflöde. Om videoklippet redan spelas upp när du anropar metoden händer ingenting.

Relaterade API-element

seek

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Söker efter nyckelbildrutan (kallas även en I-frame i videobranschen) som är närmast den angivna platsen. Nyckelbildrutan placeras med en förskjutning i sekunder från direktuppspelningens början.

Videoflöden kodas oftast med två typer av bildrutor, nyckelbildrutor (eller I-frames) och P-frames. En nyckelbildruta innehåller en hel bild medan en P-frame är en mellanbildruta som innehåller ytterligare videoinformation mellan nyckelbildrutor. En videoström har vanligen nyckelbildrutor med mellan 10 och 50 bildrutors mellanrum.

Det finns olika typer av sökbeteenden i Flash Media Server, förbättrad sökning och smart sökning.

Förbättrad sökning

Förbättrad sökning är aktiverat som standard. Om du vill inaktivera förbättrad sökning i Flash Media Server anger du elementet EnhancedSeek i konfigurationsfilen Application.xml som false.

Om förbättrad sökning är aktiverat skapar servern en ny nyckelbildruta vid offset baserat på föregående nyckelbildruta och eventuella mellanliggande P-bildrutor (prediktiva bildrutor). Att skapa nyckelbildrutor medför emellertid en hög belastning för servern, och förvrängning kan uppstå i den nyckelbildruta som skapas. Om videokodeken On2 används, skickas nyckelbildrutan före sökpunkten och alla eventuella P-bildrutor mellan nyckelbildrutan och sökpunkten till klienten.

Om förbättrad sökning är inaktiverat börjar servern direktuppspelningen från den närmsta nyckelbildrutan. Anta till exempel att en video har nyckelrutor vid 0 sekunder och 10 sekunder. En sökning till 4 sekunder medför att uppspelningen startar vid 4 sekunder om nyckelrutan vid 0 sekunder används. Videon rör sig inte förrän nästa nyckelbildruta nås vid 10 sekunder. För att sökningen ska fungera smidigare måste du minska intervallet mellan nyckelbildrutorna. I normalt sökläge går det inte att starta videon vid en punkt som som ligger mellan nyckelbildrutorna.

Smart sökning

Om du vill aktivera smart sökning anger du NetStream.inBufferSeek som true.

Med smart sökning kan Flash Player söka inom en befintlig bakåt- och framåtbuffert. När smart sökning är inaktiverat tömmer Flash Player bufferten och begär data från servern varje gång seek() anropas. Mer information finns i avsnittet om NetStream.inBufferSeek.

Söka i datagenereringsläge

När du anropar seek() för en NetStream i datagenereringsläge ignoreras alla byte som då skickas till appendBytes() (de placeras inte i bufferten, samlas inte i FIFO för det ofullständiga meddelandet och tolkas inte efter sökpunkter) tills appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) eller appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) anropas för att återställa tolken. Information om datagenereringsläge finns i NetStream.play().

Parametrar

offset:Number — Det ungefärliga tidsvärdet att gå till i en videofil, i sekunder. Om <EnhancedSeek> är inställt på true i konfigurationsfilen Application.xml i Flash Media Server (vilket den är som standard) skapar servern en nyckelbildruta vid offset.
  • Om du vill gå tillbaka till direktuppspelningens början anger du 0 för offset.
  • Om du vill söka framåt från direktuppspelningens början anger du hur många sekunder du vill flytta framåt. Om du till exempel vill placera spelhuvudet 15 sekunder från början (eller nyckelbildrutan före 15 sekunder) använder du myStream.seek(15).
  • Om du vill göra en sökning utifrån den aktuella positionen skickar du NetStream.time + n eller NetStream.time - n för att söka n sekunder framåt respektive bakåt från den aktuella positionen. Om du till exempel vill spola tillbaka 20 sekunder från den aktuella positionen använder du NetStream.seek(NetStream.time - 20).

Relaterade API-element

send

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9

Skickar ett meddelande i ett publicerat flöde till alla mottagande klienter. Den här metoden är bara tillgänglig för utgivaren av den angivna strömmen. Den här metoden kan bara användas med Flash Media Server. Hantera och svara på meddelandet genom att skapa en hanterare i NetStream-objektet, till exempel ns.HandlerName.

Flash Player eller AIR serialiserar inte metoder eller deras data, objektprototypvariabler eller icke uppräkningsbara variabler. När det gäller visningsobjekt serialiserar Flash Player eller AIR sökvägen, men inga data.

Du kan anropa metoden send() för att lägga till nyckelbildrutor med data i en liveström som publiceras till Flash Media Server. En nyckelbildruta med data är ett meddelande en utgivare lägger till i ett direktflöde. Nyckelbildrutor med data används oftast för att lägga till metadata i ett direktflöde innan data spelas in till flödet från en kamera eller mikrofon. Utgivaren kan lägga till en nyckelbildruta med data när som helst medan direktflödet publiceras. Nyckelbildrutan med data sparas på servern så länge utgivaren är ansluten till den.

Klienter som prenumererade på direktflödet innan nyckelbildrutan med data lades till får bildrutan direkt när den läggs till. Klienter som börjar prenumerera på direktflödet efter att nyckelbildrutan med data lagts till får bildrutan när de börjar prenumerera.

Om du vill lägga till en nyckelbildruta med metadata i ett direktflöde som skickas till Flash Media Server använder du @setDataFrame som hanterarnamn följt av två ytterligare argument, till exempel:

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

Argumentet @setDataFrame avser en specialhanterare som är inbyggd i Flash Media Server. Argumentet onMetaData är namnet på en callback-funktion i klientprogrammet som avlyssnar händelsen onMetaData och hämtar metadata. Det tredje objektet, metaData, är en instans av Object eller Array med egenskaper som definierar metadatavärdena.

Använd @clearDataFrame om du vill ta bort en nyckelbildruta med metadata som redan har angetts för dataflödet:

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

Parametrar

handlerName:String — Det meddelande som ska skickas; även namnet på ActionScript-hanteraren som tar emot meddelandet. Hanterarnamnet kan endast vara på en nivå (d.v.s. det kan inte ha formatet överordnad/underordnad) och är relativt till dataflödesobjektet. Använd inte en reserverad term som hanterarnamn. Om du till exempel använder "close" som hanterarnamn misslyckas metoden. Med Flash Media Server använder du @setDataFrame för att lägga till en nyckelbildruta med metadata i ett direktflöde eller @clearDataFrame om du vill ta bort en nyckelbildruta.
 
... arguments — Valfria argument som kan vara vilken typ som helst. De är serialiserade och skickas via anslutningen. De tas emot i samma ordning av mottagande hanterare. Om en parameter är ett cirkulärt objekt (t.ex. en länkad lista som är cirkulär) hanteras referenserna korrekt av serialiseraren. Med Flash Media Server använder du onMetaData som andra argument om @setDataFrame är det första argumentet. Som tredje argument skickar du en instans av Object eller Array som innehåller metadata i form av egenskaper. En lista med förslag på egenskapsnamn finns i Flash Media Server Developer Guide. Om @clearDataFrame är det första argumentet använder duonMetaData som andra argument. Ange inget tredje argument.

Relaterade API-element


Exempel  ( Så här använder du exemplet )

I följande exempel skapas två NetStream-objekt. Det ena används för att publicera ett direktflöde till servern. Det andra prenumererar på dataflödet.
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);
    }
 }

I följande exempel skapas metadata som läggs till i ett direktflöde:
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() );        
    }
}

För att kunna svara på att en nyckelbildruta med data läggs till i en video måste klienten definiera en onMetaData-händelsehanterare. Händelsehanteraren onMetaData registreras inte i addEventListener(). I stället är den en callback-funktion med namnet onMetaData, till exempel:
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

I det här exemplet demonstreras hur du skapar en spellista på servern:
 // 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);

Om den inspelade videofilen bara innehåller datameddelanden kan du antingen spela upp videofilen med den hastighet den ursprungligen spelades in eller hämta alla datameddelanden på en gång.
 //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

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Lite 4

Anger de DRM-autentiseringsuppgifter som krävs för att visa det underliggande krypterade innehållet.

Metoden setDRMAuthenticationCredentials() måste ange autentiseringsuppgifter som matchar de som innehållsleverantören eller proxyservern känner till och godkänner. Autentiseringsuppgifterna är desamma som de användaren anger för att få behörighet att visa innehållet.

Parametrar

userName:String — Ett giltigt användarnamn.
 
password:String — Det lösenord som motsvarar det angivna användarnamnet.
 
type:String — En sträng som anger vilken typ av autentiseringsuppgifter som anges. Giltiga värden är "drm" och "proxy". Standardvärdet är "drm".
  • Med autentiseringstypen "drm" autentiseras de angivna inloggningsuppgifterna mot Flash Access.
  • Med autentiseringstypen "proxy" autentiseras de autentiseringsuppgifter som anges mot proxyservern och måste stämma överens med dem som krävs av proxyservern. "Proxy"-alternativet innebär till exempel att programmet autentiserar mot en proxyserver, om ett företag kräver det, innan användaren kan börja använda Internet. Om inte anonym autentisering används måste användaren efter proxyautentiseringen ändå autentisera mot Flash Access för att erhålla vouchern och spela upp innehållet. Du kan använda setDRMAuthenticationcredentials() en andra gång med alternativet "drm" för att autentisera mot Flash Access.

Relaterade API-element

step

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2

Stegar framåt eller bakåt med angivet antal bildrutor i förhållande till den bildruta som visas. Ange ett positivt tal för att stega framåt och ett negativt tal för att stega bakåt. Anropa den här metoden för att skapa korrekta funktioner för framåt- eller bakåtspolning.

Obs! Denna metod stöds inte för H.264-video i AIR 3.0 for iOS.

Den här metoden är bara tillgänglig när data direktuppspelas från Flash Media Server 3.5.3 eller senare och när NetStream.inBufferSeek är true. Målbildrutan måste dessutom vara i bufferten. Om den bildruta som visas för tillfället till exempel är nummer 120, och du anger värdet 1 000, misslyckas metoden om bildruta nummer 1 120 inte finns i bufferten.

Den här metoden är avsedd att användas med metoden pause() eller togglePause(). Om du stegar 10 bildrutor framåt eller bakåt under uppspelning utan att pausa kan det hända att du inte märker stegen eller att uppspelningen verkar hackig. Dessutom spelas inte ljudet upp när du anropar pause() eller togglePause.

Om anropet till NetStream.step() lyckas skickas en NetStatusEvent med "NetStream.Step.Notify" som värde för infoobjektets code-egenskap.

Parametrar

frames:int

Relaterade API-element

togglePause

()metod 
public function togglePause():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Pausar eller fortsätter direktuppspelning. Första gången du anropar den här metoden pausas uppspelningen. Nästa gång återupptas uppspelningen. Du kan använda metoden för att låta användare pausa eller återuppta uppspelningen genom att endast behöva trycka på en knapp.

Relaterade API-element

Händelsedetaljer

asyncError

Händelse
Typ av händelseobjekt: flash.events.AsyncErrorEvent
egenskap AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skickas om ett undantag inträffar asynkront, d.v.s. från ursprunglig asynkron kod. Den här händelsen skickas när en server anropar en metod i klienten som inte har definierats.

Konstanten AsyncErrorEvent.ASYNC_ERROR definierar värdet för ett asyncError-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
targetObjektet som skickade händelsen.
errorFelet som utlöste händelsen.

Relaterade API-element

drmAuthenticate

Händelse  
Typ av händelseobjekt: flash.events.DRMAuthenticateEvent
egenskap DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Lite 4

Skickas när ett DRM-relaterat (Digital Rights Management) fel inträffar för ett NetStream-objekt som försöker spela upp DRM-krypterat innehåll som kräver användarautentisering före uppspelning.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

Autentisera användaren med hjälp av metoden setDRMAuthenticationCredentials() för NetStream-objektet. Om användarautentiseringen misslyckas gör programmet ett nytt autentiseringsförsök och skickar en ny DRMAuthenticateEvent-händelse för NetStream-objektet.

DRMAuthenticateEvent.DRM_AUTHENTICATE-konstanten definierar värdet på type-egenskapen för ett DRMAuthenticateEvent-objekt.

Den här händelsen har följande egenskaper:

EgenskapVärde
authenticationTypeIndikerar om inloggningsuppgifterna gäller för autentisering mot Flash Media Rights Management Server (FMRMS) eller en proxyserver.
bubblesfalse
cancelablefalse det finns inget standardbeteende att avbryta.
rubrikDen krypterade innehållsfilens rubrik tillhandahålls av servern.
netstreamNetStream-objektet som initierade den här händelsen.
passwordPromptEtt kommando för ett inloggningslösenord tillhandahålls av servern.
targetNetStream-objektet.
urlPromptEtt kommando för en URL som ska visas tillhandahålls av servern.
usernamePromptEtt kommando för ett inloggningsanvändarnamn tillhandahålls av servern.

Relaterade API-element

drmError

Händelse  
Typ av händelseobjekt: flash.events.DRMErrorEvent
egenskap DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 10.1, Flash Lite 4

Skickas när ett DRM-relaterat (Digital Rights Management) fel inträffar för ett NetStream-objekt som försöker spela upp en DRM-krypterad fil. Exempelvis skickas ett DRMErrorEvent-objekt när användarautentiseringen misslyckas. Detta kan bero på att användaren inte har köpt rättigheterna att visa innehållet eller på att innehållsleverantören inte stöder visningsprogrammet.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

DRMErrorEvent.DRM_ERROR-konstanten definierar värdet på type-egenskapen i ett drmError-händelseobjekt.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
errorIDEn numerisk felkod som tilldelats problemet.
subErrorIDEn felkod som indikerar mer detaljerad information om det underliggande problemet.
targetNetStream-objektet.

Relaterade API-element

drmStatus

Händelse  
Typ av händelseobjekt: flash.events.DRMStatusEvent
egenskap DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 10.1, Flash Lite 4

Skickas när det DRM-kodade (Digital Rights Management) innehållet börjar spelas upp (när användaren har autentiserats och är behörig att spela upp innehållet).

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

DRMStatusEvent-objektet innehåller information om vouchern, till exempel om innehållet är tillgängligt offline eller när vouchern upphör att gälla och användare inte längre kan visa innehållet.

DRMStatusEvent.DRM_STATUS-konstanten definierar värdet på type-egenskapen i ett drmStatus-händelseobjekt.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
detaljEn sträng förklarar innehållet i statushändelsen.
isAnonymousAnger om innehållet som är skyddat med DRM-kryptering är tillgängligt utan att användaren måste ange sina inloggningsuppgifter.
isAvailableOfflineAnger om innehållet som är skyddat med DRM-kryptering finns tillgängligt off-line.
offlineLeasePeriodAntal dagar kvar som innehållet kan visas off-line.
policiesEtt anpassat objekt i DRM-statushändelsen.
targetNetStream-objektet.
voucherEndDateDatumet då vouchern förfaller och innehållet inte längre kan visas för användare
contentDataDRMContentData för innehållet
voucherDRMVoucher-objektet för innehållet.
isLocalAnger om innehållet lagras i det lokala filsystemet

Relaterade API-element

ioError

Händelse  
Typ av händelseobjekt: flash.events.IOErrorEvent
egenskap IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skickas om ett in- eller utdatafel orsakar en misslyckad nätverksåtgärd.

Definierar värdet för ett ioError-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
errorIDEtt referensnummer som associeras med det specifika felet (enbart AIR).
targetObjektet är med om ett in-/utdatafel.
textText som visas som felmeddelande.

mediaTypeData

Händelse  
Typ av händelseobjekt: flash.events.NetDataEvent
egenskap NetDataEvent.type = flash.events.NetDataEvent

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.3, AIR 2.7

Skickas när videoinnehåll spelas och när viss typ av meddelanden bearbetas.

Ett NetDataEvent skickas för följande meddelanden:

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (för koden NetStream.Play.Complete)
  • onTextData
  • onXMPData

Obs! Den här händelsen skickas inte av innehåll som körs i Flash Player i webbläsaren på operativsystemen för Android eller Blackberry Tablet, eller av innehåll som körs i AIR på iOS.

netStatus

Händelse  
Typ av händelseobjekt: flash.events.NetStatusEvent
egenskap NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skickas om objektet NetStream ger ett status- eller felmeddelande. Händelsen netStatus innehåller egenskapen info, vilket är ett informationsobjekt som innehåller specifik information om händelsen, t.ex. om en anslutning lyckades eller misslyckades.

Definierar värdet för ett netStatus-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
infoEtt objekt med egenskaper som beskriver objektets status eller feltillstånd.
targetNetConnection- eller NetStream-objektet rapporterar status.

Relaterade API-element

onCuePoint

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skapar en avlyssnare som svarar när en inbäddad referenspunkt nås vid uppspelning av en videofil. Du kan använda avlyssnaren till att utlösa åtgärder i programkoden när videon når en specifik referenspunkt, så att du kan synkronisera andra åtgärder i programmet med videouppspelningshändelser. Information om vilka videofilformat som stöds av Flash Media Server finns på www.adobe.com/go/learn_fms_fileformats_se.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

onCuePoint är i själva verket en egenskap för NetStream.client-objektet. Egenskapen listas i avsnittet Händelser eftersom den svarar på en datahändelse, antingen vid direktuppspelning av media med Flash Media Server eller vid uppspelning av en FLV-fil. Mer information finns i klassbeskrivningen för NetStream. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onCuePoint som en händelse. Definiera en återanropsfunktion och koppla den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Den associerade händelseavlyssnaren aktiveras efter ett anrop till metoden NetStream.play(), men innan videospelhuvudet flyttas framåt.

Du kan bädda in följande typer av referenspunkter i en videofil:

  • En referenspunkt för navigering anger en nyckelbildruta i videofilen. Referenspunktens time-egenskap motsvarar den exakta nyckelbildrutan. Navigeringsreferenspunkter används ofta som bokmärken eller ingångspunkter så att användaren kan navigera i videofilen.
  • En händelsereferenspunkt anger en tid. Tiden kan, men behöver inte, motsvara en viss nyckelruta. En händelsereferenspunkt representerar oftast en tidpunkt i videon när någonting som kan användas för att aktivera andra programhändelser sker.

Händelseobjektet onCuePoint har följande egenskaper:

EgenskapBeskrivning
namnNamnet som referenspunkten gavs när den bäddades in i videofilen.
parameterEn associativ array av strängar med namnvärdespar som har angetts för referenspunkten. Parameterns namn eller värde kan vara vilken giltig sträng som helst.
timeTiden i antal sekunder när referenspunkten inträffade i videofilen vid uppspelningen.
typeTypen av referenspunkt som nåddes, antingen vid navigering eller händelse.

Du kan definiera referenspunkter i en videofil när du kodar filen eller när du importerar ett videoklipp i Flash-utvecklingsverktyget med guiden Importera video.

Händelsen onMetaData hämtar även information om referenspunkterna i en videofil. Händelsen onMetaData får emellertid information om alla referenspunkter innan videon börjar spelas upp. Händelsen onCuePoint får information om en enda referenspunkt vid den tidpunkt som anges för den referenspunkten under uppspelningen.

I de flesta fall använder du händelsen onCuePoint för att aktivera åtgärder i koden om du vill att koden ska svara på en viss referenspunkt vid det tillfälle den inträffar.

Du kan använda listan med referenspunkter som händelsen onMetaData får så att användaren kan börja spela upp videon vid fördefinierade punkter i videoflödet. Skicka värdet för referenspunktens time-egenskap till metoden NetStream.seek() för att spela upp videon från referenspunkten.


Exempel  ( Så här använder du exemplet )

I följande exempel visas hur du kan läsa in externa FLV-filer och svara på metadata och referenspunkter. Exempel från 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);
}

Relaterade API-element

onDRMContentData

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.5, Flash Lite 4

Upprättar en avlyssnare som ska svara när AIR hämtar DRM-innehåll i form av metadata som är inbäddade i en mediafil.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

Ett DRMContentData-objekt innehåller den information som behövs för att hämta en verifikation som krävs för att spela upp en DRM-skyddad mediafil. Använd klassen DRMManager om du vill hämta verifikationen med den här informationen.

onDRMContentData är en egenskap för NetStream.client-objektet. Den här händelsen tas med i avsnittet Händelser eftersom den svarar på en datahändelse vid förhandsladdning av inbäddade data från en lokal mediefil. Mer information finns i klassbeskrivningen för NetStream. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onDRMContentData som en händelse. Istället behöver du definiera en enkel callback-funktion och bifoga den direkt till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Däremot kan du skapa en underklass i NetStream och definiera din händelsehanterare i underklassen eller göra underklassen dynamisk och lägga till händelsehanterarfunktionen till en instans av underklassen.

Relaterade API-element

onImageData

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Skapar en avlyssnare som svarar när Flash Player tar emot bildinformation som en bytearray, inbäddad i mediafilen som spelas upp. Bildinformationen kan antingen skapa JPEG-, PNG- eller GIF-innehåll. Använd metoden flash.display.Loader.loadBytes() för att läsa in byte-arrayen i visningsobjektet.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

onImageData är i själva verket en egenskap för NetStream.client-objektet. Egenskapen listas i avsnittet Händelser eftersom den svarar på en datahändelse, antingen vid direktuppspelning av media med Flash Media Server eller vid uppspelning av en FLV-fil. Mer information finns i klassbeskrivningen för NetStream. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onImageData som en händelse. Definiera en enda återanropsfunktion och koppla den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Den associerade händelseavlyssnaren aktiveras efter ett anrop till metoden NetStream.play(), men innan videospelhuvudet flyttas framåt.

Händelseobjektet onImageData innehåller alla bilddata i form av en byte-array som skickas genom en AMF0-datakanal.


Exempel  ( Så här använder du exemplet )

Koden i detta exempel använder egenskapen Netstream.client för att hantera återanropsfunktioner för onTextData och onImageData. onImageDataHandler()-funktionen använder onImageData-händelseobjektet imageData för att lagra byte-arrayen. Och onTextDataHandler()-funktionen använder onTextData-händelseobjektet textData för att lagra delar av textdata (varje del är en egenskap i textData-objektet).

Du måste ersätta en absolut sökväg till en mediafil med text- eller bildmetadata för platsen ”yourURL” i koden.

Du kan också hantera bilden och texten med en anpassad klass. Mer information finns i artikeln Hantera metadata och referenspunkter i 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]);
                }
            }

        }

}

Relaterade API-element

onMetaData

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skapar en avlyssnare som svarar när den beskrivande informationen som är inbäddad i videofilen som spelas upp tas emot av Flash Player. Information om vilka videofilformat som stöds av Flash Media Server finns på www.adobe.com/go/learn_fms_fileformats_se.

onMetaData är i själva verket en egenskap för NetStream.client-objektet. Egenskapen listas i avsnittet Händelser eftersom den svarar på en datahändelse, antingen vid direktuppspelning av media med Flash Media Server eller vid uppspelning av en FLV-fil. Se NetStream-klassbeskrivningen och NetStream.client-egenskapen om du vill ha mer information. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onMetaData som en händelse. Definiera en enda återanropsfunktion och koppla den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Du kan skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Verktyget Flash Video Exporter (version 1.1 eller senare) bäddar in en videos längd, det datum filen skapades, videons datahastigheter och annan information om videon. Olika videokodare bäddar in olika uppsättningar metadata.

Den associerade händelseavlyssnaren aktiveras efter ett anrop till metoden NetStream.play(), men innan videospelhuvudet flyttas framåt.

I många fall är längdvärdet som finns inbäddat i dataflödets metadata ungefär samma som den faktiska längden, men det är inte exakt. Värdet matchar alltså inte alltid värdet för egenskapen NetStream.time när spelhuvudet är i slutet av videoflödet.

Händelseobjektet som skickas till onMetaData-händelsehanteraren innehåller en egenskap för varje datadel.


Exempel  ( Så här använder du exemplet )

I följande exempel visas hur du kan läsa in externa FLV-filer och svara på metadata och referenspunkter. Exempel från 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);
}

Relaterade API-element

onPlayStatus

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9, Flash Lite 4

Skapar en avlyssnare som svarar när ett NetStream-objekt har spelat klart ett dataflöde. Det associerade händelseobjektet tillför information utöver det som returneras av netStatus-händelsen. Du kan använda den här egenskapen för att utlösa åtgärder i programkoden när ett NetStream-objekt har växlat från en ström till en annan i en spellista (enligt informationsobjektet NetStream.Play.Switch) eller när ett NetStream-objekt har spelat till slutet (enligt informationsobjektet NetStream.Play.Complete).

onPlayStaus är i själva verket en egenskap för NetStream.client-objektet. Egenskapen listas i avsnittet Händelser eftersom den svarar på en datahändelse, antingen vid direktuppspelning av media med Flash Media Server eller vid uppspelning av en FLV-fil. Mer information finns i klassbeskrivningen för NetStream. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onPlayStatus som en händelse. Definiera en återanropsfunktion och koppla den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Denna händelse kan returnera ett informationsobjekt med följande egenskaper:

Egenskapen CodeEgenskapen LevelBetydelse
NetStream.Play.Switch"status"Prenumeranten växlas från ett flöde till ett annat i en spelningslista.
NetStream.Play.Complete"status"Uppspelningen är slutförd.
NetStream.Play.TransitionComplete"status"Mottagaren byter till en ny ström som ett resultat av att strömmens överföringshastighet ändrades

Relaterade API-element

onSeekPoint

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 2, Flash Lite 4

Anropas synkront från appendBytes() när tolken för att lägga till byte når en punkt som identifieras som sökbar (t.ex. en videonyckelbildruta). Använd den här händelsen för att konstruera en sökpunktstabell. byteCount motsvarar byteCount vid den första byten i det tolkningsbara meddelandet för den sökpunkten och återställs till noll enligt ovanstående beskrivning. Om du vill söka letar du vid händelsen NetStream.Seek.Notify upp de byte som börjar vid en sökbar punkt och anropar appendBytes(bytes). Om argumentet bytes är en ByteArray som består av byte som börjar vid den sökbar punkten spelas videon upp vid den sökpunkten.

Obs! Anrop till appendBytes() inifrån det här återanropet ignoreras.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

Egenskapen onSeekPoint är en egenskap i NetStream.client-objektet. Egenskapen listas i avsnittet med händelser eftersom den svarar på data som kommer till funktionen appendBytes(). Se NetStream-klassbeskrivningen och NetStream.client-egenskapen om du vill ha mer information. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onSeekPoint som en händelse. Om du vill använda onSeekPoint definierar du en återanropsfunktion och kopplar den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Du kan däremot skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Relaterade API-element

onTextData

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Skapar en avlyssnare som svarar när Flash Player tar emot textinformation som är inbäddad i en mediafil som spelas upp. Alla textdata är i UTF-8-format och kan innehålla information om formatering baserat på textspecifikationen 3GP timed.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

onTextData är i själva verket en egenskap för NetStream.client-objektet. Egenskapen listas i avsnittet Händelser eftersom den svarar på en datahändelse, antingen vid direktuppspelning av media med Flash Media Server eller vid uppspelning av en FLV-fil. Mer information finns i klassbeskrivningen för NetStream. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onTextData som en händelse. Definiera en återanropsfunktion och koppla den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Den associerade händelseavlyssnaren aktiveras efter ett anrop till metoden NetStream.play(), men innan videospelhuvudet flyttas framåt.

onTextData-händelseobjektet innehåller en egenskap för varje textdatadel.


Exempel  ( Så här använder du exemplet )

Koden i detta exempel använder egenskapen Netstream.client för att hantera återanropsfunktioner för onTextData och onImageData. onImageDataHandler()-funktionen använder onImageData-händelseobjektet imageData för att lagra byte-arrayen. Och onTextDataHandler()-funktionen använder onTextData-händelseobjektet textData för att lagra delar av textdata (varje del är en egenskap i textData-objektet).

Du måste ersätta en absolut sökväg till en mediafil med text- eller bildmetadata för platsen ”yourURL” i koden.

Du kan också hantera bilden och texten med en anpassad klass. Mer information finns i artikeln Hantera metadata och referenspunkter i 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]);
                }
            }

        }

}

Relaterade API-element

onXMPData

Händelse  

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Skapar en avlyssnare som svarar när Flash Player tar emot information som är specifik för Adobe Extensible Metadata Platform (XMP) och som är inbäddad i videofilen som spelas upp. Information om vilka videofilformat som stöds av Flash Media Server finns på www.adobe.com/go/learn_fms_fileformats_se.

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

onXMPData är i själva verket en egenskap för NetStream.client-objektet. Egenskapen listas i avsnittet Händelser eftersom den svarar på en datahändelse, antingen vid direktuppspelning av media med Flash Media Server eller vid uppspelning av en FLV-fil. Se NetStream-klassbeskrivningen och NetStream.client-egenskapen om du vill ha mer information. Du kan inte använda metoden addEventListener() eller någon annan EventDispatcher-metod när du ska avlyssna eller bearbeta onMetaData som en händelse. Definiera en återanropsfunktion och koppla den till något av följande objekt:

  • Objektet som egenskapen client i en NetStream-instans hänvisar till.
  • En instans av en NetStream-underklass. NetStream är en fast klass, vilket innebär att egenskaper eller metoder inte kan läggas till ett NetStream-objekt vid körningen. Du kan däremot skapa en underklass av NetStream och definiera en händelsehanterare i underklassen. Men du kan också göra underklassen dynamisk och lägga till händelsehanterarfunktionen i en instans av underklassen.

Den associerade händelseavlyssnaren aktiveras efter ett anrop till metoden NetStream.play(), men innan videospelhuvudet flyttas framåt.

Objektet som skickas till onXMPData()-händelsehanteringsfunktionen har en data-egenskap som är en sträng. Strängen genereras från en UUID-låda. (UUID:t med 128 bitar för rutan på toppnivå är BE7ACFCB-97A9-42E8-9C71-999491E3AFAC.) UUID-rutan på den toppnivå innehåller exakt ett XML-dokument, som representeras av en UTF-8-sträng som avslutas med null.

Relaterade API-element

status

Händelse  
Typ av händelseobjekt: flash.events.StatusEvent
egenskap StatusEvent.type = flash.events.StatusEvent.STATUS

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10.1, AIR 1.0, Flash Lite 4

Skickas när programmet gör ett försök att spela upp innehåll som har krypterats med DRM (Digital Rights Management), genom att anropa metoden NetStream.play(). Värdet för statuskodsegenskapen är "DRM.encryptedFLV".

Obs! Denna händelse stöds inte för H.264-video i AIR 3.0 for iOS.

Definierar värdet för ett status-händelseobjekts type-egenskap.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
kodEn beskrivning av objektets status.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
nivåMeddelandets kategori, till exempel "status", "warning" eller "error".
targetObjektet rapporterar status.

Relaterade API-element

Konstantdetaljer

CONNECT_TO_FMS

Konstant
public static const CONNECT_TO_FMS:String = "connectToFMS"

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Ett statiskt objekt används som parameter till konstruktorn för en NetStream-instans. Det är den andra parameterns standardvärde i NetStream-konstruktorn och används inte av programmet för progresssiv mediauppspelning. När parametern används styr den konstruktorn att göra en anslutning till en Flash Media Server-instans.

DIRECT_CONNECTIONS

Konstant 
public static const DIRECT_CONNECTIONS:String = "directConnections"

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 10, AIR 1.5, Flash Lite 4

Skapar en anslutning för peer-to-peer-publicering. Skicka den här strängen för den andra (valfria) parametern till konstruktorn för en NetStream-instans. Med den här strängen kan ett program skapa en NetStream-anslutning för publicering av ljud och video till klienter.

NetConnectionExample.as

I följande exempel används ett Video-objekt med klasserna NetConnection och NetStream för att läsa in och spela upp en FLV-fil.

I detta exempel är koden som skapar objekten Video och NetStream samt anropar metoderna Video.attachNetStream() och NetStream.play() placerad i en hanterarfunktion. Hanteraren anropas endast om anslutningsförsöket till objektet NetConnection lyckades; d.v.s. om händelsen netStatus returnerar ett info-objekt med egenskapen code som anger att anslutningen gick bra. Du rekommenderas att vänta tills anslutningen är genomförd innan du anropar NetStream.play().

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

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

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

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

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

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

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

Du kan hämta metadata med en funktion, i stället för att skapa en anpassad klass. Följande förslag, från Bill Sanders, visar hur du redigerar NetConnectionExample-koden ovan för att anropa metadata i en funktion. I det här fallet används objektet mdata för att ange höjd och bredd på videoinstansen video:
  //Place the following in the connectStream() function
  //in the NetConnectionExample code
  var metaSniffer:Object=new Object();  
  stream.client=metaSniffer; //stream is the NetStream instance  
  metaSniffer.onMetaData=getMeta;  
      
   
  // Add the following function within the NetConnectionExample class  
  private function getMeta (mdata:Object):void  
  {  
     video.width=mdata.width/2;  
     video.height=mdata.height/2;  
  }  




[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.