Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: AIR 30.0 e versioni precedenti, Flash Player 30.0 e versioni precedenti, Flash Lite 4
Flex 4.6 e versioni precedenti, Flash Pro CS6 e versioni precedenti
Nascondi filtri
flash.net 

NetStream  - AS3

Pacchettix

Primo livello
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

Elementi del linguaggio

Costanti globali
Funzioni globali
Operatori
Istruzioni, parole chiave e direttive
Tipi speciali

Appendici

Novità
Errori del compilatore
Avvisi del compilatore
Errori runtime
Migrazione a ActionScript 3
Set di caratteri supportati
Tag solo di MXML
Elementi XML di Motion
Tag Timed Text
Elenco degli elementi obsoleti
Costanti di implementazione dell’accessibilità
Utilizzare gli esempi ActionScript
Note legali
Pacchettoflash.net
Classepublic class NetStream
EreditarietàNetStream Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

La classe NetStream apre un canale di streaming a una via su una connessione NetConnection.

Utilizzate la classe NetStream per le seguenti operazioni:

  • Chiamate NetStream.play() per riprodurre un file multimediale da un disco locale, un server Web o Flash Media Server.
  • Chiamate NetStream.publish() per pubblicare un flusso video, audio e di dati su Flash Media Server.
  • Chiamate NetStream.send() per inviare messaggi di dati a tutti i client che hanno effettuato la sottoscrizione.
  • Chiamate NetStream.send() per aggiungere metadati a un flusso dal vivo.
  • Chiamate NetStream.appendBytes() per passare dati ByteArray nel NetStream.

Nota: non è possibile riprodurre e pubblicare un flusso sullo stesso oggetto NetStream.

Adobe AIR e Flash Player 9.0.115.0 e versioni successive supportano file derivati dal formato contenitore MPEG-4 standard. Questi file includono F4V, MP4, M4A, MOV, MP4V, 3GP e 3G2, se contengono video H.264 o audio codificato HEAAC v2, o entrambi. H.264 fornisce un video di qualità superiore a velocità di trasferimento più basse se confrontate con lo stesso profilo di codifica in Sorenson oppure On2. AAC è un formato audio standard definito nello standard video MPEG-4. HE-AAC v2 è un estensione di AAC che usa le tecniche Spectral Band Replication (SBR) e Parametric Stereo (PS) per aumentare l'efficienza di codifica a velocità di trasferimento ridotte.

Per ulteriori informazioni sui codec e formati di dati supportati, consultate i seguenti riferimenti:

Ricezione di dati da un flusso Flash Media Server o da un file F4V o FLV a scaricamento progressivo

Flash Media Server e i file FV4 e FLV possono inviare oggetti evento contenenti dati per punti dati specifici durante lo streaming o la riproduzione. Potete gestire i dati da un flusso o da un file FLV durante la riproduzione in due modi:

  • Associate una proprietà client con un gestore di eventi per ricevere l'oggetto di dati. Utilizzate la proprietà NetStream.client per assegnare un oggetto per la chiamata di specifiche funzioni di gestione dei dati. L'oggetto assegnato alla proprietà NetStream.client può intercettare i seguenti punti dati: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() e onXMPData(). Scrivete delle procedure all'interno di tali funzioni per gestire l'oggetto di dati restituito dal flusso durante la riproduzione. Per ulteriori informazioni, fate riferimento alla proprietà NetStream.client.
  • Associate una proprietà client con una sottoclasse della classe NetStream, quindi scrivete un gestore di eventi per ricevere l'oggetto di dati. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Potete tuttavia creare una sottoclasse di NetStream e definire il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere il gestore di eventi a un'istanza della sottoclasse.

Attendete di aver ricevuto un evento NetGroup.Neighbor.Connect prima di utilizzare la replicazione degli oggetti, l'instradamento diretto o l'invio di API.

Nota: per inviare dati tramite un file audio, ad esempio un file MP3, utilizzate la classe Sound per associare il file audio a un oggetto Sound. Utilizzate quindi la proprietà Sound.id3 per leggere i metadati dal file audio.

Supporto per video con codifica H.264 in AIR for iOS

Per il video H.264, AIR 3.0 (e versioni successive) per iOS supporta un sottoinsieme dell'API NetStream completa. La tabella seguente elenca i membri NetStream per la riproduzione che non sono supportati in AIR for iOS:

Proprietà non supportateMetodi non supportatiEventi non supportati
bufferTimeappendBytes()onCuePoint (funziona solo con i file FLV)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayCodice evento di stato DRM.encryptedFLV
maxPauseBufferTime
soundTransform
Tutte le proprietà che descrivono connessioni RTMFP

Per ulteriori informazioni sull’uso di AIR per iOS, vedete il metodo NetStream.play().

Vedere gli esempi

Altri esempi

Altre informazioni

Elementi API correlati



Proprietà pubbliche
 ProprietàDefinito da
  audioReliable : Boolean
Per le connessioni RTMFP, specifica se l'audio viene inviato con affidabilità completa.
NetStream
  audioSampleAccess : Boolean
Per le connessioni RTMFP, specifica se i sottoscrittori peer-to-peer di questo NetStream sono autorizzati da acquisire il flusso audio
NetStream
  backBufferLength : Number
[sola lettura] Il numero di secondi durante i quali i dati precedentemente visualizzati rimangono memorizzati nella cache per operazioni di riavvolgimento e riproduzione
NetStream
  backBufferTime : Number
Specifica la quantità di dati precedentemente visualizzati, in secondi, che Flash Player tenta di memorizzare nella cache per operazioni di riavvolgimento e riproduzione.
NetStream
  bufferLength : Number
[sola lettura] Il numero di secondi di dati che si trovano attualmente nel buffer.
NetStream
  bufferTime : Number
Specifica per quanto tempo i messaggi devono essere inseriti nel buffer prima che inizi la visualizzazione dello streaming.
NetStream
  bufferTimeMax : Number
Specifica la lunghezza massima del buffer, in secondi, per il contenuto in streaming dal vivo.
NetStream
  bytesLoaded : uint
[sola lettura] Il numero di byte di dati che sono stati caricati nell'applicazione.
NetStream
  bytesTotal : uint
[sola lettura] Le dimensioni totali, espresse in byte, del file che si sta caricando nell'applicazione.
NetStream
  checkPolicyFile : Boolean
Specifica se l'applicazione tenta di scaricare un file dei criteri dei domini dal server del file video caricato prima di iniziare a caricare il file video stesso.
NetStream
  client : Object
Specifica l'oggetto su cui vengono richiamati i metodi di callback per gestire lo streaming o i dati del file F4V/FLV.
NetStream
 Inheritedconstructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  currentFPS : Number
[sola lettura] Il numero di fotogrammi al secondo visualizzati.
NetStream
  dataReliable : Boolean
Per le connessioni RTMFP, specifica se le chiamate NetStream.send() vengono inviate con affidabilità completa.
NetStream
  farID : String
[sola lettura] Per le connessioni RTMFP, l'identificatore dell'estremità connessa a questa istanza NetStream.
NetStream
  farNonce : String
[sola lettura] Per le connessioni RTMFP e RTMPE, valore scelto sostanzialmente dall'altra estremità di questo flusso, specifico per questa connessione
NetStream
  inBufferSeek : Boolean
Specifica se i dati visualizzati vengono memorizzati (TRUE) o meno (FALSE) nella cache per la ricerca intelligente.
NetStream
  info : NetStreamInfo
[sola lettura] Restituisce un oggetto NetStreamInfo le cui proprietà contengono statistiche sulla qualità del servizio.
NetStream
  liveDelay : Number
[sola lettura] Il numero di secondi di dati nel buffer dello streaming in subscribing in modalità dal vivo (senza buffer).
NetStream
  maxPauseBufferTime : Number
Specifica per quanto tempo i messaggi devono essere inseriti nel buffer durante la modalità di pausa, in secondi.
NetStream
  multicastAvailabilitySendToAll : Boolean
Per le connessioni RTMFP, specifica se i messaggi di disponibilità dei frammenti multicast peer-to-peer vengono inviati a tutti i peer o soltanto a uno.
NetStream
  multicastAvailabilityUpdatePeriod : Number
Per le connessioni RTMFP, specifica l'intervallo in secondi tra i messaggi inviati ai peer per segnalare che il nodo locale contiene nuovi frammenti multimediali multicast peer-to-peer disponibili
NetStream
  multicastFetchPeriod : Number
Per le connessioni RTMFP, specifica l'intervallo in secondi tra il momento in cui il nodo locale rileva che un frammento multimediale multicast peer-to-peer è disponibile e quello in cui tenta di prelevarlo da un peer.
NetStream
  multicastInfo : NetStreamMulticastInfo
[sola lettura] Per le connessioni RTMFP, restituisce un oggetto NetStreamMulticastInfo le cui proprietà contengono statistiche sulla qualità del servizio
NetStream
  multicastPushNeighborLimit : Number
Per le connessioni RTMFP, specifica il numero massimo di peer ai quali devono essere inviati proattivamente in push i contenuti multimediali multicast.
NetStream
  multicastRelayMarginDuration : Number
Per le connessioni RTMFP, specifica la durata in secondi del periodo in cui i dati multicast peer-to-peer rimangono disponibili per l'invio ai peer che li richiedono oltre un determinato intervallo di tempo.
NetStream
  multicastWindowDuration : Number
Per le connessioni RTMFP, specifica la durata in secondi della finestra di riassemblaggio multicast peer-to-peer.
NetStream
  nearNonce : String
[sola lettura] Per le connessioni RTMFP e RTMPE, valore scelto sostanzialmente da questa estremità del flusso, specifico per questa connessione.
NetStream
  objectEncoding : uint
[sola lettura] La codifica oggetto (versione AMF) per questo oggetto NetStream.
NetStream
  peerStreams : Array
[sola lettura] Un oggetto che contiene tutte le istanze NetStream di sottoscrizione in attesa di questa istanza NetStream di pubblicazione.
NetStream
  soundTransform : flash.media:SoundTransform
Controlla l'audio in questo oggetto NetStream.
NetStream
  time : Number
[sola lettura] La posizione dell'indicatore di riproduzione, espressa in secondi.
NetStream
  useHardwareDecoder : Boolean
Specifica se utilizzare la decodifica con accelerazione hardware sullo streaming.
NetStream
  useJitterBuffer : Boolean
Riduce al minimo la latenza per lo streaming live senza bufferizzazione (bufferTime = 0).
NetStream
  videoReliable : Boolean
Per le connessioni RTMFP, specifica se il video viene inviato con affidabilità completa.
NetStream
  videoSampleAccess : Boolean
Per le connessioni RTMFP, specifica se i sottoscrittori peer-to-peer di questo NetStream sono autorizzati da acquisire il flusso video.
NetStream
  videoStreamSettings : VideoStreamSettings
Specifica le proprietà di compressione del flusso.
NetStream
Metodi pubblici
 MetodoDefinito da
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Crea un flusso che potete utilizzare per riprodurre file multimediali e inviare dati tramite un oggetto NetConnection.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
  
Passa un ByteArray in un NetStream per la riproduzione.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Indica una discontinuità della scala temporale, scarica il FIFO e segnala al parser di byte di attendere un'intestazione di file o l'inizio di un tag FLV.
NetStream
  
Associa un flusso a un nuovo oggetto NetConnection.
NetStream
  
Associa uno streaming audio a un oggetto NetStream, da un oggetto Microphone passato come origine.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Inizia a catturare il video da una videocamera, oppure interrompe la cattura se l'impostazione theCamera è impostata su null.
NetStream
  
Interrompe la riproduzione di tutti i dati dello streaming, imposta la proprietà time su 0 e rende lo streaming disponibile per un altro uso.
NetStream
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
  
Rilascia tutte le risorse impegnate dall'oggetto NetStream.
NetStream
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
  
Richiamato quando uno streaming di pubblicazione peer corrisponde a uno streaming di sottoscrizione peer.
NetStream
  
Sospende la riproduzione di uno streaming video.
NetStream
  
play(... arguments):void
Riproduce un file multimediale da una directory locale o da un server Web; riproduce un file multimediale o uno streaming dal vivo da Flash Media Server.
NetStream
  
Passa direttamente tra file con più velocità di trasmissione e consente a NetStream di riprendere la riproduzione quando una connessione si interrompe e viene riconnessa.
NetStream
  
Estrae i metadati DRM presenti in un file multimediale archiviato localmente.
NetStream
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
  
publish(name:String = null, type:String = null):void
Invia lo streaming audio, video e dei messaggi di dati da un client a un Flash Media server, con l'opzione di registrazione dello streaming nel corso della trasmissione.
NetStream
  
Specifica se l'audio in entrata viene riprodotto nello streaming.
NetStream
  
Specifica se il video in entrata viene riprodotto nel flusso.
NetStream
  
Specifica la frequenza fotogrammi del video in entrata.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
  
[statico] Nelle applicazioni AIR, elimina tutti i dati del voucher DRM (Digital Rights Management) memorizzati nella cache locale.
NetStream
  
riprende la riproduzione di uno streaming video in pausa.
NetStream
  
seek(offset:Number):void
Cerca il fotogramma chiave (anche chiamato I-frame nell'industria video) più vicino alla posizione specificata.
NetStream
  
send(handlerName:String, ... arguments):void
Invia un messaggio su uno streaming pubblicato a tutti i client che hanno effettuato il subscribing.
NetStream
  
Imposta le credenziali di autenticazione DRM necessarie per visualizzare il contenuto crittografato sottostante.
NetStream
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
  
step(frames:int):void
Avanza o retrocede del numero di fotogrammi specificato rispetto al fotogramma attualmente visualizzato.
NetStream
  
Sospende o riprende la riproduzione di un flusso.
NetStream
 Inherited
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo.EventDispatcher
  Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo.NetStream
 Inherited[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo.EventDispatcher
  Inviato quando un oggetto NetStream tenta di riprodurre un contenuto con crittografia DRM che per essere riprodotto richiede una credenziale utente come autenticazione.NetStream
  Inviato quando un oggetto NetStream che tenta di riprodurre un file con crittografia DRM incontra un errore relativo al DRM.NetStream
  Inviato quando il contenuto con codifica DRM (Digital Rights Management) inizia la riproduzione (quando l'utente è stato autenticato e autorizzato a riprodurre il contenuto).NetStream
  Inviato quando si verifica un errore di input o di output che impedisce l'operazione di rete.NetStream
  Inviato quando si riproduce contenuto video e si elaborano alcuni tipi di messaggi.NetStream
  Inviato quando un oggetto NetStream segnala il proprio stato o una condizione di errore.NetStream
  Definisce un listener per rispondere quando si raggiunge un cue point incorporato durante la riproduzione di un file video.NetStream
  Definisce un listener che risponde quando AIR estrae i metadati del contenuto DRM incorporati in un file multimediale.NetStream
  Definisce un listener per rispondere quando Flash Player riceve dati dell'immagine come array di byte incorporato in un file multimediale in riproduzione.NetStream
  Definisce un listener per rispondere quando Flash Player riceve informazioni descrittive incorporate nel video in riproduzione.NetStream
  Definisce un listener per rispondere quando un oggetto NetStream ha completato la riproduzione di un flusso.NetStream
  Chiamato in modo sincrono da appendBytes() quando il parser di byte incontra un punto che viene valutato come punto ricercabile (ad es. un fotogramma chiave video).NetStream
  Definisce un listener per rispondere quando Flash Player riceve dati di testo incorporati in un file multimediale in riproduzione.NetStream
  Definisce un listener per rispondere quando Flash Player riceve informazioni specifiche di Adobe Extensible Metadata Platform (XMP) incorporate nel video in riproduzione.NetStream
  Inviato quanto l'applicazione tenta di riprodurre il contenuto con crittografia DRM richiamando il metodo NetStream.play().NetStream
Costanti pubbliche
 CostanteDefinito da
  CONNECT_TO_FMS : String = "connectToFMS"
[statico] Un oggetto statico utilizzato come parametro della funzione di costruzione per un'istanza NetStream.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[statico] Crea una connessione publisher da peer a peer.
NetStream
Descrizione delle proprietà

audioReliable

proprietà
audioReliable:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica se l'audio viene inviato con affidabilità completa. Se è TRUE, tutto l'audio trasmesso tramite questo NetStream è completamente affidabile. Se FALSE, l'audio trasmesso non è completamente affidabile, ma viene ritrasmesso per un periodo limitato e quindi eliminato. Potete utilizzare il valore FALSE per ridurre la latenza, ma a scapito della qualità dell'audio.

Se tentate di impostare questa proprietà su FALSE su un protocollo di rete che non supporta l'affidabilità parziale, il tentativo viene ignorato e la proprietà impostata su TRUE.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

audioSampleAccess

proprietà 
audioSampleAccess:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica se i sottoscrittori peer-to-peer di questo NetStream sono autorizzati da acquisire il flusso audio Se FALSE, il sottoscrittore tenta di acquisire il flusso audio che presenta errori di autorizzazione.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

backBufferLength

proprietà 
backBufferLength:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Il numero di secondi durante i quali i dati precedentemente visualizzati rimangono memorizzati nella cache per operazioni di riavvolgimento e riproduzione

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.

Questa proprietà è disponibile solo durante lo streaming dei dati fa Flash Media Server 3.5.3 o versioni successive; per ulteriori informazioni su Flash Media Server, vedete la descrizione della classe.

Per specificare la quantità di dati precedentemente memorizzati nella cache, utilizzate la proprietà Netstream.backBufferTime.

Per impedire che i dati vengano memorizzati nella cache, impostate la proprietà Netstream.inBufferSeek su FALSE.



Implementazione
    public function get backBufferLength():Number

Elementi API correlati

backBufferTime

proprietà 
backBufferTime:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Specifica la quantità di dati precedentemente visualizzati, in secondi, che Flash Player tenta di memorizzare nella cache per operazioni di riavvolgimento e riproduzione. Il valore predefinito è 30 secondi per le applicazioni desktop e 3 secondi per le applicazioni mobili.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.

Questa proprietà è disponibile solo durante lo streaming dei dati da Flash Media Server versione 3.5.3 o successive; per ulteriori informazioni su Flash Media Server, vedete la descrizione della classe.

L'utilizzo di questa proprietà migliora le prestazioni delle operazioni di riavvolgimento, in quanto i dati già visualizzati non vengono recuperati di nuovo dal server. La riproduzione del flusso inizia invece dal buffer. Durante la riproduzione, lo streaming dei dati dal server continua finché il buffer non è pieno.

Se la posizione di riavvolgimento è molto più indietro rispetto ai dati nella cache, il buffer viene svuotato; lo streaming dei dati viene quindi ripreso dal server nella posizione richiesta.

Per utilizzare questa proprietà, impostate la proprietà Netstream.inBufferSeek su TRUE.



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

Elementi API correlati

bufferLength

proprietà 
bufferLength:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Il numero di secondi di dati che si trovano attualmente nel buffer. È possibile utilizzare questa proprietà con la proprietà bufferTime per stimare quanti secondi mancano al riempimento completo del buffer; ad esempio, per visualizzare un feedback a un utente che attende il caricamento dei dati nel buffer.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get bufferLength():Number

Elementi API correlati

bufferTime

proprietà 
bufferTime:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica per quanto tempo i messaggi devono essere inseriti nel buffer prima che inizi la visualizzazione dello streaming.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.

Il valore predefinito è 0,1, ovvero un decimo di secondo. Per determinare il numero di secondi attualmente presenti nel buffer, utilizzate bufferLength.

Per riprodurre una playlist server-side, impostate bufferTime almeno su 1 secondo. Se incontrate problemi di riproduzione, incrementate la lunghezza di bufferTime.

Contenuto registrato Per evitare distorsioni durante lo streaming di contenuto preregistrato (non dal vivo), evitate di impostare il valore di Netstream.bufferTime su 0. Per impostazione predefinita, l'applicazione utilizza un buffer di input per il contenuto che inserisce in coda i dati multimediali e riproduce correttamente il contenuto multimediale. Per il contenuto preregistrato, utilizzate l'impostazione predefinita o aumentate il tempo di bufferizzazione.

Contenuto dal vivo Quando eseguite lo streaming di un contenuto dal vivo, impostate la proprietà bufferTime su 0.

A partire da Flash Player 9.0.115.0, Flash Player non cancella più il buffer quando viene effettuata una chiamata a NetStream.pause(). Prima di Flash Player 9.0.115.0, Flash Player attendeva il riempimento del buffer prima di riprendere la riproduzione, e ciò spesso provocava un ritardo.

Per una pausa singola, la proprietà NetStream.bufferLength ha un limite impostato su 60 secondi o sul doppio del valore di NetStream.bufferTime, a seconda di quale dei due sia il valore più alto. Ad esempio, se bufferTime è 20 secondi, Flash Player effettua il buffering fino a quando NetStream.bufferLength ha un valore più elevato rispetto a 20*2 (40) o 60: In questo caso, fino a quando bufferLength è 60. Se bufferTime è 40 secondi, Flash Player effettua il buffering fino a quando bufferLength ha un valore più alto rispetto a 40*2 (80) o 60. In questo caso, fino a quando bufferLength è 80 secondi.

Anche la proprietà bufferLength ha un limite assoluto. Se una chiamata a pause() provoca un aumento di bufferLength oltre 600 secondi o il valore bufferTime * 2 (a seconda di quale valore sia il più elevato), Flash Player svuota il buffer e reimposta bufferLength su 0. Ad esempio, se bufferTime è 120 secondi, Flash Player svuota il buffer se bufferLength raggiunge 600 secondi; se bufferTime è 360 secondi, Flash Player svuota il buffer se bufferLength raggiunge 720 secondi.

Suggerimento: potete utilizzare NetStream.pause() nel codice per effettuare il buffering dei dati ad esempio mentre l'utente guarda un filmato pubblicitario e successivamente riprendere la riproduzione quando comincia il video principale.

Per ulteriori informazioni sul nuovo comportamento della pausa, visitate http://www.adobe.com/go/learn_fms_smartpause_it.

Flash Media Server. Il comportamento del buffer varia a seconda che il tempo del buffer sia impostato su uno stream di pubblicazione o su uno stream in subscribing. Per uno stream di pubblicazione bufferTime specifica per quanto tempo il buffer in uscita può aumentare di dimensioni prima che l'applicazione cominci a eliminare fotogrammi. Nelle connessioni ad alta velocità, il tempo del buffer non costituisce un problema; i dati vengono inviati a una velocità quasi pari a quella impiegata dall'applicazione per inviarli al buffer. Nelle connessioni lente, tuttavia, si può verificare una differenza significativa tra la velocità di invio dei dati al buffer da parte dell'applicazione e la velocità di invio al client.

Negli stream in subscribing bufferTime specifica per quanto tempo il buffer deve ritenere i dati prima di avviare la visualizzazione dello stream.

Nel corso della riproduzione di uno stream registrato, se bufferTime è 0, Flash lo imposta su un valore molto basso (di circa 10 millisecondi). Se gli stream live vengono riprodotti in un secondo momento (ad esempio da una lista di riproduzione) questo tempo del buffer permane. Quindi il valore bufferTime dello stream è diverso da zero.



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

Elementi API correlati

bufferTimeMax

proprietà 
bufferTimeMax:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Specifica la lunghezza massima del buffer, in secondi, per il contenuto in streaming dal vivo. Il valore predefinito è 0. La lunghezza del buffer può crescere con il tempo a causa di problemi di rete e dei dispositivi (ad esempio una desincronizzazione del clock tra mittente e ricevente). Impostate questa proprietà per limitare la lunghezza del buffer per le applicazioni dal vivo, ad esempio conferenze e sorveglianza.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.

Quando bufferTimeMax > 0 e bufferLength >= bufferTimeMax, l'audio viene riprodotto più velocemente finché bufferLength non raggiunge bufferTime. Se lo streaming dal vivo è solo video, questo viene riprodotto più velocemente finché bufferLength raggiunge bufferTime.

In base alla quantità di contenuto in riproduzione in ritardo (la differenza tra bufferLength e bufferTime), Flash Player controlla la velocità di recupero tra 1,5% e 6,25%. Se il flusso contiene audio, la maggiore velocità di riproduzione viene ottenuta mediante il downsampling del dominio delle frequenze che riduce al minimo la distorsione udibile.

Impostate la proprietà bufferTimeMax per attivare il recupero dei flussi di streaming dal vivo bufferizzati nei seguenti casi:

  • Streaming dal vivo di contenuti multimediali da Flash Media Server.
  • Streaming dal vivo di contenuti multimediali in modlità di generazione dati (NetStream.appendBytes()).



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

Elementi API correlati

bytesLoaded

proprietà 
bytesLoaded:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Il numero di byte di dati che sono stati caricati nell'applicazione. È possibile utilizzare questa proprietà con la proprietà bytesTotal per stimare quanto manca al riempimento completo del buffer; ad esempio, per visualizzare feedback per un utente che attende il caricamento dei dati nel buffer.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get bytesLoaded():uint

Elementi API correlati

bytesTotal

proprietà 
bytesTotal:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Le dimensioni totali, espresse in byte, del file che si sta caricando nell'applicazione.



Implementazione
    public function get bytesTotal():uint

Elementi API correlati

checkPolicyFile

proprietà 
checkPolicyFile:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Specifica se l'applicazione tenta di scaricare un file dei criteri dei domini dal server del file video caricato prima di iniziare a caricare il file video stesso. Utilizzate questa proprietà per il download progressivo dei video e per caricare file che si trovano all'esterno del dominio del file SWF chiamante. Questa proprietà viene ignorata quando si utilizza RTMP.

Impostate questa proprietà su true per chiamare BitmapData.draw() su un file video caricato da un dominio esterno a quello del file SWF chiamante. Il metodo BitmapData.draw() fornisce l'accesso al video a livello di pixel. Se chiamate BitmapData.draw() senza impostare la proprietà checkPolicyFile su true al momento del caricamento, potete ricevere un'eccezione SecurityError, dal momento che il file dei criteri richiesto non è stato scaricato.

Non impostate questa proprietà su true a meno che non desideriate l'accesso a livello di pixel al video che state caricando. La verifica di un file dei criteri consuma l'ampiezza di banda della rete e può ritardare l'avvio del download.

Quando chiamate il metodo NetStream.play() con checkPolicyFile impostato su true, Flash Player o il runtime di AIR deve scaricare correttamente un file dei criteri dei domini pertinente oppure determinare che tale file dei criteri non esiste prima di iniziare il download. Per verificare l'esistenza di un file dei criteri, Flash Player o il runtime di AIR esegue le azioni seguenti, nell'ordine indicato:

  1. L'applicazione esamina i file di criteri che sono già stati scaricati.
  2. L'applicazione tenta di scaricare gli eventuali file dei criteri in sospeso specificati nelle chiamate al metodo Security.loadPolicyFile().
  3. L'applicazione tenta di scaricare un file dei criteri dalla posizione predefinita che corrisponde all'URL che è stato passato a NetStream.play(), che è /crossdomain.xml sullo stesso server dell'URL.

In tutti i casi, Flash Player o Adobe AIR richiede sia presente un file dei criteri appropriati sul server del video, che venga fornito l'accesso all'oggetto in corrispondenza dell'URL che è stato passato a play() in base alla posizione del file dei criteri e che sia consentito al dominio del file chiamante di accedere al video, per mezzo di uno o più tag <allow-access-from>.

Se impostate checkPolicyFile su true, prima di scaricare il video l'applicazione attende che venga verificato il file dei criteri. Attendete prima di eseguire qualsiasi operazione a livello di pixel sui dati video, ad esempio una chiamata a BitmapData.draw(), fino a quando non ricevete l'evento onMetaData o NetStatus dall'oggetto NetStream.

Se impostate checkPolicyFile su true ma non viene trovato alcun file dei criteri pertinente, non ricevete un errore finché non eseguite un'operazione che richiede un file di criteri; a quel punto l'applicazione genera un'eccezione SecurityError.

Prestate particolare attenzione con checkPolicyFile se scaricate un file da un URL che utilizza i reindirizzamenti HTTP lato server. L'applicazione tenta di recuperare i file dei criteri che corrispondono all'URL iniziale specificato in NetStream.play(). Se il file finale proviene da un URL diverso a causa dei reindirizzamenti HTTP, il file dei criteri inizialmente scaricato potrebbe non essere valido per l'URL finale del file, cioè l'URL che viene considerato nelle decisioni relative alla sicurezza.

Per ulteriori informazioni sui file di criteri, vedete il capitolo "Controlli del sito Web (file di criteri)" nella nella Guida per gli sviluppatori di ActionScript 3.0 e l'argomento nel Centro per sviluppatori Flash Player: Security (Sicurezza).



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

Altre informazioni

Elementi API correlati

client

proprietà 
client:Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica l'oggetto su cui vengono richiamati i metodi di callback per gestire lo streaming o i dati del file F4V/FLV. L'oggetto predefinito è this, l'oggetto NetStream che si sta creando. Se impostate la proprietà client su un altro oggetto, i metodi di callback vengono richiamati su tale oggetto. L'oggetto NetStream.client può chiamare le seguenti funzioni e ricevere un oggetto di dati associato: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() e onXMPData().

Per associare le proprietà client con un gestore di eventi:

  1. Create un oggetto e assegnatelo alla proprietà client dell'oggetto NetStream:
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Assegnate una funzione del gestore per l'evento di dati desiderato come proprietà dell'oggetto client:
         customClient.onImageData = onImageDataHandler;
         
  3. Scrivete la funzione del gestore per ricevere l'oggetto evento Data, ad esempio:
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

Quando i dati vengono passati attraverso il flusso o durante la riproduzione, l'oggetto evento Data (in questo caso l'oggetto imageData) viene compilato con i dati. Fate riferimento alla descrizione di onImageData, che include un esempio completo di un oggetto assegnato alla proprietà client.

Per associare le proprietà client con una sottoclasse:

  1. Create una sottoclasse con una funzione del gestore per ricevere l'oggetto evento Data:
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Assegnate un'istanza della sottoclasse alla proprietà client dell'oggetto NetStream:
         my_netstream.client = new CustomClient();
         

Quando i dati vengono passati attraverso il flusso o durante la riproduzione, l'oggetto evento Data (in questo caso l'oggetto info) viene compilato con i dati. Fare riferimento all'esempio di classe alla fine della classe NetStream, che mostra l'assegnazione di un'istanza di sottoclasse alla proprietà client.



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

Genera
TypeError — La proprietà client deve essere impostata su un oggetto diverso da null.

Elementi API correlati

currentFPS

proprietà 
currentFPS:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Il numero di fotogrammi al secondo visualizzati. Se esportate file video da riprodurre su una certa quantità di sistemi, potete verificare questo valore durante la fase di prova per determinare la quantità di compressione da applicare durante l'esportazione del file.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get currentFPS():Number

dataReliable

proprietà 
dataReliable:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica se le chiamate NetStream.send() vengono inviate con affidabilità completa. Se è TRUE, le chiamate NetStream.send() trasmesse tramite questo NetStream sono completamente affidabili. Se FALSE, le chiamate NetStream.send() non vengono trasmesse con affidabilità completa, ma vengono ritrasmesse per un periodo limitato e quindi eliminate. Potete impostare questo valore su FALSE per ridurre la latenza, ma a scapito della qualità dei dati.

Se tentate di impostare questa proprietà su FALSE su un protocollo di rete che non supporta l'affidabilità parziale, il tentativo viene ignorato e la proprietà impostata su TRUE.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

farID

proprietà 
farID:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5

Per le connessioni RTMFP, l'identificatore dell'estremità connessa a questa istanza NetStream.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get farID():String

farNonce

proprietà 
farNonce:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5

Per le connessioni RTMFP e RTMPE, valore scelto sostanzialmente dall'altra estremità di questo flusso, specifico per questa connessione Questo valore viene visualizzato all'altra estremità del flusso come valore nearNonce.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get farNonce():String

inBufferSeek

proprietà 
inBufferSeek:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Specifica se i dati visualizzati vengono memorizzati (TRUE) o meno (FALSE) nella cache per la ricerca intelligente. Il valore predefinito è FALSE.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.

Il supporto della ricerca intelligente richiede l'interazione tra Flash Media Server 3.5.3 e Flash Player 10.1. Per la ricerca intelligente, vengono utilizzati i buffer indietro e avanti, senza richiedere dati al server. Per la ricerca standard, i dati nel buffer vengono cancellati e viene chiesto al server di inviare nuovi dati in base al tempo di ricerca.

Chiamate NetStream.step() per avanzare o retrocedere di un numero di fotogrammi specificato. Chiamare NetStream.seek() per cercare avanti o indietro di un numero di secondi specificato.

La ricerca intelligente riduce il carico del server e migliora le prestazioni della ricerca. Impostate inBufferSeek=true e chiamate step() e seek() per creare:

  • Funzionalità DVR sul lato client. Potete cercare nel buffer sul lato client, anziché ricorrere al server per la visualizzazione di nuovo video.
  • Modalità avanzate. Potete creare lettori che scorrono fotogrammi, avvolgono e riavvolgono velocemente e avanzano al rallentatore.

Quando inBufferSeek=true e una chiamata a NetStream.seek() ha esito positivo, la proprietà NetStatusEvent info.description contiene la stringa "client-inBufferSeek".

Quando una chiamata a NetStream.step() ha esito positivo, la proprietà NetStatusEvent info.code contiene la stringa "NetStream.Step.Notify".



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

Elementi API correlati

info

proprietà 
info:NetStreamInfo  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Restituisce un oggetto NetStreamInfo le cui proprietà contengono statistiche sulla qualità del servizio. L'oggetto è un'istantanea dello stato corrente.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get info():NetStreamInfo

Elementi API correlati

liveDelay

proprietà 
liveDelay:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Il numero di secondi di dati nel buffer dello streaming in subscribing in modalità dal vivo (senza buffer). Questa proprietà specifica il ritardo nella trasmissione di rete corrente (lag time).

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.

Questa proprietà è destinata principalmente all'utilizzo con un server, quale Flash Media Server; per ulteriori informazioni, vedete la descrizione della classe.

È possibile ottenere il valore di questa proprietà per misurare in modo approssimativo la qualità di trasmissione dello streaming e comunicarla all'utente.



Implementazione
    public function get liveDelay():Number

maxPauseBufferTime

proprietà 
maxPauseBufferTime:Number

Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Specifica per quanto tempo i messaggi devono essere inseriti nel buffer durante la modalità di pausa, in secondi. Questa proprietà può essere utilizzata per limitare la quantità di buffering durante la modalità di pausa. Non appena il valore di NetStream.bufferLength raggiunge questo limite, interrompe il buffering.

Se il valore non è impostato, l'impostazione predefinita è 60 secondi o due volte il valore di NetStream.bufferTime in ogni pausa, a seconda di quale valore sia il più elevato.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

multicastAvailabilitySendToAll

proprietà 
multicastAvailabilitySendToAll:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica se i messaggi di disponibilità dei frammenti multicast peer-to-peer vengono inviati a tutti i peer o soltanto a uno. Un valore TRUE specifica che i messaggi vengono inviati a tutti i peer, una volta per ogni intervallo specificato. Un valore FALSE specifica che i messaggi vengono inviati a un solo peer per ogni intervallo specificato. L'intervallo è determinato dalla proprietà multicastAvailabilityUpdatePeriod.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

multicastAvailabilityUpdatePeriod

proprietà 
multicastAvailabilityUpdatePeriod:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica l'intervallo in secondi tra i messaggi inviati ai peer per segnalare che il nodo locale contiene nuovi frammenti multimediali multicast peer-to-peer disponibili Valori maggiori possono aumentare l'efficienza del batching e ridurre il sovraccarico di controllo, ma possono ridurre la qualità all'estremità ricevente riducendo il tempo disponibile per recuperare i frammenti prima della scadenza dell'intervallo. Valori inferiori possono ridurre la latenza e migliorare la qualità, aumentando tuttavia il sovraccarico dovuto al controllo.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

multicastFetchPeriod

proprietà 
multicastFetchPeriod:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica l'intervallo in secondi tra il momento in cui il nodo locale rileva che un frammento multimediale multicast peer-to-peer è disponibile e quello in cui tenta di prelevarlo da un peer. Questo valore offre l'opportunità di inviare proattivamente in push il frammento al nodo locale, prima che venga effettuato il tentativo di prelievo da un peer. Consente inoltre a più peer di segnalare la disponibilità del frammento, in modo che il carico dovuto al prelievo venga distribuito tra più peer.

Valori maggiori possono migliorare il bilanciamento del carico e l'omogeneità nella rete peer-to-peer, riducendo tuttavia il valore multicastWindowDuration disponibile e aumentando la latenza. Valori inferiori possono ridurre la latenza quando è richiesto il prelievo, ma possono aumentare la ricezione di dati duplicati e ridurre il bilanciamento del carico sulla rete peer-to-peer.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

multicastInfo

proprietà 
multicastInfo:NetStreamMulticastInfo  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, restituisce un oggetto NetStreamMulticastInfo le cui proprietà contengono statistiche sulla qualità del servizio L'oggetto è un'istantanea dello stato corrente.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get multicastInfo():NetStreamMulticastInfo

Elementi API correlati

multicastPushNeighborLimit

proprietà 
multicastPushNeighborLimit:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica il numero massimo di peer ai quali devono essere inviati proattivamente in push i contenuti multimediali multicast.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

multicastRelayMarginDuration

proprietà 
multicastRelayMarginDuration:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica la durata in secondi del periodo in cui i dati multicast peer-to-peer rimangono disponibili per l'invio ai peer che li richiedono oltre un determinato intervallo di tempo. La durata è specificata dalla proprietà multicastWindowDuration.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

multicastWindowDuration

proprietà 
multicastWindowDuration:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica la durata in secondi della finestra di riassemblaggio multicast peer-to-peer. Valori inferiori riducono la latenza, ma possono ridurre la qualità non consentendo tempo sufficiente per ottenere tutti i frammenti. Al contrario, valori maggiori possono aumentare la qualità, consentendo più tempo per ottenere tutti i frammenti, con un corrispondente aumento della latenza.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

nearNonce

proprietà 
nearNonce:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Per le connessioni RTMFP e RTMPE, valore scelto sostanzialmente da questa estremità del flusso, specifico per questa connessione. Questo valore viene visualizzato all'altra estremità del flusso come valore farNonce.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



Implementazione
    public function get nearNonce():String

objectEncoding

proprietà 
objectEncoding:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

La codifica oggetto (versione AMF) per questo oggetto NetStream. L'oggetto NetStream eredita il proprio valore objectEncoding dall'oggetto NetConnection associato. È importante comprendere questa proprietà se desiderate che un file SWF di ActionScript 3.0 comunichi con i server rilasciati prima di Flash Player 9. Per ulteriori informazioni, vedete la descrizione della proprietà objectEncoding nella classe NetConnection.

Il valore di questa proprietà dipende dal fatto che lo streaming sia locale o remoto. Gli streaming locali, in cui null è stato passato al metodo NetConnection.connect(), restituiscono il valore di NetConnection.defaultObjectEncoding. Gli streaming remoti, in cui ci si connette a un server, restituiscono la codifica oggetto della connessione al server.

Se tentate di leggere questa proprietà quando non si è connessi o se tentate di modificarla, l'applicazione genera un'eccezione.



Implementazione
    public function get objectEncoding():uint

Elementi API correlati

peerStreams

proprietà 
peerStreams:Array  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5

Un oggetto che contiene tutte le istanze NetStream di sottoscrizione in attesa di questa istanza NetStream di pubblicazione.



Implementazione
    public function get peerStreams():Array

soundTransform

proprietà 
soundTransform:flash.media:SoundTransform

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Controlla l'audio in questo oggetto NetStream. Per ulteriori informazioni, vedete la classe SoundTransform.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

time

proprietà 
time:Number  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

La posizione dell'indicatore di riproduzione, espressa in secondi.

Flash Media Server Per uno stream in subscribing, il numero di secondi durante il quale lo stream è stato riprodotto. Per uno stream pubblicato, il numero di secondi durante il quale lo stream è stato in pubblicazione. La precisione di tale valore è al millesimo per cui occorre moltiplicare per 1000 per ottenere il numero di millisecondi durante il quale lo stream è stato riprodotto.

Negli stream in subscribing se il server interrompe l'invio di dati ma lo streaming rimane aperto, viene interrotto il valore della proprietà time. Quando l'invio di dati da parte del server riprende, l'incremento del valore continua dal punto in cui si era interrotto (quando il server ha smesso di inviare dati).

Il valore di time continua ad aumentare anche quando lo stream passa da un elemento della lista di riproduzione a un altro. Questa proprietà viene impostata su 0 quando viene richiamato NetStream.play() e reset è impostato a 1 o true, oppure quando viene richiamato NetStream.close().



Implementazione
    public function get time():Number

Elementi API correlati

useHardwareDecoder

proprietà 
useHardwareDecoder:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11, AIR 3

Specifica se utilizzare la decodifica con accelerazione hardware sullo streaming.

Nota: non è possibile impostare questa proprietà durante la riproduzione video. Dovete impostarla prima di chiamare NetStream.play().

Il valore predefinito è true.



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

Elementi API correlati

useJitterBuffer

proprietà 
useJitterBuffer:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11.3, AIR 3.3

Riduce al minimo la latenza per lo streaming live senza bufferizzazione (bufferTime = 0). Invece che con il meccanismo di raccolta push meno dispendioso, i messaggi audio vengono inseriti in un buffer jitter adattivo. Quando l’altoparlante richiede l’audio, i messaggi vengono recuperati dal buffer jitter, decodificati e riprodotti. Speex e G.711 usano sempre questo approccio di tipo pull, indipendentemente dalle impostazioni (useJitterBuffer restituisce true per Speex/G.711). Quando sono abilitati per la modalità senza buffer, tutti i codec usano il buffer jitter, ad esempio Speex, G.711, Nellymoser, MP3 e AAC. Questa proprietà non ha effetto nella modalità con bufferizzazione (bufferTime > 0), e quindi in questo caso useJitterBuffer restituisce false.



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

videoReliable

proprietà 
videoReliable:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica se il video viene inviato con affidabilità completa. Se è TRUE, tutto il flusso video trasmesso tramite questo NetStream è completamente affidabile. Se FALSE, il flusso video trasmesso non è completamente affidabile, ma viene ritrasmesso per un periodo limitato e quindi eliminato. Potete utilizzare il valore FALSE per ridurre la latenza, ma a scapito della qualità del video.

Se tentate di impostare questa proprietà su FALSE su un protocollo di rete che non supporta l'affidabilità parziale, il tentativo viene ignorato e la proprietà impostata su TRUE.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

videoSampleAccess

proprietà 
videoSampleAccess:Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Per le connessioni RTMFP, specifica se i sottoscrittori peer-to-peer di questo NetStream sono autorizzati da acquisire il flusso video. Se FALSE, il sottoscrittore tenta di acquisire il flusso video che presenta errori di autorizzazione.

Nota: questa proprietà non è supportata per il video H.264 in AIR 3.0 per iOS.



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

Elementi API correlati

videoStreamSettings

proprietà 
videoStreamSettings:VideoStreamSettings

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11/ConnectAddin, AIR 3

Specifica le proprietà di compressione del flusso. Per ulteriori informazioni, vedete VideoStreamSettings. Quando al sistema non è collegata una videocamera, viene restituito null.



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

Elementi API correlati

Descrizione della funzione di costruzione

NetStream

()Funzione di costruzione
public function NetStream(connection:NetConnection, peerID:String = "connectToFMS")

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Crea un flusso che potete utilizzare per riprodurre file multimediali e inviare dati tramite un oggetto NetConnection.

È considerato non valido non gestire l’evento netStatus di un oggetto NetStream. Per evitare errori, registrate un listener per netStatus dopo aver creato l’oggetto NetStream e prima di chiamarne il metodo play().

Parametri
connection:NetConnection — Un oggetto NetConnection.
 
peerID:String (default = "connectToFMS") — Il parametro facoltativo è disponibile in Flash Player 10 e versioni successive, e può essere utilizzato con le connessioni RTMFP. (Se il valore della proprietà NetConnection.protocol non e "rtmfp", questo parametro viene ignorato). Utilizzate uno dei seguenti valori:
  • Per la connessione a Flash Media Server, specificate NetStream.CONNECT_TO_FMS.
  • Per la pubblicazione direttamente su peer, specificate NetStream.DIRECT_CONNECTIONS.
  • Per la riproduzione diretta da un peer specifico, specificate l'identità di quel peer (vedete NetConnection.nearID e NetStream.farID).
  • (Flash Player 10.1 o AIR 2 o versioni successive) Per la pubblicazione o la riproduzione in un gruppo multicast peer-to-peer, specificate una stringa groupspec (vedete la classe GroupSpecifier).

Nella maggior parte dei casi, un oggetto groupspec è in grado di utilizzare il collegamento di rete in uscita sul sistema locale. In questo caso, all'utente viene chiesta l'autorizzazione a utilizzare le risorse di rete del computer. Se l'utente acconsente, viene inviato un evento NetStatusEvent NetStream.Connect.Success al listener di eventi di NetConnection. Se l'utente nega l'autorizzazione, viene inviato un evento NetStream.Connect.Rejected. Quando specificate un groupspec, finché non viene ricevuto un evento NetStream.Connect.Success, l'uso di qualsiasi metodo dell'oggetto NetStream produce un errore e genera un'eccezione.

Se includete questo parametro nell'istruzione della funzione di costruzione, ma passate un valore null, il valore viene impostato su "connectToFMS".


Genera
ArgumentError — L'istanza NetConnection non è connessa.

Elementi API correlati


Esempio  ( Come utilizzare questo esempio )

Il codice seguente mostra una connessione per lo scaricamento e la visualizzazione progressivi di un video assegnato alla variabile 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);

Il codice seguente mostra una connessione per lo streaming e la visualizzazione di un video (assegnato alla variabile videoURL) su un'istanza di Flash Media Server remota specificata nel comando connect():
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmp://www.yourfmsserver.com/someappname");
var my_ns:NetStream = new NetStream(my_nc, NetStream.CONNECT_TO_FMS);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);
Descrizione dei metodi

appendBytes

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Passa un ByteArray in un NetStream per la riproduzione. Chiamate questo metodo su un NetStream nella "modalità di generazione dati". Per mettere uno oggetto NetStream in modalità di generazione dati, chiamate NetStream.play(null) su un oggetto NetStream creato su un oggetto NetConnection connesso a null. Se si chiama appendBytes() su un oggetto NetStream che non è in modalità di generazione dati, si verifica un errore e viene generata un'eccezione.

Nota: questo metodo non è supportato per il video H.264 in AIR 3.0 per iOS.

Il parser di byte si aspetta di elaborare un file FLV con un'intestazione. Dopo che l'intestazione è stata analizzata, appendBytes() si aspetta che tutte le chiamate future siano continuazioni dello stesso file reale o virtuale. Un'altra intestazione non è attesa a meno che non venga chiamato appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN).

Un oggetto NetStream ha due buffer: il FIFO da appendBytes() al NetStream e il buffer di riproduzione. Il FIFO è il buffer di riassemblaggio tag FLV parziale e contiene non più di un tag FLV incompleto. Le chiamate a NetStream.seek() scaricano entrambi i buffer. Dopo una chiamata a seek(), chiamate appendBytesAction() per ripristinare la scala temporale in modo che inizi dall'indicatore temporale del successivo messaggio aggiunto.

Ogni chiamata a appendBytes() aggiunge altri byte nel FIFO finché un tag FLV non è completo. Quando un tag FLV è completo, si sposta sul buffer di riproduzione. Una chiamata a appendBytes() può scrivere più tag FLV. I primi byte completano un tag FLV esistente (che si sposta sul buffer di riproduzione). I tag FLV completi si spostano sul buffer di riproduzione. I byte rimanenti che non formano un tag FLV completo vanno nel FIFO. I byte nel FIFO vengono completati da una chiamata a appendBytes() oppure scaricati da una chiamata a appendBytesAction() con l'argomento RESET_SEEK o RESET_BEGIN.

Nota: il parser di byte potrebbe non essere in grado di decodificare completamente una chiamata a appendBytes() finché non viene effettuata una nuova chiamata a appendBytes().

Parametri

bytes:ByteArray

Elementi API correlati

appendBytesAction

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Indica una discontinuità della scala temporale, scarica il FIFO e segnala al parser di byte di attendere un'intestazione di file o l'inizio di un tag FLV.

Nota: questo metodo non è supportato per il video H.264 in AIR 3.0 per iOS.

Le chiamate a NetStream.seek() scaricano i buffer NetStream. Il parser di byte rimane nella modalità di scarico finché non chiamate appendBytesAction() e passate l'argomento RESET_BEGIN o RESET_SEEK. Catturate l'evento "NetStream.Seek.Notify" per chiamare appendBytesAction() dopo una ricerca. Una nuova intestazione di file può supportare gli elenchi di riproduzione (playlist) e la ricerca eseguita senza una chiamata a NetStream.seek().

Potete chiamare questo metodo anche per azzerare il contatore di byte per il callback onSeekPoint().

Parametri

netStreamAppendBytesAction:String

Elementi API correlati

attach

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Associa un flusso a un nuovo oggetto NetConnection. Chiamate questo metodo per associare un oggetto NetStream a un oggetto new NetConnection dopo che la connessione si è interrotta ed è stata riconnessa. Flash Player e AIR ripristinano lo streaming dal punto di riproduzione in cui la connessione si è interrotta. Potete utilizzare questo metodo anche per implementare il bilanciamento del carico.

Questo metodo richiede Flash Media Server versione 3.5.3 o successiva.

Per utilizzare questo metodo per implementare la riconnessione del flusso , consultate la documentazione di Flash Media Server 3.5.3.

Per utilizzare questo metodo per implementare il bilanciamento del carico, procedete come segue:

  1. Associate un flusso connesso a un oggetto NetConnection su un altro server.
  2. Dopo avere associato il flusso alla nuova connessione, chiamate NetConnection.close() sulla connessione precedente per evitare perdite di dati.
  3. Chiamate NetStream.play2() e impostate il valore NetStreamPlayOptions.transition su RESUME. Impostate il resto delle proprietà NetStreamPlayOptions sugli stessi valori utilizzati quando avete chiamato originariamente NetStream.play() o NetStream.play2() per avviare il flusso.

Parametri

connection:NetConnection

Elementi API correlati

attachAudio

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Associa uno streaming audio a un oggetto NetStream, da un oggetto Microphone passato come origine. Questo metodo è disponibile solo per chi pubblica lo streaming specificato.

Utilizzate questo metodo con Flash Media Server per inviare un audio dal vivo al server. Chiamate questo metodo prima o dopo la chiamata al metodo publish().

Impostate la proprietà Microphone.rate in modo che corrisponda alla frequenza del dispositivo di cattura audio. Chiamate setSilenceLevel() per impostare la soglia del livello di silenzio. Per controllare le proprietà audio (volume e panoramica) dello streaming audio, utilizzate la proprietà 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")
     

Per ascoltare l'audio, chiamate il metodo NetStream.play() e chiamate DisplayObjectContainer.addChild() per instradare l'audio a un oggetto nell'elenco di visualizzazione.

Parametri

microphone:Microphone — L'origine dello streaming audio da trasmettere.

Elementi API correlati

attachCamera

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Inizia a catturare il video da una videocamera, oppure interrompe la cattura se l'impostazione theCamera è impostata su null. Questo metodo è disponibile solo per chi pubblica lo streaming specificato.

Questo evento è destinato principalmente all'utilizzo con Flash Media server; per ulteriori informazioni, vedete la descrizione della classe.

Dopo aver associato l'origine video, dovete chiamare NetStream.publish() per iniziare la trasmissione. Gli utenti che hanno effettuato il subscribing e desiderano visualizzare il video devono chiamare i metodi NetStream.play() e Video.attachCamera() per visualizzare il video sullo stage.

È possibile utilizzare snapshotMilliseconds per inviare una sola istantanea (fornendo il valore 0) o una serie di istantanee (di fatto, una ripresa "time-lapse") fornendo un numero positivo che aggiunge al feed video un trailer del numero di millisecondi specificato. Il trailer estende il tempo di visualizzazione del messaggio video. Se chiamate ripetutamente attachCamera() con un valore positivo per snapshotMilliseconds, la sequenza di istantanee e trailer alternati crea una ripresa "time-lapse". Ad esempio, è possibile catturare un fotogramma al giorno e aggiungerlo a un file video. Quando un utente che ha effettuato il subscribing riproduce il file, ogni fotogramma rimane sullo schermo per il numero di millisecondi specificato, quindi viene visualizzato il fotogramma successivo.

Lo scopo del parametro snapshotMilliseconds è diverso da quello del parametro fps che è possibile impostare con Camera.setMode(). Quando specificate snapshotMilliseconds, controllate quanto tempo trascorre tra i fotogrammi registrati. Quando specificate fps utilizzando Camera.setMode(), controllate quanto tempo trascorre durante la registrazione e la riproduzione.

Ad esempio, supponete di voler scattare un'istantanea ogni 5 minuti per un totale di 100 istantanee. Potete effettuare questa operazione in due modi:

  • Potete emettere un comando NetStream.attachCamera(myCamera, 500) 100 volte, uno ogni 5 minuti. La registrazione richiede 500 minuti, ma il file risultante viene riprodotto in 50 secondi (100 fotogrammi con un intervallo di 500 millisecondi tra un fotogramma e l'altro).
  • Potete emettere un comando Camera.setMode() con un valore fps di 1/300 (uno per 300 secondi, o uno ogni 5 minuti), quindi emettere un comando NetStream.attachCamera(source), che lascia la videocamera riprendere in modo continuo per 500 minuti. Il file risultante viene riprodotto in 500 minuti, lo stesso tempo richiesto dalla registrazione, durante i quali ogni fotogramma viene visualizzato per 5 minuti.

Entrambi i metodi catturano gli stessi 500 fotogrammi e hanno lo stesso livello di utilità; la scelta del metodo dipende principalmente dai requisiti di riproduzione. Ad esempio, nel secondo caso è possibile registrare l'audio per tutto il tempo. Inoltre, le dimensioni dei due file risultano circa uguali.

Parametri

theCamera:Camera — L'origine della trasmissione video. I valori validi sono un oggetto Camera (che inizia la cattura del video) e null. Se si passa null, l'applicazione interrompe la cattura del video e tutti gli eventuali parametri aggiuntivi inviati vengono ignorati.
 
snapshotMilliseconds:int (default = -1) — Specifica se lo streaming video è continuo, un fotogramma singolo o una serie di fotogrammi singoli utilizzati per creare riprese "time-lapse".
  • Se si omette questo parametro, l'applicazione cattura tutto il video finché non si passa un valore null ad attachCamera.
  • Se si passa 0, l'applicazione cattura solo un fotogramma video singolo. Utilizzate questo valore per trasmettere "istantanee" all'interno di uno streaming preesistente. Flash Player o AIR interpreta gli argomenti non validi, negativi o non numerici come 0.
  • Se si passa un numero positivo, l'applicazione cattura un fotogramma video singolo quindi aggiunge una pausa di lunghezza specificata come trailer dell'istantanea. Utilizzate questo valore per creare effetti di ripresa "time-lapse".

close

()metodo 
public function close():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Interrompe la riproduzione di tutti i dati dello streaming, imposta la proprietà time su 0 e rende lo streaming disponibile per un altro uso. Questo metodo elimina anche la copia locale di un file video scaricato mediante HTTP. Benché l'applicazione elimini la copia locale del file, è possibile che una copia del video permanga nella directory cache. Se è necessario impedire completamente la memorizzazione nella cache o locale del file video, utilizzate Flash Media Server.

Quando utilizzate Flash Media Server, questo metodo viene chiamato automaticamente quando chiamate NetStream.play() da un flusso di pubblicazione o NetStream.publish() da un flusso in subscribing. Notate quanto segue:

  • Se chiamate close() da uno stream in pubblicazione, la pubblicazione stessa viene interrotta e chi la sta effettuando può utilizzare quello stesso stream ad altri scopi. Chi stava ricevendo quello stream smette di ricevere i dati in pubblicazione perché lo streaming è stato interrotto.
  • Se chiamate close() da uno stream in ricezione, la ricezione viene interrotta e lo stream può essere utilizzato ad altri scopi. Gli altri utenti in ricezione non sono influenzati da questa operazione.
  • Potete interrompere l'esecuzione di uno stream in ricezione senza chiuderlo o modificare il tipo di stream utilizzando flash.net.NetStream.play(false).

Elementi API correlati

dispose

()metodo 
public function dispose():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 11, AIR 3.0

Rilascia tutte le risorse impegnate dall'oggetto NetStream.

Il metodo dispose() è simile al metodo close. La differenza principale tra i due metodi consiste nel fatto che dispose() rilascia la memoria utilizzata per visualizzare il fotogramma video corrente. Se quel fotogramma è visualizzato sullo schermo, il display rimane vuoto. Il metodo close() invece non oscura il display perché non rilascia questa memoria.

onPeerConnect

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Richiamato quando uno streaming di pubblicazione peer corrisponde a uno streaming di sottoscrizione peer. Prima della connessione del subscriber al publisher, chiamate questo metodo per consentire al codice ActionScript un esatto controllo dell'accesso per la pubblicazione da peer a peer. Il codice seguente mostra un esempio di come potete creare una funzione di callback per questo metodo:

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

Se questo metodo non viene implemento da un publisher peer, a tutti i peer è consentito riprodurre qualsiasi contenuto pubblicato.

Parametri

subscriber:NetStream

Restituisce
Boolean

pause

()metodo 
public function pause():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Sospende la riproduzione di uno streaming video. La chiamata a questo metodo non ha alcun effetto se il video è già in pausa. Per riprendere la riproduzione del video dopo una pausa richiamare resume(). Per passare da pausa a riproduzione e viceversa (effettuando prima la pausa e poi la riproduzione), chiamate togglePause().

A partire da Flash Player 9.0.115.0, Flash Player non cancella più il buffer quando viene effettuata una chiamata a NetStream.pause(). Questo comportamento viene chiamato "pausa intelligente" (smart pause). Prima di Flash Player 9.0.115.0, Flash Player attendeva il riempimento del buffer prima di riprendere la riproduzione, e ciò spesso provocava un ritardo.

Nota: per garantire la compatibilità retroattiva, l'evento "NetStream.Buffer.Flush" (vedete la proprietà NetStatusEvent.info) viene comunque generato, anche se il server non scarica il buffer.

Per una pausa singola, la proprietà NetStream.bufferLength ha un limite impostato su 60 secondi o sul doppio del valore di NetStream.bufferTime, a seconda di quale dei due sia il valore più alto. Ad esempio, se bufferTime è 20 secondi, Flash Player effettua il buffering fino a quando NetStream.bufferLength ha un valore più elevato rispetto a 20*2 (40) o 60, quindi in questo caso fino a quando bufferLength è 60. Se bufferTime è 40 secondi, Flash Player effettua il buffering fino a quando bufferLength ha un valore più alto rispetto a 40*2 (80) o 60, quindi in questo caso fino a quando bufferLength è 80 secondi.

Anche la proprietà bufferLength ha un limite assoluto. Se una chiamata a pause() provoca un aumento di bufferLength oltre 600 secondi o il valore bufferTime * 2 (a seconda di quale valore sia il più elevato), Flash Player svuota il buffer e reimposta bufferLength su 0. Ad esempio, se bufferTime è 120 secondi, Flash Player svuota il buffer se bufferLength raggiunge 600 secondi; se bufferTime è 360 secondi, Flash Player svuota il buffer se bufferLength raggiunge 720 secondi.

Suggerimento: potete utilizzare NetStream.pause() nel codice per effettuare il buffering dei dati ad esempio mentre l'utente guarda un filmato pubblicitario e successivamente riprendere la riproduzione quando comincia il video principale.

Elementi API correlati

play

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Riproduce un file multimediale da una directory locale o da un server Web; riproduce un file multimediale o uno streaming dal vivo da Flash Media Server. Invia un oggetto NetStatusEvent per segnalare i messaggi di stato e di errore.

Per ulteriori informazioni sui codec e formati di dati supportati, consultate i seguenti riferimenti:

Flusso di lavoro per la riproduzione di un file o di un flusso dal vivo

  1. Create un oggetto Video che visualizzerà il video e chiamate addChild() per aggiungerlo allo stage.
  2. Create un oggetto NetConnection e chiamate NetConnection.connect().

    Per riprodurre un file da una directory locale o da un server Web, passate null.

    Per riprodurre un file registrato o un flusso dal vivo da Flash Media Server, passate l'URI di un'applicazione Flash Media Server.

  3. Chiamate il metodo addEventListener() dell’oggetto NetConnection per intercettare l’evento netStatus (NetStatusEvent.NET_STATUS).
  4. Dopo "NetConnection.Connect.Success", create un oggetto NetStream e passate l’oggetto NetConnection alla funzione di costruzione.
  5. Chiamate l metodo attachNetStream() dell’oggetto Video e passate l’oggetto NetStream.
  6. Chiamate il Metodo play() dell’oggetto NetStream.

    Per riprodurre un flusso dal vivo, passate lo stesso nome che avete passato al metodo NetStream.publish().

    Per riprodurre un file registrato, passate il nome del file.

Nota: è buona norma aggiungere sempre l’oggetto Video allo stage, associare ad esso un oggetto NetStream e infine chiamare il metodo play() dell’oggetto NetStream.

Attivare la modalità di generazione dati

Chiamate play(null) per attivare la "modalità di generazione dati". In questa modalità, chiamate il metodo appendBytes() per consegnare dati a NetStream. Utilizzate la modalità di generazione dati per inviare contenuto in streaming via HTTP dal modulo di origine streaming dinamico HTTP Adobe su un server HTTP Apache. Lo streaming dinamico HTTP consente ai client di passare rapidamente a qualsiasi punto di un file. Il framework OSMF (Open Source Media Framework) supporta lo streaming dinamico HTTP per gli streaming vod e dal vivo. Per vedere degli esempi di utilizzo della modalità di generazione dati NetStream, scaricate il framework OSMF. Per ulteriori informazioni sullo streaming dinamico HTTP, vedete HTTP Dynamic Streaming.

Quando utilizzate questo metodo senza Flash Media Server, non sussistono considerazioni relative alla sicurezza. A un file che si trova nella sandbox locale attendibile o nella sandbox locale con collegamento di rete è consentito caricare ed eseguire un file video dalla sandbox remota, ma non di accedere ai dati del file remoto senza un'autorizzazione esplicita sotto forma di file di criteri per gli URL. Inoltre, è possibile impedire che un file SWF in esecuzione in Flash Player utilizzi questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML che include il contenuto SWF. Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player

Parametri

... arguments

Riprodurre un file locale

La posizione del file multimediale. L'argomento può essere una stringa, una proprietà URLRequest.url o una variabile che fa riferimento a uno dei due elementi. Nel contenuto Flash Player e AIR al fuori della funzione di sicurezza sandbox dell'applicazione, potete riprodurre i file video locali che sono memorizzati nella stessa directory del file SWF o in una sua sottodirectory; tuttavia, non potete passare a una directory di livello superiore.

Riprodurre un file da Flash Media Server

NomeObbligatorioDescrizione
name:ObjectObbligatorio Nome di un file registrato, un identificatore per dati live pubblicati tramite NetStream.publish() o false. Se è false, lo stream interrompe la riproduzione e tutti gli ulteriori parametri vengono ignorati. Per ulteriori informazioni sulla sintassi del nome file, vedete la tabella dei formati file dopo questa tabella.
start:NumberOpzionale Il momento dell'avvio, espresso in secondi. I valori consentiti sono -2, -1, 0 o un numero positivo. Il valore predefinito è -2, che effettua la ricerca di uno stream live, quindi di uno stream registrato e se non ottiene alcun risultato apre uno stream live. Non è possibile usare -2 con i file MP3. Se il valore è -1, riproduce solamente uno stream live. Se il valore è 0 o un qualsiasi numero positivo, riproduce uno stream registrato a partire dal numero di secondi indicato in start.
len:Number È opzionale se è stato specificato start. Durata della riproduzione, espressa in secondi. I valori consentiti sono -1, -0, o un numero positivo. Il valore predefinito è -1 che riproduce uno stream live o registrato fino alla fine. Se il valore è 0 riproduce un fotogramma singolo situato in corrispondenza del numero di secondi, a partire dall'inizio dello stream registrato, indicato in start. Se il valore è un numero positivo, riproduce uno stream live o registrato per un numero di secondi pari a len.
reset:Object È opzionale se è stato specificato len. Indica se svuotare una lista di riproduzione. Il valore predefinito è 1 o true, che cancella tutte le chiamate play precedenti e riproduce immediatamente name. Se il valore è 0 o false, aggiunge lo stream alla lista di riproduzione. Se il valore è 2 mantiene intatta la lista di riproduzione e restituisce tutti i messaggi dello stream contemporaneamente, invece che ad intervalli. Se il valore è 3, svuota la lista di riproduzione e restituisce tutti i messaggi dello stream contemporaneamente.

È possibile riprodurre i formati file descritti nella tabella seguente. La sintassi varia in base al formato file.

Formato fileSintassiEsempio
FLVSpecificate il nome del flusso (nella directory "samples") come stringa, senza un'estensione di nome file.ns.play("samples/myflvstream");
mp3 o ID3Specificate il nome del flusso (nella directory "samples") come stringa con il prefisso mp3: o id3: e senza un'estensione del nome file.

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

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

File basati su MPEG-4 (come F4V e MP4)Specificate il nome del flusso (nella directory "samples") sotto forma di stringa con il prefisso mp4:. Il prefisso indica al server che il file contiene video con codifica H.264 e audio con codifica AAC nel formato di contenitore MPEG-4 Part 14. Se il file presente sul server ha un'estensione, specificatela.

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

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

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

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

RAWSpecificate il nome del flusso (nella directory "samples") come stringa, con il prefisso raw:ns.play("raw:samples/myvideo");

Attivare la modalità di generazione dati

Per attivare la "modalità di generazione dati", passate il valore null a un oggetto NetStream creato su un oggetto NetConnection connesso a null. In questa modalità, chiamate appendBytes() per consegnare dati a NetStream. (Quando si passa null viene anche azzerato il contatore di byte per il callback onSeekPoint().)

Considerazioni speciali per il video H.264 in AIR 3.0 per iOS

Per il video H.264, le API iOS per la riproduzione video accettano solo un URL che punta a un file o a un flusso. Non è possibile passare un buffer di dati video H264 da decodificare. A seconda dell'origine video, passate l'argomento appropriato a NetStream.play() nel modo seguente:

  • Per la riproduzione progressiva: passate l'URL del file (locale o remoto).

  • Per lo streaming video: passate l'URL di un elenco di riproduzione nel formato HTTP Live Streaming (HLS) di Apple. Questo file può essere ospitato su qualsiasi server; Flash Media Server 4.5 (o successivo) ha il vantaggio di poter codificare lo streaming in formato HLS.


Eventi
status:StatusEvent — Inviato quando si tenta di riprodurre un contenuto crittografato con DRM (Digital Rights Management). Il valore della proprietà code è "DRM.encryptedFLV".

Genera
SecurityError — I file SWF non attendibili locali potrebbero non essere in grado di comunicare con Internet. Questa limitazione può essere risolta riclassificando il file SWF come file locale con utilizzo in rete o come attendibile.
 
ArgumentError — È necessario specificare almeno un parametro.
 
Error — L'oggetto NetStream non è valido. Ciò può dipendere da una NetConnection non riuscita.

Elementi API correlati


Esempio  ( Come utilizzare questo esempio )
Flash Media Server Questo esempio riproduce un file F4V registrato dalla directory "samples", partendo dall'inizio e per una durata di 100 secondi. Con i file MPEG-4, se il file sul server ha un'estensione del nome file, è necessario specificare tale estensione nel metodo play().
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server Questo esempio riproduce uno streaming FLV dal vivo pubblicato da un client, dall'inizio alla fine e con avvio immediato:
     ns.play("livestream");
     

L'esempio seguente mostra come caricare un file FLV esterno:
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

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Passa direttamente tra file con più velocità di trasmissione e consente a NetStream di riprendere la riproduzione quando una connessione si interrompe e viene riconnessa.

Questo metodo è una versione avanzata di NetStream.play(). In modo analogo al metodo play(), il metodo play2() inizia la riproduzione di un file multimediale o mette in coda i file multimediali per creare un elenco di riproduzione. Quando viene utilizzato con Flash Media Server, può anche richiedere al server di passare a un diverso file multimediale. La transizione avviene automaticamente nell'applicazione client. Le seguenti funzionalità utilizzano il passaggio di streaming play2():

Streaming dinamico

Lo streaming dinamico (supportato in Flash Media Server 3.5 e versioni successive) consente di fornire un flusso codificato a più velocità di trasmissione. Mentre cambiano le condizioni di rete di un utente, viene fornita la velocità di trasmissione appropriata per consentire una visualizzazione ottimale. Utilizzate la classe NetStreamInfo per monitorare le condizioni della rete e alternare i flussi in base ai dati. Potete anche alternare i flussi per client con capacità diverse. Per ulteriori informazioni, vedete l'argomento relativo allo "streaming dinamico" nella "Adobe Flash Media Server Developer Guide" (Guida per sviluppatori di Adobe Flash Media Server).

Adobe ha creato una classe ActionScript personalizzata di nome DynamicStream, che estende la classe NetStream. Potete utilizzare la classe DynamicStream per implementare lo streaming dinamico in un'applicazione anziché scrivere del codice personalizzato che rilevi le condizioni della rete. Anche se decidete di scrivere del codice di streaming dinamico, utilizzate la classe DynamicStream come implementazione di riferimento. Scaricate la classe e la relativa documentazione dalla pagina relativa agli strumenti e download per Flash Media Server.

Riconnessione del flusso

La riconnessione del flusso (supportata in Flash Media Server 3.5.3 e versioni successive) consente agli utenti di usufruire della riproduzione ininterrotta di contenuti multimediali, anche in caso di perdita della connessione. Il contenuto multimediale utilizza il buffer per la riproduzione mentre la logica di ActionScript ristabilisce la connessione a Flash Media Server. Dopo la riconnessione, chiamate NetStream.attach() per utilizzare lo stesso oggetto NetStream con new NetConnection. Utilizzate le API NetStream.attach(), NetStreamPlayTransitions.RESUME e NetStreamPlayTrasitions.APPEND_AND_WAIT per riconnettere un flusso. Per ulteriori informazioni, vedete la documentazione di Flash Media Server.

Parametri

param:NetStreamPlayOptions

Elementi API correlati

preloadEmbeddedData

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.5, Flash Lite 4

Estrae i metadati DRM presenti in un file multimediale archiviato localmente.

Utilizzate preloadEmbeddedMetaData() come prima fase del processo di scaricamento e memorizzazione nella cache dei voucher DRM richiesti per la riproduzione non in linea. Quando vengono rilevati dei metadati DRM incorporati in un file multimediale, un oggetto DRMContentData viene passato alla funzione onDRMContentData del client NetStream. Tale oggetto DRMContentData contiene le informazioni necessarie per ottenere il voucher richiesto per la riproduzione del contenuto. Passate DRMContentDataObject al metodo loadVoucher() di DRMManager per scaricare il voucher.

Il precaricamento di un voucher DRM comprende le fasi seguenti:

  • Create un nuovo oggetto NetStream per precaricare i metadati.

  • Assegnate una funzione di callback alla proprietà onDRMContentData del client NetStream.
  • Create un nuovo oggetto NetStreamPlayOptions e impostatene la proprietà streamName sulla stringa URL del file video locale.
  • Chiamate preloadEmbeddedMetadata(), passando l'oggetto NetStreamPlayOptions.
  • In risposta al callback di onDRMContentData, chiamate il metodo loadVoucher() di DRMManager, passando l'oggetto DRMContentData. Se la proprietà authenticationMethod dell'oggetto DRMContentData ha il valore userNameAndPassWord, autenticate l'utente sul server di gestione dei diritti multimediali (Media Rights Server) prima di caricare il voucher.
  • Chiudete il NetStream utilizzato per il precaricamento.

Nota: per utilizzare lo stesso oggetto NetStream sia per precaricare i metadati che per riprodurre il contenuto, per avviare la riproduzione attendete la chiamata a onPlayStatus generata dall'operazione di precaricamento.

I voucher scaricati vengono memorizzati in una memoria cache locale. Anche quando riproducete contenuti in linea vengono scaricati e memorizzati nella cache dei voucher. Quando viene visualizzato un file di contenuti con protezione DRM, un voucher memorizzato nella cache viene automaticamente recuperato dall'archivio locale. Utilizzate DRMManager per gestire la cache dei voucher.

Note: il caricamento dei metadati DRM attraverso le connessioni HTTP, HTTPS o RTMP non è supportato. Potete precaricare i metadati solo dai file memorizzati nel file system.

Parametri

param:NetStreamPlayOptions — Un oggetto NetStreamPlayOptions che descrive le opzioni da utilizzare durante l'elaborazione del file del contenuto.

Elementi API correlati

publish

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Invia lo streaming audio, video e dei messaggi di dati da un client a un Flash Media server, con l'opzione di registrazione dello streaming nel corso della trasmissione. Questo metodo invia un oggetto NetStatusEvent con informazioni relative al flusso. Prima di chiamare NetStream.publish(), catturate l'evento "NetConnection.Connect.Success" per verificare che l'applicazione abbia stabilito correttamente la connessione con Flash Media Server.

In fase di pubblicazione, potete registrare i file in formato FLV o F4V. Se registrate un file in formato F4V, dovete utilizzare uno strumento flattener per modificare o riprodurre il file in un'altra applicazione. Per scaricare lo strumento, vedete www.adobe.com/go/fms_tools_it.

Nota:non utilizzate questo metodo per riprodurre un flusso di streaming. Per riprodurre un flusso, chiamate il metodo NetStream.play().

Flusso di lavoro per la pubblicazione di un flusso

  1. Create un oggetto NetConnection e chiamate NetConnection.connect().
  2. Chiamate NetConnection.addEventListener() per intercettare gli eventi NetStatusEvent.
  3. Quando si verifica l'evento "NetConnection.Connect.Success", create un oggetto NetStream e passate l'oggetto NetConnection alla funzione di costruzione.
  4. Per acquisire audio e video, chiamate il metodo NetStream.attachAudio()e il metodo NetStream.attachCamera().
  5. Per pubblicare un flusso, chiamate il metodo NetStream.publish(). Potete registrare i dati mentre li pubblicate, in modo che gli utenti possano riprodurli in un secondo momento.

Nota: un NetStream può pubblicare un flusso oppure riprodurlo, ma non eseguire le entrambe operazioni. Per pubblicare un flusso e visualizzare la riproduzione dal server, create due oggetti NetStream. Potete inviare più oggetti NetStream tramite un unico oggetto NetConnection.

Quando Flash Media Server registra un flusso, crea un file. Per impostazione predefinita, il server crea una directory con il nome di istanza applicazione passato a NetConnection.connect() e memorizza il file nella directory. Il codice seguente, ad esempio, connette l'istanza predefinita dell'applicazione "lectureseries" e registra un flusso chiamato "lecture". Il file "lecture.flv" viene registrato nella directory applications/lectureseries/streams/_definst_:

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

Nell'esempio seguente viene stabilita la connessione con l'istanza "monday" della stessa applicazione. Il file "lecture.flv" viene registrato nella directory /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");
       }
     }
     

Parametri

name:String (default = null) — Una stringa che identifica lo streaming. I client che effettuano il subscribing a questo flusso passano questo nome quando effettuano la chiamata a NetStream.play(). Non fate seguire il nome dello stream da una "/". Non utilizzate per uno stream un nome quale ad esempio "bolero/".

Potete registrare file nei formati descritti nella tabella seguente (non è possibile utilizzare publish() per i file in formato MP3). La sintassi varia in base al formato file.

Formato fileSintassiEsempio
FLVSpecificate il nome del flusso come stringa, senza un'estensione di nome file.ns.publish("myflvstream");
File basati su MPEG-4 (come F4V o MP4)Specificate il nome del flusso come stringa con il prefisso mp4: con o senza un'estensione del nome file. Flash Player esegue la codifica tramite H.263, non H.264. Flash Media Server invece può registrare qualunque codec nel contenitore F4V. Flash Media Live Encoder permette di eseguire la codifica con H.264. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWSpecificate il nome del flusso come stringa, con il prefisso raw:ns.publish("raw:myvideo");

 
type:String (default = null) — Una stringa che specifica come pubblicare lo streaming. I valori validi sono "record", "append", "appendWithGap" e "live". Il valore predefinito è "live".
  • Se passate "record", il server pubblica e registra i dati dal vivo, salvando i dati registrati in un nuovo file con un nome che corrisponde al valore passato al parametro name. Se il file esiste, viene sovrascritto.
  • Se passate "append", il server pubblica e registra i dati dal vivo, aggiungendo i dati registrati in un file con un nome che corrisponde al valore passato al parametro name. Se non viene trovato alcun file con un nome corrispondente al parametro name, viene creato.
  • Se passate "appendWithGap", vengono trasmesse ulteriori informazioni sul coordinamento temporale per aiutare il server a determinare il punto di transizione corretto durante lo streaming dinamico.
  • Se omettete questo parametro o passate "live", il server pubblica i dati dal vivo senza registrarli. Se esiste un file con un nome corrispondente al valore passato al parametro name, viene eliminato.

Elementi API correlati


Esempio  ( Come utilizzare questo esempio )

L'esempio seguente cattura un video da una videocamera e lo pubblica su Flash Media Server mediante un NetStream. L'esempio visualizza il video mentre viene riprodotto da Flash Media Server.

Per eseguire l'esempio, avete bisogno di una videocamera collegata al computer. Dovete anche aggiungere un componente Button e un componente Label alla libreria.

L'applicazione è dotata di un pulsante che permette di pubblicare un flusso (inviarlo a Flash Media Server) solo dopo l'apertura della connessione al server. L'applicazione riproduce il flusso dal server solo dopo che è stato pubblicazione correttamente. NetStatusEvent restituisce un oggetto info con una proprietà code che specifica questi casi. La funzione netStatusHandler gestisce questi eventi per le classi NetConnection e 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

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica se l'audio in entrata viene riprodotto nel flusso. Questo metodo è disponibile solo per i client che hanno effettuato il subscribing al flusso specificato. Non è disponibile a chi ha pubblicato il flusso. Chiamate questo metodo prima o dopo la chiamata al metodo NetStream.play(). Ad esempio, associate questo metodo a un pulsante per consentire agli utenti di attivare o disattivare l'audio. Utilizzate questo metodo solo nei flussi unicast riprodotti da Flash Media Server. Questo metodo non funziona con i flussi RTMFP multicast né quando si usa il metodo NetStream.appendBytes().

Parametri

flag:Boolean — Specifica se l'audio in entrata viene riprodotto (true) o meno (false) nello streaming. Il valore predefinito è true. Se il flusso specificato contiene solo dati audio, NetStream.time cessa di aumentare quando passate false.

receiveVideo

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica se il video in entrata viene riprodotto nel flusso. Questo metodo è disponibile solo per i client che hanno effettuato il subscribing al flusso specificato. Non è disponibile a chi ha pubblicato il flusso. Chiamate questo metodo prima o dopo la chiamata al metodo NetStream.play(). Ad esempio, associate questo metodo a un pulsante per consentire agli utenti di visualizzare o nascondere il video. Utilizzate questo metodo solo nei flussi unicast riprodotti da Flash Media Server. Questo metodo non funziona con i flussi RTMFP multicast né quando si usa il metodo NetStream.appendBytes().

Parametri

flag:Boolean — Specifica se il video in entrata viene riprodotto (true) o meno (false) in questo flusso. Il valore predefinito è true. Se il flusso specificato contiene solo dati video, NetStream.time cessa di aumentare quando passate false.

receiveVideoFPS

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Specifica la frequenza fotogrammi del video in entrata. Questo metodo è disponibile solo per i client che hanno effettuato il subscribing al flusso specificato. Non è disponibile a chi ha pubblicato il flusso. Chiamate questo metodo prima o dopo la chiamata al metodo NetStream.play(). Ad esempio, chiamate questo metodo per consentire agli utenti di impostare la frequenza dei fotogrammi video. Per determinare la frequenza fotogrammi corrente, utilizzate NetStream.currentFPS. Per cessare di ricevere il video, passate 0.

Quando passate un valore al parametro FPS per limitare la frequenza fotogrammi del video, Flash Media Server tenta di ridurre la frequenza fotogrammi conservando l'integrità del video. Tra un fotogramma chiave e quello successivo, il server invia il numero minimo di fotogrammi necessario per soddisfare la frequenza desiderata. Tenete presente che tutti gli I-frame (intermediate frame, fotogrammi intermedi) devono essere inviati in modo contiguo, altrimenti il video risulta danneggiato. Di conseguenza, il numero desiderato di fotogrammi viene inviato immediatamente e in modo contiguo dopo un fotogramma chiave. Dal momento che i fotogrammi non sono distribuiti in modo uniforme, il movimento appare fluido nei segmenti inframezzati da interruzioni.

Utilizzate questo metodo solo nei flussi unicast riprodotti da Flash Media Server. Questo metodo non funziona con i flussi RTMFP multicast né quando si usa il metodo NetStream.appendBytes().

Parametri

FPS:Number — Specifica la frequenza fotogrammi al secondo con cui viene riprodotto il video in entrata.

resetDRMVouchers

()metodo 
public static function resetDRMVouchers():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 11.8, Flash Lite 4

Nelle applicazioni AIR, elimina tutti i dati del voucher DRM (Digital Rights Management) memorizzati nella cache locale. Per le applicazioni basate su browser, è disponibile solo durante gli errori 3322 e si comporta come il riquadro Impostazioni di riproduzione del contenuto protetto.

L'applicazione deve scaricare nuovamente qualunque voucher richiesto dal server di gestione dei diritti multimediali (Media Rights Server) per consentire all'utente di accedere ai contenuti protetti. La chiamata a questa funzione equivale alla chiamata alla funzione resetDRMVouchers() dell'oggetto DRMManager.


Genera
IOError — I dati del voucher non possono essere eliminati.

Elementi API correlati


Esempio  ( Come utilizzare questo esempio )

L'esempio seguente reimposta tutti i voucher DRM:
NetStream.resetDRMVouchers();

resume

()metodo 
public function resume():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

riprende la riproduzione di uno streaming video in pausa. Se il video è già in fase di riproduzione, la chiamata a questo metodo non ha alcun effetto.

Elementi API correlati

seek

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Cerca il fotogramma chiave (anche chiamato I-frame nell'industria video) più vicino alla posizione specificata. Il fotogramma chiave viene situato in corrispondenza di un offset, espresso in secondi, rispetto all'inizio dello stream.

Gli stream video sono solitamente codificati attraverso due tipi di fotogrammi: fotogrammi chiave (o I-frame) e fotogrammi P (P-frame). Un fotogramma chiave contiene un'immagine intera, mentre un fotogramma P è un fotogramma provvisorio che fornisce delle informazioni aggiuntive tra fotogrammi chiave. L'intervallo di fotogrammi tra un fotogramma chiave e l'altro in uno stream è solitamente compreso tra 10 e 50 fotogrammi.

Flash Media Server offre diversi tipi di comportamento di ricerca: ricerca ottimizzata e ricerca intelligente.

Ricerca avanzata

La ricerca avanzata è attivata per impostazione predefinita. Per disattivare la ricerca avanzata in Flash Media Server, impostate l'elemento EnhancedSeek nel file di configurazione Application.xml su false.

Se la ricerca avanzata è attivata, il server genera un nuovo fotogramma chiave in corrispondenza dell'offset basato sul fotogramma chiave precedente e sul più vicino fotogramma P. La generazione di fotogrammi chiave causa tuttavia un elevato carico di elaborazione sul server, per cui nel fotogramma chiave generato potrebbe verificarsi una distorsione. Se il codec video è On2, il fotogramma chiave prima del punto di avanzamento e tutti i fotogrammi P situati tra il fotogramma chiave e il punto di avanzamento vengono inviati al client.

Se la ricerca avanzata è disattivata, il server avvia lo streaming dal fotogramma chiave più vicino. Ad esempio, supponete che un video contenga dei fotogrammi chiave a 0 secondi e a 10 secondi. Una ricerca a 4 secondi fa sì che la riproduzione inizi a 4 secondi utilizzando il fotogramma chiave a 0 secondi. Il video rimane immobile finché non raggiunge il successivo fotogramma chiave posto sui 10 secondi. Per ottenere una migliore esperienza di avanzamento è necessario ridurre l'intervallo tra i fotogrammi chiave. Nella modalità di avanzamento normale non è possibile avviare un video in un punto situato tra due fotogrammi chiave.

Ricerca intelligente

Per attivare la ricerca intelligente, impostate NetStream.inBufferSeek su true.

La ricerca intelligente consente a Flash Player di cercare nei buffer indietro e avanti esistenti. Quando la ricerca intelligente è attivata, ogni volta viene chiamato seek(), Flash Player svuota il buffer e richiede i dati dal server server. Per ulteriori informazioni, vedete NetStream.inBufferSeek.

Ricerche nella modalità di generazione dati

Quando chiamate seek() su un oggetto NetStream in modalità di generazione dati, tutti i byte passati a appendBytes() vengono scartati (ovvero non inseriti nel buffer, accumulati nel FIFO messaggi parziali o analizzati per verificare se sono presenti punti di ricerca) finché non chiamate appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) o appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) per ripristinare il parser. Per informazioni sulla modalità di generazione, vedete NetStream.play().

Parametri

offset:Number — Valore approssimativo, espresso in secondi, per il passaggio a un file video. Con Flash Media Server, se <EnhancedSeek> è impostato su true nel file di configurazione Application.xml (che è quello predefinito), il server genera un fotogramma chiave nell'offset.
  • Per tornare all'inizio dello streaming, passate 0 per offset.
  • Per eseguire la ricerca a partire dall'inizio dello streaming, passate il numero di secondi di avanzamento. Per esempio, per situare l'indicatore di riproduzione a 15 secondi dall'inizio (ovvero situare il fotogramma chiave dopo 15 secondi), utilizzate myStream.seek(15).
  • Per eseguire la ricerca in relazione alla posizione corrente, inserite NetStream.time + n o NetStream.time - n per spostarvi di n secondi, rispettivamente, avanti o indietro rispetto alla posizione corrente. Ad esempio, per il riavvolgimento di 20 secondi dalla posizione corrente, utilizzate NetStream.seek(NetStream.time - 20).

Elementi API correlati

send

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Invia un messaggio su uno streaming pubblicato a tutti i client che hanno effettuato il subscribing. Questo metodo è disponibile solo per chi pubblica lo streaming specificato. Questo metodo è utilizzabile solo con Flash Media Server. Per elaborare e dare una risposta a questo messaggio, create un gestore sull'oggetto NetStream come ad esempio ns.HandlerName.

Flash Player o AIR non serializza i metodi o i relativi dati, le variabili del prototipo dell'oggetto o le variabili non enumerabili. Per gli oggetti di visualizzazione, Flash Player o AIR serializza il percorso ma nessun dato.

È possibile chiamare il metodo send() per aggiungere fotogrammi chiave di dati a uno stream live pubblicato su Flash Media Server. Un fotogramma chiave di dati è un messaggio che chi pubblica lo stream aggiunge allo stesso. I fotogrammi chiave di dati vengono utilizzati solitamente per aggiungere dei metadati a uno stream live prima che i dati vengano catturato per lo stream stesso da una camera e da un microfono. Chi pubblica può aggiungere un fotogramma chiave di dati in qualsiasi momento nel corso della pubblicazione dello stream live. Il fotogramma chiave di dati viene salvato nella memoria del server fino a quando chi pubblica è connesso al server.

I client che hanno effettuato il subscribing allo stream live prima che il fotogramma chiave di dati venisse aggiunto lo ricevono nel momento stesso in cui viene aggiunto. I client che effettuano il subscribing allo stream live dopo che il fotogramma chiave di dati è stato aggiunto lo ricevono al momento del subscribing.

Per aggiungere un fotogramma chiave di metadati a uno stream live inviato a Flash Media Server, utilizzate @setDataFrame come nome del gestore, seguito da due ulteriori argomenti, come ad esempio:

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

L'argomento @setDataFrame si riferisce a uno speciale gestore incorporato in Flash Media Server. L'argomento onMetaData è il nome di una funzione di callback nell'applicazione client che ascolta l'evento onMetaData event e recupera i metadati. Il terzo elemento, metaData, è un'istanza di Object o di Array le cui proprietà definiscono i valori dei metadati.

Utilizzate @clearDataFrame per cancellare i metadati di un fotogramma chiave che è stato già inserito nello stream:

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

Parametri

handlerName:String — Il messaggio da inviare, oltre al nome del gestore ActionScript che deve ricevere il messaggio. Il nome del gestore può avere una profondità di un solo livello (cioè, non può essere di tipo principale/secondario) ed è relativo all'oggetto stream. Non utilizzate un termine riservato per il nome di un gestore. Ad esempio, se utilizzate "close" come nome del gestore, il metodo non funziona. Con Flash Media Server, utilizzate @setDataFrame per aggiungere un fotogramma chiave di metadati a uno stream live o @clearDataFrame per rimuovere il fotogramma chiave.
 
... arguments — Gli argomenti opzionali possono essere di qualsiasi tipo. Vengono serializzati e inviati sulla connessione e il gestore di ricezione li riceve nello stesso ordine. Se un parametro è un oggetto circolare (ad esempio, un elenco collegato che è circolare), la funzione di serializzazione gestisce i riferimenti correttamente. Con Flash Media Server, se @setDataFrame è il primo argomento, utilizzate onMetaData come secondo argomento; come terzo argomento inserire un'istanza di Object o Array che abbia i metadati impostati come proprietà. Per un elenco di nomi di proprietà consigliati, vedete Flash Media Server Developer Guide (Guida allo sviluppo di Flash Media Server). Con @clearDataFrame come primo argomento, utilizzate onMetaData come secondo argomento e non inserite alcun terzo argomento.

Elementi API correlati


Esempio  ( Come utilizzare questo esempio )

Il seguente esempio crea due oggetti NetStream. Il primo viene utilizzato per pubblicare uno stream live sul server, mentre l'altro per effettuare il subscribing allo stream.
package {
   import flash.display.Sprite;
   import flash.net.NetConnection;
   import flash.net.NetStream;
   import flash.events.NetStatusEvent;
   import flash.media.Video;
   import flash.utils.setTimeout;

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

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

Il seguente esempio crea dei metadati e li aggiunge allo stream:
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() );        
    }
}

Per rispondere al fotogramma chiave di dati aggiunto a un video, il client deve definire un gestore di eventi onMetaData. Il gestore di eventi onMetaData non è registrato in addEventListener(); si tratta, invece di un funzione di callback il cui nome è onMetaData, per esempio:
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

Questo esempio mostra come creare una lista di riproduzione sul server:
 // 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);

Se il file video registrato contiene solo dei messaggi dati, è possibile sia eseguire il file video alla stessa velocità con la quale era stato registrato sia ottenere i messaggi di dati tutti in una volta.
 //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

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Lite 4

Imposta le credenziali di autenticazione DRM necessarie per visualizzare il contenuto crittografato sottostante.

Il metodo setDRMAuthenticationCredentials() deve fornire le credenziali che corrispondono a quelle conosciute e accettate dal fornitore di contenuti o dal server proxy. Si tratta delle stesse credenziali utilizzate dall'utente quando ottiene il permesso di visualizzare il contenuto.

Parametri

userName:String — Una credenziale valida per il nome utente.
 
password:String — La credenziale password che corrisponde al nome utente fornito.
 
type:String — Una stringa che specifica il tipo di credenziali di autenticazione fornite. I valori validi sono "drm" e "proxy". Il valore predefinito è "drm".
  • Con il tipo di autenticazione "drm" , le credenziali fornite sono autenticate da Flash Access.
  • Con il tipo di autenticazione "proxy", le credenziali fornite vengono autenticate sul server proxy e devono corrispondere a quelle richieste dal server proxy. Ad esempio, l'opzione "proxy" consente all'applicazione di effettuare l'autenticazione su un server proxy se un'impresa richiede tale operazione prima che all'utente sia consentito di accedere a Internet. A meno che non venga utilizzata l'autenticazione anonima, dopo l'autenticazione sul proxy, l'utente deve comunque autenticarsi tramite Flash Access per ottenere il voucher ed eseguire il contenuto. Potete utilizzare setDRMAuthenticationcredentials() una seconda volta, con l'opzione "drm", per effettuare l'autenticazione con Flash Access.

Elementi API correlati

step

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2

Avanza o retrocede del numero di fotogrammi specificato rispetto al fotogramma attualmente visualizzato. Specificate un numero positivo per avanzare e un numero negativo per procedere a ritroso. Chiamate questo metodo per creare funzionalità accurate di avanzamento rapido e riavvolgimento.

Nota: questo metodo non è supportato per il video H.264 in AIR 3.0 per iOS.

Questo metodo è disponibile solo durante lo streaming dei dati da Flash Media Server 3.5.3 o versioni successive e quando NetStream.inBufferSeek è true. Inoltre, il fotogramma di destinazione deve essere all'interno del buffer. Se, ad esempio, il fotogramma visualizzato è il numero 120 e specificate il valore 1000, il metodo ha esito negativo se il numero 1120 non è presente nel buffer.

Questo metodo è studiato per essere utilizzato in combinazione con il metodo pause() o togglePause(). Se avanzate o arretrate di 10 fotogrammi durante la riproduzione senza effettuare una pausa, potreste notare i passaggi oppure una specie di difetto nella riproduzione. Inoltre, quando chiamate pause() o togglePause, l'audio viene soppresso.

Se la chiamata a NetStream.step() riesce, viene inviato un oggetto NetStatusEvent con "NetStream.Step.Notify" come valore della proprietà code dell'oggetto info.

Parametri

frames:int

Elementi API correlati

togglePause

()metodo 
public function togglePause():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Sospende o riprende la riproduzione di un flusso. La prima volta che viene chiamato questo metodo, la riproduzione viene messa in pausa; la volta successiva la riproduzione viene ripresa. È possibile utilizzare questo metodo per consentire agli utenti di mettere in pausa o riprendere la riproduzione premendo un solo pulsante.

Elementi API correlati

Descrizione degli eventi

asyncError

Evento
Tipo di oggetto evento: flash.events.AsyncErrorEvent
proprietà AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo. Questo evento viene inviato quando un server chiama un metodo sul client che non è definito.

La costante AsyncErrorEvent.ASYNC_ERROR definisce il valore della proprietà type di un oggetto evento asyncError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto che invia l'evento.
errorL'errore che ha attivato l'evento.

Elementi API correlati

drmAuthenticate

Evento  
Tipo di oggetto evento: flash.events.DRMAuthenticateEvent
proprietà DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Lite 4

Inviato quando un oggetto NetStream tenta di riprodurre un contenuto con crittografia DRM che per essere riprodotto richiede una credenziale utente come autenticazione.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

Utilizzate il metodo setDRMAuthenticationCredentials() dell'oggetto NetStream per autenticare l'utente. Se l'autenticazione dell'utente ha dato esito negativo, l'applicazione ritenta l'autenticazione e invia un nuovo evento DRMAuthenticateEvent per l'oggetto NetStream.

La costante DRMAuthenticateEvent.DRM_AUTHENTICATE definisce il valore della proprietà type di un oggetto evento DRMAuthenticateEvent.

Questo evento ha le seguenti proprietà:

ProprietàValore
authenticationTypeIndica se le credenziali fornite sono per l'autenticazione sul server FMRMS (Flash Media Rights Management Server) o su un server proxy.
bubblesfalse
cancelablefalse non è presente alcun comportamento predefinito da annullare.
headerL'intestazione del file di contenuto crittografato fornita dal server.
netstreamL'oggetto NetStream che ha avviato l'evento.
passwordPromptUna richiesta di credenziale password fornita dal server.
targetL'oggetto NetStream.
urlPromptUna richiesta di visualizzazione URL fornita dal server.
usernamePromptUna richiesta di credenziale nome utente, fornita dal server.

Elementi API correlati

drmError

Evento  
Tipo di oggetto evento: flash.events.DRMErrorEvent
proprietà DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 10.1, Flash Lite 4

Inviato quando un oggetto NetStream che tenta di riprodurre un file con crittografia DRM incontra un errore relativo al DRM. Ad esempio, quando l'autorizzazione ha esito negativo viene inviato un oggetto DRMErrorEvent. Ciò può verificarsi perché l'utente non ha acquistato i diritti per visualizzare il contenuto o perché il fornitore del contenuto non supporta l'applicazione di visualizzazione.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

La costante DRMErrorEvent.DRM_ERROR definisce il valore della proprietà type di un oggetto evento drmError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
errorIDUn codice di errore numerico assegnato al problema.
subErrorIDUn codice di errore che indica informazioni più dettagliate sul problema verificatosi.
targetL'oggetto NetStream.

Elementi API correlati

drmStatus

Evento  
Tipo di oggetto evento: flash.events.DRMStatusEvent
proprietà DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 10.1, Flash Lite 4

Inviato quando il contenuto con codifica DRM (Digital Rights Management) inizia la riproduzione (quando l'utente è stato autenticato e autorizzato a riprodurre il contenuto).

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

L'oggetto DRMStatusEvent contiene informazioni relative al voucher, ad esempio se il contenuto è disponibile non in linea o la scadenza del voucher con conseguente impossibilità per gli utenti di visualizzare il contenuto.

La costante DRMStatusEvent.DRM_STATUS definisce il valore della proprietà type di un oggetto evento drmStatus.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
detailUna stringa che descrive il contesto dell'evento di stato
isAnonymousIndica se il contenuto, protetto dalla crittografia DRM è disponibile senza che l'utente debba fornire credenziali di autenticazione.
isAvailableOfflineIndica se il contenuto, protetto dalla crittografia DRM è disponibile non in linea.
offlineLeasePeriodIl numero rimanente di giorni in cui il contenuto può essere visualizzato non in linea.
policiesOggetto personalizzato dell'evento di stato DRM.
targetL'oggetto NetStream.
voucherEndDateLa data assoluta in cui il voucher scade e il contenuto non è più visibile per gli utenti.
contentDataLa classe DRMContentData per il contenuto
voucherL'oggetto DRMVoucher per il contenuto.
isLocalIndica se il contenuto è memorizzato nel file system locale

Elementi API correlati

ioError

Evento  
Tipo di oggetto evento: flash.events.IOErrorEvent
proprietà IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Inviato quando si verifica un errore di input o di output che impedisce l'operazione di rete.

Definisce il valore della proprietà type di un oggetto evento ioError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
errorIDUn numero di riferimento associato all'errore specifico (solo AIR).
targetL'oggetto di rete interessato dall'errore di input/output.
textTesto da visualizzare come messaggio di errore.

mediaTypeData

Evento  
Tipo di oggetto evento: flash.events.NetDataEvent
proprietà NetDataEvent.type = flash.events.NetDataEvent

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.3, AIR 2.7

Inviato quando si riproduce contenuto video e si elaborano alcuni tipi di messaggi.

Un oggetto NetDataEvent viene inviato per i messaggi seguenti:

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (per il codice NetStream.Play.Complete)
  • onTextData
  • onXMPData

Nota: questo evento non viene inviato dal contenuto eseguito in Flash Player nel browser nel sistema operativo Android o Blackberry Tablet oppure dal contenuto eseguito in AIR su iOS.

netStatus

Evento  
Tipo di oggetto evento: flash.events.NetStatusEvent
proprietà NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Inviato quando un oggetto NetStream segnala il proprio stato o una condizione di errore. L'evento netStatus contiene una proprietà info, che è un oggetto informazione contenente informazioni specifiche sull'evento, ad esempio se un tentativo di connessione è riuscito o fallito.

Definisce il valore della proprietà type di un oggetto evento netStatus.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
infoUn oggetto con proprietà che ne descrivono lo stato o la condizione di errore.
targetL'oggetto NetConnection o NetStream che ne riporta lo stato.

Elementi API correlati

onCuePoint

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Definisce un listener per rispondere quando si raggiunge un cue point incorporato durante la riproduzione di un file video. Potete utilizzare questo listener per attivare le azioni nel codice quando il video raggiunge un cue point specifico, che consente di sincronizzare altre azioni nell'applicazione con eventi di riproduzione video. Per informazioni sui formati di file video supportati da Flash Media Server, vedete www.adobe.com/go/learn_fms_fileformats_it.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

onCuePoint è in effetti una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi in quanto risponde a un evento di dati, durante lo streaming di media utilizzando Flash Media Server o durante la riproduzione di file FLV. Per ulteriori informazioni, fate riferimento alla descrizione della classe NetStream. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare onCuePoint come un evento. Definite una funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Create una sottoclasse di NetStream e definite il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Il listener di eventi associato viene attivato dopo una chiamata al metodo NetStream.play(), ma prima che l'indicatore di riproduzione del video avanzi.

I seguenti tipi di cue point possono essere incorporati in un file video:

  • Un cue point di navigazione specifica un fotogramma chiave all'interno del file video e la proprietà time del cue point corrisponde proprio a tale fotogramma chiave. I cue point di navigazione vengono spesso utilizzati come segnalibri o punti di entrata per consentire agli utenti di navigare all'interno del file video.
  • Un cue point di evento specifica un tempo particolare, che può corrispondere o meno a un fotogramma chiave specifico. Un cue point di evento di solito rappresenta un momento temporale nel video, in corrispondenza del quale si verifica un evento che potrebbe essere utilizzato per attivare altri eventi di applicazione.

L'oggetto evento onCuePoint ha le proprietà seguenti:

ProprietàDescrizione
nameNome assegnato al cue point quando è stato incorporato nel file video.
parametriUn array associativo di stringhe di coppie nome/valore specificato per il cue point. Per il nome o il valore del parametro è possibile utilizzare qualunque stringa valida.
timeIl momento temporale espresso in secondi in corrispondenza del quale si è verificato il cue point nel file video durante la riproduzione.
typeIl tipo di cue point raggiunto: di navigazione o di evento.

È possibile definire i cue point in un file video quando si codifica il file o quando si importa un video clip nello strumento di creazione di Flash mediante la procedura guidata Importa video.

L'evento onMetaData recupera anche le informazioni sui cue point in un file video. Tuttavia, l'evento onMetaData ottiene le informazioni relative a tutti i cue point prima che inizi la riproduzione del video. L'evento onCuePoint riceve le informazioni su un singolo cue point nel momento temporale specificato per tale cue point durante la riproduzione.

In generale, per fare in modo che il codice risponda a uno specifico cue point nel momento in cui si verifica, utilizzate l'evento onCuePoint per attivare delle azioni nel codice.

È possibile utilizzare l'elenco dei cue point fornito dall'evento onMetaData per consentire all'utente di avviare la riproduzione del video in corrispondenza di alcuni punti predefiniti nel corso dello streaming del video. Passare il valore della proprietà time del cue point al metodo NetStream.seek() per riprodurre il video a partire da tale cue point.


Esempio  ( Come utilizzare questo esempio )

Nell'esempio seguente è illustrato come potete caricare file FLV esterni e rispondere a metadati e cue point. Esempio fornito da 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);
}

Elementi API correlati

onDRMContentData

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.5, Flash Lite 4

Definisce un listener che risponde quando AIR estrae i metadati del contenuto DRM incorporati in un file multimediale.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

Un oggetto DRMContentData contiene le informazioni richieste per ottenere un voucher necessario per riprodurre un file multimediale protetto con DRM. Utilizzate la classe DRMManager per scaricare il voucher con queste informazioni.

onDRMContentData è una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi poiché risponde a un evento dati quando precarica i dati incorporati provenienti da un file multimediale locale. Per ulteriori informazioni, fate riferimento alla descrizione della classe NetStream. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare onDRMContentData come un evento. Piuttosto, è necessario definire una funzione di callback singola e associarla direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Tuttavia, è possibile creare una sottoclasse di NetStream e definire un gestore di eventi nella sottoclasse oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Elementi API correlati

onImageData

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Definisce un listener per rispondere quando Flash Player riceve dati dell'immagine come array di byte incorporato in un file multimediale in riproduzione. I dati dell'immagine possono produrre contenuto JPEG, PNG o GIF. Utilizzate il metodo flash.display.Loader.loadBytes() per caricare l'array di byte in un oggetto di visualizzazione.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

onImageData è in effetti una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi in quanto risponde a un evento di dati, durante lo streaming di media utilizzando Flash Media Server o durante la riproduzione di file FLV. Per ulteriori informazioni, fate riferimento alla descrizione della classe NetStream. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare, o elaborare, onImageData come un evento. Definite una singola funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Create una sottoclasse di NetStream e definite il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Il listener di eventi associato viene attivato dopo una chiamata al metodo NetStream.play(), ma prima che l'indicatore di riproduzione del video avanzi.

L'oggetto evento onImageData contiene i dati dell'immagine come array di byte inviato tramite un canale dati AMF0.


Esempio  ( Come utilizzare questo esempio )

Il codice in questo esempio utilizza la proprietà Netstream.client per gestire le funzioni di callback per onTextData e onImageData. La funzione onImageDataHandler() utilizza l'oggetto evento onImageData imageData per archiviare l'array di byte. La funzione onTextDataHandler(), inoltre, utilizza l'oggetto evento onTextData textData per archiviare gli elementi dei dati di testo (ognuno di questi elementi è una proprietà dell'oggetto textData).

Nel codice, dovete utilizzare una posizione reale di un file multimediale con metadati di immagine o testo al posto della posizione "yourURL".

Potete inoltre gestire i dati di testo e di immagine utilizzando una classe personalizzata. Per ulteriori informazioni ed esempi, potete vedere l'articolo Handling metadata and cue points in Flash video (Gestione di metadati e cue point in Flash Video).

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

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

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

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

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

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

            public function onImageDataHandler(imageData:Object):void {

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

    
            public function onTextDataHandler(textData:Object):void {

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

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

        }

}

Elementi API correlati

onMetaData

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Definisce un listener per rispondere quando Flash Player riceve informazioni descrittive incorporate nel video in riproduzione. Per informazioni sui formati di file video supportati da Flash Media Server, vedete www.adobe.com/go/learn_fms_fileformats_it.

onMetaData è in effetti una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi in quanto risponde a un evento di dati, durante lo streaming di media utilizzando Flash Media Server o durante la riproduzione di file FLV. Per ulteriori informazioni, fate riferimento alla descrizione della proprietà NetStream.client. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare, o elaborare, onMetaData come un evento. Definite una singola funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Potete creare una sottoclasse di NetStream e definire il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

L'utilità Flash Video Exporter (versione 1.1 o successiva) incorpora la durata, la data di creazione, i trasferimenti dati e altre informazioni relative al video nel video stesso. Encoder video diversi incorporano serie di metadati diverse.

Il listener di eventi associato viene attivato dopo una chiamata al metodo NetStream.play(), ma prima che l'indicatore di riproduzione del video avanzi.

In molti casi il valore di durata incorporato nei metadati FLV si avvicina alla durata effettiva ma non corrisponde esattamente. In altre parole non corrisponde sempre al valore della proprietà NetStream.time quando l'indicatore di riproduzione si trova alla fine dello streaming video.

L'oggetto evento passato al gestore di eventi onMetaData contiene una proprietà per ogni dato.


Esempio  ( Come utilizzare questo esempio )

Nell'esempio seguente è illustrato come potete caricare file FLV esterni e rispondere a metadati e cue point. Esempio fornito da 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);
}

Elementi API correlati

onPlayStatus

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Definisce un listener per rispondere quando un oggetto NetStream ha completato la riproduzione di un flusso. L'oggetto evento associato fornisce informazioni oltre a quelle restituite dall'evento netStatus. Potete utilizzare questa proprietà per attivare delle azioni nel codice quando un oggetto NetStream è passato da uno streaming a un altro in un elenco di riproduzione (come indicato dell'oggetto informazione NetStream.Play.Switch) o quando un oggetto NetStream ha effettuato la riproduzione fino alla fine (come indicato dall'oggetto informazione NetStream.Play.Complete).

onPlayStaus è in effetti una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi in quanto risponde a un evento di dati, durante lo streaming di media utilizzando Flash Media Server o durante la riproduzione di file FLV. Per ulteriori informazioni, fate riferimento alla descrizione della classe NetStream. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare onPlayStatus come un evento. Definite una funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Create una sottoclasse di NetStream e definite il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Questo evento può restituire un oggetto informazione con le proprietà seguenti:

Proprietà di codiceProprietà di livelloSignificato
NetStream.Play.Switch"status"Il subscriber passa da uno streaming a un altro all'interno di una sequenza di brani.
NetStream.Play.Complete"status"La riproduzione è stata completata.
NetStream.Play.TransitionComplete"status"Il subscriber passa a un nuovo flusso a seguito del passaggio di velocità di trasferimento del flusso

Elementi API correlati

onSeekPoint

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 2, Flash Lite 4

Chiamato in modo sincrono da appendBytes() quando il parser di byte incontra un punto che viene valutato come punto ricercabile (ad es. un fotogramma chiave video). Utilizzate questo evento per costruire una tabella di punti di ricerca. byteCount corrisponde al valore byteCount del primo byte del messaggio analizzabile per quel punto di ricerca, e viene reimpostato a zero come descritto sopra. Per effettuare la ricerca, in corrispondenza dell'evento NetStream.Seek.Notify trovate i byte che iniziano su un punto ricercabile e chiamate appendBytes(bytes). Se l'argomento bytes è un ByteArray che consiste di byte che iniziano in corrispondenza del punto ricercabile, il video viene riprodotto da quel punto.

Nota: le chiamate a appendBytes() dall'interno di questo callback vengono ignorate.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

onSeekPoint è una proprietà dell'oggetto NetStream.client. La proprietà è riportata nella sezione Eventi perché risponde ai dati che pervengono al metodo appendBytes(). Per ulteriori informazioni, fate riferimento alla descrizione della proprietà NetStream.client. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare onSeekPoint come un evento. Per utilizzare onSeekPoint, definite una funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Potete tuttavia creare una sottoclasse di NetStream e definire il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Elementi API correlati

onTextData

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Definisce un listener per rispondere quando Flash Player riceve dati di testo incorporati in un file multimediale in riproduzione. I dati di testo sono in formato UTF-8 e possono contenere informazioni sulla formattazione in base alla specifica Timed Text 3GP.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

onTextData è in effetti una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi in quanto risponde a un evento di dati, durante lo streaming di media utilizzando Flash Media Server o durante la riproduzione di file FLV. Per ulteriori informazioni, fate riferimento alla descrizione della classe NetStream. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare o elaborare onTextData come un evento. Definite una funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Create una sottoclasse di NetStream e definite il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Il listener di eventi associato viene attivato dopo una chiamata al metodo NetStream.play(), ma prima che l'indicatore di riproduzione del video avanzi.

L'oggetto evento onTextData contiene una proprietà per ciascun elemento dei dati di testo.


Esempio  ( Come utilizzare questo esempio )

Il codice in questo esempio utilizza la proprietà Netstream.client per gestire le funzioni di callback per onTextData e onImageData. La funzione onImageDataHandler() utilizza l'oggetto evento onImageData imageData per archiviare l'array di byte. La funzione onTextDataHandler(), inoltre, utilizza l'oggetto evento onTextData textData per archiviare gli elementi dei dati di testo (ognuno di questi elementi è una proprietà dell'oggetto textData).

Nel codice, dovete utilizzare una posizione reale di un file multimediale con metadati di immagine o testo al posto della posizione "yourURL".

Potete inoltre gestire i dati di testo e di immagine utilizzando una classe personalizzata. Per ulteriori informazioni ed esempi, potete vedere l'articolo Handling metadata and cue points in Flash video (Gestione di metadati e cue point in Flash Video).

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

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

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

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

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

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

            public function onImageDataHandler(imageData:Object):void {

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

    
            public function onTextDataHandler(textData:Object):void {

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

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

        }

}

Elementi API correlati

onXMPData

Evento  

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Definisce un listener per rispondere quando Flash Player riceve informazioni specifiche di Adobe Extensible Metadata Platform (XMP) incorporate nel video in riproduzione. Per informazioni sui formati di file video supportati da Flash Media Server, vedete www.adobe.com/go/learn_fms_fileformats_it.

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

onXMPData è in effetti una proprietà dell'oggetto NetStream.client. Questa proprietà è elencata nella sezione Eventi in quanto risponde a un evento di dati, durante lo streaming di media utilizzando Flash Media Server o durante la riproduzione di file FLV. Per ulteriori informazioni, fate riferimento alla descrizione della proprietà NetStream.client. Non potete utilizzare il metodo addEventListener() o uno qualsiasi degli altri metodi EventDispatcher per intercettare, o elaborare, onMetaData come un evento. Definite una funzione di callback e associatela direttamente a uno degli oggetti seguenti:

  • L'oggetto a cui fa riferimento la proprietà client di un'istanza NetStream.
  • Un'istanza di una classe NetStream. NetStream è una classe chiusa; in altre parole, non è possibile aggiungere proprietà o metodi a un oggetto NetStream in fase di runtime. Potete tuttavia creare una sottoclasse di NetStream e definire il gestore di eventi in tale sottoclasse, oppure rendere dinamica la sottoclasse e aggiungere la funzione del gestore di eventi a un'istanza della sottoclasse.

Il listener di eventi associato viene attivato dopo una chiamata al metodo NetStream.play(), ma prima che l'indicatore di riproduzione del video avanzi.

L'oggetto passato alla funzione di gestione degli eventi onXMPData() ha una proprietà data, che è una stringa. La stringa è generata da una UUID box di livello superiore. (L'UUID a 128 bit della box di livello superiore è BE7ACFCB-97A9-42E8-9C71-999491E3AFAC). La UUID box di livello superiore contiene esattamente un documento XML rappresentato come una stringa UTF-8 terminata da un byte nullo.

Elementi API correlati

status

Evento  
Tipo di oggetto evento: flash.events.StatusEvent
proprietà StatusEvent.type = flash.events.StatusEvent.STATUS

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10.1, AIR 1.0, Flash Lite 4

Inviato quanto l'applicazione tenta di riprodurre il contenuto con crittografia DRM richiamando il metodo NetStream.play(). Il valore della proprietà del codice di stato è "DRM.encryptedFLV".

Nota: questo evento non è supportato per il video H.264 in AIR 3.0 per iOS.

Definisce il valore della proprietà type di un oggetto evento status.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
codeUna descrizione dello stato dell'oggetto.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
levelLa categoria del messaggio, ad esempio "status", "warning" o "error".
targetL'oggetto che riporta il proprio stato.

Elementi API correlati

Descrizione delle costanti

CONNECT_TO_FMS

Costante
public static const CONNECT_TO_FMS:String = "connectToFMS"

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Un oggetto statico utilizzato come parametro della funzione di costruzione per un'istanza NetStream. Si tratta del valore predefinito del secondo parametro nella funzione di costruzione NetStream; non viene utilizzato dall'applicazione per la riproduzione progressiva di contenuti multimediali. Quando viene utilizzato, questo parametro fa in modo che la funzione di costruzione stabilisca una connessione a un'istanza di Flash Media Server.

DIRECT_CONNECTIONS

Costante 
public static const DIRECT_CONNECTIONS:String = "directConnections"

Versione linguaggio: ActionScript 3.0
Versioni runtime: Flash Player 10, AIR 1.5, Flash Lite 4

Crea una connessione publisher da peer a peer. Passate la stringa per il secondo parametro (opzionale) alla funzione di costruzione per un'istanza NetStream. Con questa stringa, un'applicazione può creare una connessione NetStream alla scopo di pubblicare audio e video per i client.

NetConnectionExample.as

Nell'esempio seguente viene utilizzato un oggetto Video con le classi NetConnection e NetStream per caricare ed eseguire un file FLV.

In questo esempio, il codice che crea gli oggetti Video e NetStream e chiama i metodi Video.attachNetStream() e NetStream.play() viene collocato in una funzione gestore. Il gestore viene chiamato solo se il tentativo di connessione all'oggetto NetConnection ha esito positivo; cioè quando l'evento netStatus restituisce un oggetto info con una proprietà code che indica l'esito positivo. È consigliabile attendere la riuscita della connessione prima di effettuare la chiamata a 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

Potete ottenere i metadati utilizzando una funzione anziché creando una classe personalizzata. Il suggerimento che segue, fornito da Bill Sanders, mostra come modificare il codice NetConnectionExample per chiamare i metadati in una funzione. In questo caso, l'oggetto mdata viene usato per impostare la larghezza e l'altezza di un'istanza video 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 ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.