Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: AIR 30.0 以前, Flash Player 30.0 以前, Flash Lite 4
Flex 4.6 以前, Flash Pro CS6 以前
フィルターを非表示
flash.net 

NetStream  - AS3

パッケージx

トップレベル
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

言語エレメント

グローバル定数
グローバル関数
演算子
ステートメント、キーワード、ディレクティブ
特殊な型

付録

新機能
コンパイルエラー
コンパイラー警告
ランタイムエラー
ActionScript 3 への移行
サポートされている文字セット
MXML のみのタグ
モーション XML エレメント
Timed Text タグ
使用されなくなったエレメントのリスト
Accessibility Implementation 定数
ActionScript の例の使用方法
法律上の注意
パッケージflash.net
クラスpublic class NetStream
継承NetStream Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

NetStream クラスは NetConnection 経由で単方向ストリーミングチャンネルを開きます。

NetStream クラスを使用して、次の操作を行います。

  • NetStream.play() を呼び出して、ローカルディスク、Web サーバーまたは Flash Media Server からメディアファイルを再生します。
  • NetStream.publish() を呼び出して、ビデオ、オーディオおよびデータストリームを Flash Media Server にパブリッシュします。
  • NetStream.send() を呼び出して、サブスクライブされたすべてのクライアントにデータメッセージを送信します。
  • NetStream.send() を呼び出して、メタデータをライブストリームに追加します。
  • NetStream.appendBytes() を呼び出して、ByteArray データを NetStream に渡します。

注意:同じ NetStream オブジェクトでは、ストリームを再生およびパブリッシュできません。

Adobe AIR および Flash Player 9.0.115.0 以降のバージョンでは、標準の MPEG-4 コンテナ形式から派生したファイルがサポートされます。H.264 ビデオまたは HE-AAC v2 エンコードオーディオ、あるいはその両方が含まれている場合、このようなファイルには F4V、MP4、M4A、MOV、MP4V、3GP および 3G2 があります。H.264 では、Sorenson または On2 の同じエンコードプロファイルと比較して、低いビットレートで高品質のビデオが配信されます。AAC は、MPEG-4 ビデオ標準で定義された標準オーディオ形式です。AAC の拡張である HE-AAC v2 は、スペクトルバンドレプリケーション(SBR)およびパラメトリックステレオ(PS)技法を使用して、低いビットレートでのコーディング効率を向上させます。

サポートされているコーデックおよびファイル形式について詳しくは、以下を参照してください。

Flash Media Server ストリーム、プログレッシブ F4V ファイル、またはプログレッシブ FLV ファイルからデータを受け取る

Flash Media Server、F4V ファイル、および FLV ファイルは、ストリーミング中または再生中に特定のデータポイントで、データが含まれているイベントオブジェクトを送信できます。再生中は、2 つの方法でストリームまたは FLV ファイルからのデータを処理できます。

  • client プロパティをイベントハンドラーと関連付けてデータオブジェクトを受信します。NetStream.client プロパティを使用して、特定のデータ処理関数の呼び出しにオブジェクトを割り当てます。NetStream.client プロパティに割り当てられたオブジェクトは、onCuePoint()onImageData()onMetaData()onPlayStatus()onSeekPoint()onTextData() および onXMPData() の各データポイントを監視できます。これらの関数内にプロシージャを書き込んで、再生中にストリームから返されたデータオブジェクトを処理します。詳しくは、NetStream.client プロパティを参照してください。
  • client プロパティを NetStream クラスのサブクラスに関連付けて、データオブジェクトを受信するイベントハンドラーを書き込みます。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義することはできます。また、そのサブクラスをダイナミックにしてイベントハンドラーをサブクラスのインスタンスに追加することもできます。

NetGroup.Neighbor.Connect イベントの受信を待ってから、オブジェクトレプリケーション、ダイレクトルーティングまたはポスティング API を使用します。

注意:MP3 などのオーディオファイルでデータを送信するには、Sound クラスを使用してオーディオファイルと Sound オブジェクトを関連付けます。次に、Sound.id3 プロパティを使用してサウンドファイルからメタデータを読み込みます。

AIR for iOS で H.264 エンコードされたビデオのサポート

H.264 ビデオでは、AIR 3.0 for iOS(およびそれ以降)は、完全な NetStream API のサブセットをサポートしています。次の表は、AIR for iOS でサポートされていない、再生用 NetStream メンバーの一覧です。

サポートされていないプロパティサポートされていないメソッドサポートされていないイベント
bufferTimeappendBytes()onCuePoint(FLV ファイルでのみ有効)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayDRM.encryptedFLV ステータスイベントコード
maxPauseBufferTime
soundTransform
RTMFP 接続を記述するすべてのプロパティ

AIR for iOS の使用に関する追加情報については、NetStream.play() メソッドを参照してください。

例を表示

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
  audioReliable : Boolean
RTMFP 接続の場合、音声が完全な信頼性を備えて送信されるかどうかを指定します。
NetStream
  audioSampleAccess : Boolean
RTMFP 接続の場合、この NetStream 上のピアーツーピアーサブスクライバーに音声ストリームのキャプチャを許可するかどうかを指定します。
NetStream
  backBufferLength : Number
[読み取り専用] 巻戻しおよび再生のために現在キャッシュされている、以前に表示されたデータの秒数。
NetStream
  backBufferTime : Number
巻き戻しと再生のために Flash Player がキャッシュする、以前に表示されたデータの量を秒単位で指定します。
NetStream
  bufferLength : Number
[読み取り専用] バッファーに現在格納されているデータの秒数です。
NetStream
  bufferTime : Number
ストリームの表示を開始するまでにメッセージをどの程度の時間バッファリングしておくかを指定します。
NetStream
  bufferTimeMax : Number
ライブストリーミングコンテンツ用に、最大バッファー長を秒単位で指定します。
NetStream
  bytesLoaded : uint
[読み取り専用] 既にアプリケーションにロードされているデータのバイト数です。
NetStream
  bytesTotal : uint
[読み取り専用] アプリケーションにロードされるファイルの総バイト数。
NetStream
  checkPolicyFile : Boolean
ビデオファイルのロードを開始する前に、アプリケーションが、ロードするビデオファイルのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。
NetStream
  client : Object
F4V または FLV ファイルデータのストリーミングの処理で、コールバックメソッドの呼び出し元となるオブジェクトを指定します。
NetStream
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  currentFPS : Number
[読み取り専用] 1 秒あたりの表示フレーム数です。
NetStream
  dataReliable : Boolean
RTMFP 接続の場合、NetStream.send() 呼び出しが完全な信頼性を備えて送信されるかどうかを指定します。
NetStream
  farID : String
[読み取り専用] RTMFP 接続の場合、この NetStream インスタンスに接続されている相手側の識別子です。
NetStream
  farNonce : String
[読み取り専用] RTMFP および RTMPE 接続の場合、値は基本的にこのストリームの向こう側で選択され、この接続に固有です。
NetStream
  inBufferSeek : Boolean
表示されたデータがスマートシーク用にキャッシュされているか(TRUE)、キャッシュされていないか(FALSE)を指定します。
NetStream
  info : NetStreamInfo
[読み取り専用] サービスの質に関する統計情報をプロパティが持つ NetStreamInfo オブジェクトを返します。
NetStream
  liveDelay : Number
[読み取り専用] ライブ(バッファリングされていない)モードでサブスクライブしているストリームバッファー内にあるデータの秒数です。
NetStream
  maxPauseBufferTime : Number
一時停止モード中にメッセージをバッファリングしておく時間を秒単位で指定します。
NetStream
  multicastAvailabilitySendToAll : Boolean
RTMFP 接続の場合、ピアーツーピアーマルチキャストフラグメント可用性メッセージがすべてのピアーに送信されるか、1 つのピアーにのみ送信されるかを指定します。
NetStream
  multicastAvailabilityUpdatePeriod : Number
RTMFP 接続の場合、メッセージがピアーに送信される間隔を秒単位で指定し、ローカルノードで新しいピアーツーピアーマルチキャストメディアフラグメントを使用できることをピアーに通知します。
NetStream
  multicastFetchPeriod : Number
RTMFP 接続の場合、ピアーツーピアーマルチキャストメディアフラグメントが利用可能になったことをローカルノードが認識してから、これらのフラグメントをピアーから取得するまでの時間を秒単位で指定します。
NetStream
  multicastInfo : NetStreamMulticastInfo
[読み取り専用] RTMFP 接続の場合、プロパティにサービス品質に関する統計が含まれる NetStreamMulticastInfo オブジェクトを返します。
NetStream
  multicastPushNeighborLimit : Number
RTMFP 接続の場合、マルチキャストメディアを事前に移動するピアーの最大数を指定します。
NetStream
  multicastRelayMarginDuration : Number
RTMFP 接続の場合、指定された継続時間が過ぎてもピアーツーピアーマルチキャストデータを要求するピアーに対してデータを送信できるよう、データを利用できる継続時間を秒単位で指定します。
NetStream
  multicastWindowDuration : Number
RTMFP 接続の場合、ピアーツーピアーマルチキャスト再構築ウィンドウの継続時間を秒単位で指定します。
NetStream
  nearNonce : String
[読み取り専用] RTMFP および RTMPE 接続の場合、値は基本的にこのストリームのこちら側で選択され、この接続に固有です。
NetStream
  objectEncoding : uint
[読み取り専用] この NetStream オブジェクトのエンコード(AMF バージョン)です。
NetStream
  peerStreams : Array
[読み取り専用] パブリッシュするこの NetStream インスタンスを監視している、サブスクライブするすべての NetStream インスタンスを保持するオブジェクト。
NetStream
  soundTransform : flash.media:SoundTransform
この NetStream オブジェクトのサウンドを制御します。
NetStream
  time : Number
[読み取り専用] 再生ヘッドの位置(秒単位)です。
NetStream
  useHardwareDecoder : Boolean
ストリームでハードウェアアクセラレーターによるデコードを使用するかどうかを指定します。
NetStream
  useJitterBuffer : Boolean
ライブの非バッファーストリーミング(bufferTime = 0)の待ち時間を最小化します。
NetStream
  videoReliable : Boolean
RTMFP 接続の場合、ビデオが完全な信頼性を備えて送信されるかどうかを指定します。
NetStream
  videoSampleAccess : Boolean
RTMFP 接続の場合、この NetStream 上のピアーツーピアーサブスクライバーにビデオストリームのキャプチャを許可するかどうかを指定します。
NetStream
  videoStreamSettings : VideoStreamSettings
ストリーム圧縮のプロパティを指定します。
NetStream
パブリックメソッド
 メソッド定義元
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
メディアファイルを再生するときに使用できるストリームを作成し、NetConnection オブジェクトにデータを送信します。
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
  
ByteArray をプレイアウトのために NetStream に渡します。
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
タイムスケールの不連続性を示し、FIFO をフラッシュして、ファイルヘッダーまたは FLV タグの先頭を予期するようバイトパーサーに指示します。
NetStream
  
新規 NetConnection オブジェクトにストリームを接続します。
NetStream
  
ソースとして渡された Microphone オブジェクトからのオーディオストリームを、NetStream オブジェクトに接続します。
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
カメラからビデオのキャプチャを開始します。または、theCamera が null に設定されると、キャプチャを停止します。
NetStream
  
ストリーム上のすべてのデータの再生を停止し、time プロパティを 0 に設定して、他の用途でストリームにアクセスできるようにします。
NetStream
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
  
NetStream オブジェクトによって保持されているリソースをすべて解放します。
NetStream
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
ピアーがパブリッシュするストリームが、ピアーがサブスクライブするストリームに一致する場合に呼び出されます。
NetStream
  
ビデオストリームの再生を一時停止します。
NetStream
  
play(... arguments):void
ローカルディレクトリまたは Web サーバーからメディアファイルを再生します。Flash Media Server からメディアファイルまたはライブストリームを再生します。
NetStream
  
マルチビットレートのファイル間をシームレスに切り替え、接続が中断し再接続されたときに、NetStream が再開できるようにします。
NetStream
  
ローカルに保存されたメディアファイルから DRM メタデータを抽出します。
NetStream
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
publish(name:String = null, type:String = null):void
クライアントから Flash Media Server へ、ストリーミングオーディオ、ビデオ、およびデータメッセージを送信します。送信中にストリームを記録することもできます。
NetStream
  
ストリーム上で着信オーディオが再生されるかどうかを示します。
NetStream
  
ストリーム上で着信ビデオが再生されるかどうかを示します。
NetStream
  
着信ビデオのフレームレートを指定します。
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
[静的] AIR アプリケーションでは、すべてのローカルでキャッシュされた DRM(デジタル著作権管理)のバウチャーデータを削除します。
NetStream
  
再生を一時停止していたビデオストリームを再開します。
NetStream
  
seek(offset:Number):void
指定された位置に最も近いキーフレーム(ビデオ業界では I フレームとも呼ばれます)をシークします。
NetStream
  
send(handlerName:String, ... arguments):void
パブリッシュされたストリーム上で、サブスクライブしているすべてのクライアントにメッセージを送信します。
NetStream
  
基になる暗号化コンテンツを表示するために必要な DRM 認証資格情報を設定します。
NetStream
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
step(frames:int):void
現在表示されているフレームに対して、指定された数のフレーム分、前後に進みます。
NetStream
  
ストリームの再生を一時停止または再開します。
NetStream
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
  非同期形式で、つまりネイティブ非同期コードから例外がスローされると送出されます。NetStream
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  NetStream オブジェクトが、再生の前にユーザーの認証資格情報を要求する、DRM(デジタル著作権管理)で暗号化されたコンテンツを再生しようとすると送出されます。NetStream
  NetStream オブジェクトが DRM(デジタル著作権管理)で暗号化されたファイルを再生しようとして、DRM に関連したエラーを検出したときに送出されます。NetStream
  DRM(デジタル著作権管理)で暗号化されたコンテンツの再生が開始されるときに送出されます(ユーザーが認証されてコンテンツの再生が許可された場合)。NetStream
  入出力エラーが発生してネットワーク処理が失敗したときに送出されます。NetStream
  ビデオコンテンツの再生時と、一部の種類のメッセージが処理されたときに送出されます。NetStream
  NetStream オブジェクトが、そのステータスまたはエラーの状態をレポートすると送出されます。NetStream
  ビデオファイルの再生中に埋め込まれたキューポイントに達した場合に応答するリスナーを定義します。NetStream
  AIR がメディアファイル内に埋め込まれた DRM コンテンツメタデータを抽出したときに応答するリスナーを定義します。NetStream
  再生中のメディアファイルにバイト配列として埋め込まれているイメージデータを Flash Player が受け取ったときに応答するリスナーを定義します。NetStream
  再生中のビデオに埋め込まれた記述的情報を Flash Player が受け取ったときに応答するリスナーを定義します。NetStream
  NetStream オブジェクトによるストリームの再生が終了した場合に応答するリスナーを定義します。NetStream
  シーク可能ポイントと見なされるポイント(例えば、ビデオキーフレーム)が付加バイトパーサーによって検出されたときに、appendBytes() から同期的に呼び出されます。NetStream
  Flash Player が再生中のメディアファイルに埋め込まれたテキストデータを受信したときに応答するリスナーを定義します。NetStream
  再生中のビデオに埋め込まれている Adobe Extensible Metadata Platform(XMP)独自の情報を Flash Player が受け取ったときに応答するリスナーを定義します。NetStream
  アプリケーションが NetStream.play() メソッドを呼び出して DRM(デジタル著作権管理)で暗号化されたコンテンツを再生しようとすると送出されます。NetStream
パブリック定数
 定数定義元
  CONNECT_TO_FMS : String = "connectToFMS"
[静的] NetStream インスタンスのコンストラクターに対するパラメーターとして使用される静的オブジェクト。
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[静的] ピアーツーピアーの発行者接続を作成します。
NetStream
プロパティの詳細

audioReliable

プロパティ
audioReliable:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、音声が完全な信頼性を備えて送信されるかどうかを指定します。TRUE の場合、この NetStream 経由で送信されるすべての音声は完全に信頼できます。FALSE の場合、送信される音声は完全には信頼できませんが、一定の時間再送信された後、消失します。FALSE 値を使用すれば、音声品質を犠牲にして、レーテンシーを低減できます。

部分信頼性をサポートしていないネットワークプロトコルでプロパティを FALSE に設定しようとすると、この試行は無視され、プロパティは TRUE に設定されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get audioReliable():Boolean
    public function set audioReliable(value:Boolean):void

関連する API エレメント

audioSampleAccess

プロパティ 
audioSampleAccess:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、この NetStream 上のピアーツーピアーサブスクライバーに音声ストリームのキャプチャを許可するかどうかを指定します。FALSE の場合、音声ストリームをキャプチャしようとするサブスクライバーには権限エラーが表示されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get audioSampleAccess():Boolean
    public function set audioSampleAccess(value:Boolean):void

関連する API エレメント

backBufferLength

プロパティ 
backBufferLength:Number  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

巻戻しおよび再生のために現在キャッシュされている、以前に表示されたデータの秒数。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

このプロパティは、データが Flash Media Server 3.5.3 以降のストリーミングの場合にのみ使用可能です。Flash Media Server について詳しくは、このクラスの説明を参照してください。

以前に表示されたデータをどれだけキャッシュするかを指定するには、Netstream.backBufferTime プロパティを使用します。

データがキャッシュされるのを防ぐために、Netstream.inBufferSeek プロパティを FALSE に設定します。



実装
    public function get backBufferLength():Number

関連する API エレメント

backBufferTime

プロパティ 
backBufferTime:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

巻き戻しと再生のために Flash Player がキャッシュする、以前に表示されたデータの量を秒単位で指定します。デフォルト値は、デスクトップアプリケーションの場合は 30 秒、モバイルアプリケーションの場合は 3 秒です。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

このプロパティは、Flash Media Server 3.5.3 以降でデータをストリーミングする場合にのみ使用できます。Flash Media Server について詳しくは、このクラスの説明を参照してください。

このプロパティを使用すると、既に表示されたデータをもう一度サーバーから取得することがないので、巻戻し操作のパフォーマンスが向上します。 その代わり、ストリームはバッファーから再生を開始します。再生中、データはバッファーがいっぱいになるまでストリーミングを続けます。

巻戻し位置がキャッシュ内のデータよりも前の場合、バッファーはフラッシュされ、データは要求された位置でサーバーからストリーミングを開始します。

このプロパティを使用するには、Netstream.inBufferSeek プロパティを TRUE に設定します。



実装
    public function get backBufferTime():Number
    public function set backBufferTime(value:Number):void

関連する API エレメント

bufferLength

プロパティ 
bufferLength:Number  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

バッファーに現在格納されているデータの秒数です。このプロパティを bufferTime プロパティと組み合わせることにより、あとどれくらいの時間でバッファーが満たされるかを見積もることができます。例えば、バッファーにデータがロードされるのを待つユーザーに対してフィードバック情報を提供することが可能になります。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get bufferLength():Number

関連する API エレメント

bufferTime

プロパティ 
bufferTime:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ストリームの表示を開始するまでにメッセージをどの程度の時間バッファリングしておくかを指定します。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

デフォルト値は 0.1(1/10 秒)です。バッファー内の現在の秒数を調べるには、bufferLength プロパティを使用します。

サーバーサイド再生リストを再生するには、bufferTime に少なくとも 1 秒指定する必要があります。再生中に問題が発生した場合は、bufferTime の長さを増やしてください。

記録されているコンテンツ 記録されている(ライブではない)コンテンツをストリーミングするときにひずみが生じないようにするには、Netstream.bufferTime の値を 0 に設定しないようにします。記録されているコンテンツの場合、デフォルトでは入力バッファーが使用され、メディアデータがキューに置かれてメディアが適切に再生されます。記録されているコンテンツでは、デフォルト値を使用するか、バッファー時間を延長します。

ライブコンテンツ ライブコンテンツをストリーミングする場合は、bufferTime プロパティを 0 に設定します。

Flash Player 9.0.115.0 以降、Flash Player では、NetStream.pause() が呼び出されたときにバッファーをクリアしなくなりました。Flash Player 9.0.115.0 以前は、Flash Player はバッファーが満杯になるまで待機してから再生を開始していましたが、このため遅延がよく発生していました。

1 回の一時停止の場合、NetStream.bufferLength プロパティには 60 秒または NetStream.bufferTime の値の 2 倍のうち、いずれか大きい方の値という制限があります。例えば、bufferTime が 20 秒の場合、Flash Player は NetStream.bufferLength が 20*2 (40) または 60 のうち、大きい方の値になるまでバッファリングするため、この場合は、bufferLength が 60 秒になるまでバッファリングします。bufferTime が 40 秒の場合、Flash Player は bufferLength が 40*2 (80) または 60 のうち、大きい方の値になるまでバッファリングするため、この場合は、bufferLength が 80 秒になるまでバッファリングします。

bufferLength プロパティにも絶対制限があります。pause() の呼び出しによって bufferLength が 600 秒またはbufferTime * 2 の値のいずれか大きい方の値を超えた場合、Flash Player はバッファーをフラッシュし、bufferLength を 0 にリセットします。例えば、bufferTime が 120 秒の場合は、bufferLength が 600 秒に達すると、Flash Player はバッファーをフラッシュします。bufferTime が 360 秒の場合は、bufferLength が 720 秒に達すると、Flash Player はバッファーをフラッシュします。

ヒント:例えば、コードで NetStream.pause() を使用し、閲覧者がコマーシャルを見ている間、データをバッファーし、メインのビデオが開始されたときに一時停止を解除することができます。

一時停止の新しい動作の詳細については、http://www.adobe.com/go/learn_fms_smartpause_jp を参照してください。

Flash Media Server。バッファーの動作は、パブリッシュするストリームまたはサブスクライブするストリームにバッファー時間が設定されているかどうかによって異なります。パブリッシュするストリームの場合、bufferTime には、送信バッファーに蓄積されたフレームの送信を開始するまでの時間の長さを指定します。高速接続の場合は、バッファー時間を考慮する必要はありません。データは、アプリケーションがバッファリングすると即座に送信されます。一方、低速接続では、アプリケーションがデータをバッファリングする速度とクライアントに送信できる速度に大きな差が生じることがあります。

サブスクライブするストリームの場合、bufferTime には、受信データをバッファリングして、ストリームの表示を開始するまでの時間を指定します。

記録されたストリームを再生するときに、bufferTime が 0 の場合、Flash はバッファー時間を小さな値(約 10 ミリ秒)に設定します。ライブストリームを後で再生する場合(例えば、再生リストから再生)、このバッファー時間が保持されます。つまり、bufferTime はストリームに対して 0 以外の値のままになります。



実装
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

関連する API エレメント

bufferTimeMax

プロパティ 
bufferTimeMax:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

ライブストリーミングコンテンツ用に、最大バッファー長を秒単位で指定します。デフォルト値は 0 です。バッファー長は、ネットワークとデバイスの問題(送信側と受信側のクロックの誤差など)により、時間の経過と共に長くなることがあります。このプロパティを設定すると、ミーティングや調査などのライブアプリケーション用のバッファー長の上限を設定することができます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

bufferTimeMax > 0 および bufferLength >= bufferTimeMax の場合、bufferLengthbufferTime に到達するまで、オーディオは早く再生されます。ライブストリームがビデオのみの場合は、ビデオは bufferLengthbufferTime に達するまで高速で再生されます。

再生の遅延の程度(bufferLengthbufferTime の差異)に応じて、Flash Player は、キャッチアップレートを 1.5%~6.25%の間で制御します。ストリームにオーディオが含まれている場合、高速な再生は、ドメインで音声の歪みを最小化するダウンサンプリング周波数を使用することにより実現されます。

bufferTimeMax プロパティを設定すると、次の場合にライブバッファーストリームのキャッチアップが有効になります。

  • Flash Media Server からライブメディアをストリーミングする場合。
  • Data Generation Mode Flash Mode(NetStream.appendBytes())でライブメディアをストリーミングする場合。



実装
    public function get bufferTimeMax():Number
    public function set bufferTimeMax(value:Number):void

関連する API エレメント

bytesLoaded

プロパティ 
bytesLoaded:uint  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

既にアプリケーションにロードされているデータのバイト数です。このプロパティを bytesTotal プロパティと組み合わせることにより、あとどれくらいの時間でバッファーが満たされるかを見積もることができます。例えば、バッファーにデータがロードされるのを待つユーザーに対してフィードバック情報を提供することが可能になります。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get bytesLoaded():uint

関連する API エレメント

bytesTotal

プロパティ 
bytesTotal:uint  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

アプリケーションにロードされるファイルの総バイト数。



実装
    public function get bytesTotal():uint

関連する API エレメント

checkPolicyFile

プロパティ 
checkPolicyFile:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

ビデオファイルのロードを開始する前に、アプリケーションが、ロードするビデオファイルのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。このプロパティは、プログレッシブビデオのダウンロードと、呼び出し元の SWF ファイル自体のドメインの外部にあるファイルのロードに使用します。このプロパティは、RTMP を使用している場合は無視されます。

このプロパティを true に設定して、呼び出し元の SWF の外部にあるドメインからロードしたビデオファイル上の BitmapData.draw() を呼び出します。BitmapData.draw() メソッドを使用すると、ビデオにピクセルレベルでアクセスできます。ロード時に BitmapData.draw() を呼び出すときに checkPolicyFile プロパティを true に設定していないと、SecurityError 例外を受け取る場合があります。これは、必要なポリシーファイルがダウンロードされていないためです。

ロードしているビデオに対するピクセルレベルのアクセスが必要ない場合は、このプロパティを true に設定しないでください。ポリシーファイルを確認すると、ネットワーク帯域幅が消費されるため、ダウンロードの開始が遅れる場合があります。

NetStream.play() メソッドを呼び出すときに checkPolicyFile の設定が true になっていると、Flash Player または AIR ランタイムで該当するクロスドメインポリシーファイルが正常にダウンロードされるか、NetStream.play() によるダウンロードが開始される前にそのようなポリシーファイルは存在しないと判定されるか、いずれかになります。ポリシーファイルの存在を確認するため、Flash Player または AIR ランタイムは次のアクションをこの順番で実行します。

  1. アプリケーションは、既にダウンロードされているポリシーファイルを考慮します。
  2. アプリケーションは、Security.loadPolicyFile() メソッドの呼び出しで指定された保留中ポリシーファイルをダウンロードしようとします。
  3. アプリケーションは NetStream.play() に渡された URL に対応するデフォルトの場所からポリシーファイルをダウンロードしようとします。その URL と同じサーバー上の /crossdomain.xml がデフォルトの場所です。

どのような場合も、Flash Player または Adobe AIR では、該当するポリシーファイルがビデオのサーバー上に存在しており、ポリシーファイルの場所に基づいて play() に渡された URL にあるオブジェクトへのアクセスを提供し、<allow-access-from> タグによって呼び出し元コードのファイルのドメインがビデオにアクセスできるようにする必要があります。

checkPolicyFiletrue に設定した場合、アプリケーションはビデオをダウンロードする前に、ポリシーファイルが検証されるまで待機します。BitmapData.draw() の呼び出しなど、ビデオデータに対するピクセルレベルの操作は、NetStream オブジェクトから onMetaData イベントまたは NetStatus イベントを受け取るまで実行を待つ必要があります。

checkPolicyFiletrue に設定したが関連ポリシーファイルが見つからない場合、エラーになって SecurityError 例外がスローされるのは、ポリシーファイルを必要とする操作を実行してからです。

サーバーサイド HTTP リダイレクトを使用する URL からファイルをダウンロードする場合は、checkPolicyFile に注意してください。アプリケーションは、NetStream.play() で指定する初期 URL に対応するポリシーファイルを取得しようとします。最終的なファイルが HTTP リダイレクトによって別の URL から取得される場合、最初にダウンロードされたポリシーファイルはファイルの最終的な URL(セキュリティ判定においてはこの URL が重要となります)に適用できないことがあります。

ポリシーファイルについて詳しくは、『ActionScript 3.0 開発ガイド』の「Web サイトのコントロール(ポリシーファイル)」および Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。



実装
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

関連する API エレメント

client

プロパティ 
client:Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

F4V または FLV ファイルデータのストリーミングの処理で、コールバックメソッドの呼び出し元となるオブジェクトを指定します。デフォルトのオブジェクトは、作成される NetStream オブジェクト this です。client プロパティを別のオブジェクトに設定すると、コールバックメソッドはその別のオブジェクトで呼び出されます。NetStream.client オブジェクトは、関数 onCuePoint()onImageData()onMetaData()onPlayStatus()onSeekPoint()onTextData() および onXMPData() を呼び出して、関連付けられたデータオブジェクトを受け取ることができます。

client プロパティをイベントハンドラーに関連付けるには:

  1. オブジェクトを作成し、NetStream オブジェクトの client プロパティに割り当てます。
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. 必要なデータイベントに対するハンドラー関数をクライアントオブジェクトのプロパティとして割り当てます。
         customClient.onImageData = onImageDataHandler;
         
  3. 以下のようなデータイベントオブジェクトを受け取るハンドラー関数を記述します。
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

データがストリームを通るとき、または再生中、データイベントオブジェクト(この場合は imageData オブジェクト)にデータが取り込まれます。 onImageData の説明を参照してください。client プロパティに関連付けられたオブジェクトの例がすべて記載されています。

client プロパティをサブクラスに関連付けるには:

  1. ハンドラー関数を伴うサブクラスがデータイベントオブジェクトを受け取るように作成します。
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. サブクラスのインスタンスを NetStream オブジェクトの client プロパティに割り当てます。
         my_netstream.client = new CustomClient();
         

データがストリームを通るとき、または再生中、データイベントオブジェクト(この場合は info オブジェクト)にデータが取り込まれます。 NetStream クラスの最後にあるクラス例を参照してください。client プロパティへのサブクラスインスタンスの割り当てが記載されています。



実装
    public function get client():Object
    public function set client(value:Object):void

例外
TypeError client プロパティは、null 以外のオブジェクトに設定する必要があります。

関連する API エレメント

currentFPS

プロパティ 
currentFPS:Number  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

1 秒あたりの表示フレーム数です。複数のシステム上で再生できるようにビデオファイルを書き出す場合、テスト中にこの値をチェックすることで、ファイルの書き出し時にどの程度の圧縮が必要かを見極めることができます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get currentFPS():Number

dataReliable

プロパティ 
dataReliable:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、NetStream.send() 呼び出しが完全な信頼性を備えて送信されるかどうかを指定します。TRUE の場合、この NetStream 経由で送信された NetStream.send() 呼び出しは完全に信頼できます。FALSE の場合、NetStream.send() 呼び出しは完全な信頼性を備えて送信されることはありませんが、一定の時間再送信された後、消失します。値を FALSE に設定すれば、データ品質を犠牲にして、レーテンシーを低減できます。

部分信頼性をサポートしていないネットワークプロトコルでプロパティを FALSE に設定しようとすると、この試行は無視され、プロパティは TRUE に設定されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get dataReliable():Boolean
    public function set dataReliable(value:Boolean):void

関連する API エレメント

farID

プロパティ 
farID:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

RTMFP 接続の場合、この NetStream インスタンスに接続されている相手側の識別子です。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get farID():String

farNonce

プロパティ 
farNonce:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

RTMFP および RTMPE 接続の場合、値は基本的にこのストリームの向こう側で選択され、この接続に固有です。この値は、ストリームの向こう側では nearNonce 値となります。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get farNonce():String

inBufferSeek

プロパティ 
inBufferSeek:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

表示されたデータがスマートシーク用にキャッシュされているか(TRUE)、キャッシュされていないか(FALSE)を指定します。デフォルト値は FALSE です

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

Flash Media Server 3.5.3 および Flash Player 10.1 は連携してスマートシークをサポートします。スマートシークは、サーバー内のデータを要求せずに、巻き戻しと再生用のバッファーを使用します。標準のシークでは、バッファー済みのデータをフラッシュし、シーク時間に基づいて新しいデータを送信するようにサーバーに要求します。

NetStream.step() を呼び出して、指定した数のフレームを進めるか巻き戻します。NetStream.seek() を呼び出して、指定した数のフレームを前方へまたは後方へシークします。

スマートシークにより、サーバーの負荷が減少し、シークのパフォーマンスが向上します。inBufferSeek=true に設定し、step() およびseek() を呼び出して以下のものを作成します。

  • クライアント側 DVR 機能。新しいビデオの配信をサーバーに要求する代わりに、クライアント側のバッファー内をシークします。
  • トリックモード。フレームのコマ送り再生、早送り、巻き戻り、スローモーション再生中の早送りなどを実行するプレーヤーを作成します。

inBufferSeek=true と設定されていて、NetStream.seek() の呼び出しに成功した場合、NetStatusEvent の info.description プロパティには、ストリング "client-inBufferSeek" が含まれます。

NetStream.step() の呼び出しに成功した場合、NetStatusEvent の info.code プロパティにはストリング "NetStream.Step.Notify" が含まれます。



実装
    public function get inBufferSeek():Boolean
    public function set inBufferSeek(value:Boolean):void

関連する API エレメント

info

プロパティ 
info:NetStreamInfo  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

サービスの質に関する統計情報をプロパティが持つ NetStreamInfo オブジェクトを返します。このオブジェクトは現在の状態のスナップショットです。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get info():NetStreamInfo

関連する API エレメント

liveDelay

プロパティ 
liveDelay:Number  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ライブ(バッファリングされていない)モードでサブスクライブしているストリームバッファー内にあるデータの秒数です。このプロパティは、現在のネットワーク転送の遅延時間を示します。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

このプロパティは、主に Flash Media Server などのサーバーで使用することを目的としています。詳細については、クラスの説明を参照してください。

このプロパティの値を取得して、ストリームの転送品質を大まかに判断し、それをユーザーに伝えることができます。



実装
    public function get liveDelay():Number

maxPauseBufferTime

プロパティ 
maxPauseBufferTime:Number

ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

一時停止モード中にメッセージをバッファリングしておく時間を秒単位で指定します。このプロパティを使用して、一時停止モード中に行うバッファリングの量を制限できます。NetStream.bufferLength の値がこの制限に達するとバッファリングが停止します。

この値を設定しない場合は、デフォルトの 60 秒または各一時停止の NetStream.bufferTime の値の 2 倍のいずれか高いほうに設定されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get maxPauseBufferTime():Number
    public function set maxPauseBufferTime(value:Number):void

関連する API エレメント

multicastAvailabilitySendToAll

プロパティ 
multicastAvailabilitySendToAll:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、ピアーツーピアーマルチキャストフラグメント可用性メッセージがすべてのピアーに送信されるか、1 つのピアーにのみ送信されるかを指定します。値が TRUE の場合、メッセージが指定した間隔ですべてのピアーに一度だけ送信されることを指定します。値が FALSE の場合、メッセージが指定した間隔で 1 つのピアーにのみ送信されることを指定します。間隔は multicastAvailabilityUpdatePeriod プロパティによって決まります。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastAvailabilitySendToAll():Boolean
    public function set multicastAvailabilitySendToAll(value:Boolean):void

関連する API エレメント

multicastAvailabilityUpdatePeriod

プロパティ 
multicastAvailabilityUpdatePeriod:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、メッセージがピアーに送信される間隔を秒単位で指定し、ローカルノードで新しいピアーツーピアーマルチキャストメディアフラグメントを使用できることをピアーに通知します。この値を大きくすると、バッチ効率が向上し、制御オーバーヘッドは減少しますが、フラグメントが消失するまでにそれらのフラグメントを取得する時間が短縮されることにより、受信側での品質が低下する可能性があります。値を小さくすると、レーテンシーが下がり、制御オーバーヘッドが増加します。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastAvailabilityUpdatePeriod():Number
    public function set multicastAvailabilityUpdatePeriod(value:Number):void

関連する API エレメント

multicastFetchPeriod

プロパティ 
multicastFetchPeriod:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、ピアーツーピアーマルチキャストメディアフラグメントが利用可能になったことをローカルノードが認識してから、これらのフラグメントをピアーから取得するまでの時間を秒単位で指定します。この値によって、フラグメントをピアーから取得する前に、事前にローカルノードに移動させることができます。また、複数のピアーにフラグメントの提供を通知できるので、取得のための負荷を複数のピアーに分散できます。

この値を大きくすると、ピアーツーピアーメッシュ内の負荷バランスと公平性が向上しますが、利用可能な multicastWindowDuration が減り、レーテンシーが低下します。 この値を小さくすると、取得が要求されるときにレーテンシーが低下しますが、重複したデータ受信が増え、ピアーツーピアーメッシュの負荷バランスが低下します。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastFetchPeriod():Number
    public function set multicastFetchPeriod(value:Number):void

関連する API エレメント

multicastInfo

プロパティ 
multicastInfo:NetStreamMulticastInfo  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、プロパティにサービス品質に関する統計が含まれる NetStreamMulticastInfo オブジェクトを返します。このオブジェクトは現在の状態のスナップショットです。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastInfo():NetStreamMulticastInfo

関連する API エレメント

multicastPushNeighborLimit

プロパティ 
multicastPushNeighborLimit:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、マルチキャストメディアを事前に移動するピアーの最大数を指定します。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastPushNeighborLimit():Number
    public function set multicastPushNeighborLimit(value:Number):void

multicastRelayMarginDuration

プロパティ 
multicastRelayMarginDuration:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、指定された継続時間が過ぎてもピアーツーピアーマルチキャストデータを要求するピアーに対してデータを送信できるよう、データを利用できる継続時間を秒単位で指定します。この継続時間は multicastWindowDuration プロパティで指定されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastRelayMarginDuration():Number
    public function set multicastRelayMarginDuration(value:Number):void

関連する API エレメント

multicastWindowDuration

プロパティ 
multicastWindowDuration:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、ピアーツーピアーマルチキャスト再構築ウィンドウの継続時間を秒単位で指定します。値を小さくすると、レーテンシーは小さくなりますが、すべてのフラグメントを取得するために十分な時間がなくなり、品質が低下する場合があります。逆に時間を大きくすると、すべてのフラグメントを取得するための時間が十分とれるので、品質は向上しますが、それに伴って、レーテンシーが増加します。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get multicastWindowDuration():Number
    public function set multicastWindowDuration(value:Number):void

関連する API エレメント

nearNonce

プロパティ 
nearNonce:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

RTMFP および RTMPE 接続の場合、値は基本的にこのストリームのこちら側で選択され、この接続に固有です。この値は、ストリームの向こう側では farNonce 値となります。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get nearNonce():String

objectEncoding

プロパティ 
objectEncoding:uint  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

この NetStream オブジェクトのエンコード(AMF バージョン)です。NetStream オブジェクトは、関連付けされた NetConnection オブジェクトからその objectEncoding 値を継承します。ActionScript 3.0 SWF ファイルで Flash Player 9 以前にリリースされたサーバーと通信する必要がある場合は、このプロパティを理解することが重要です。詳細については、NetConnection クラスの objectEncoding プロパティに関する説明を参照してください。

このプロパティの値は、ローカルストリームかリモートストリームかによって異なります。nullNetConnection.connect() メソッドに渡されたローカルストリームでは、NetConnection.defaultObjectEncoding の値が返されます。サーバーに接続しているリモートストリームでは、このサーバーとの接続のオブジェクトエンコーディングが返されます。

接続されていない場合にこのプロパティを読み取ろうとするか、このプロパティを変更しようとすると、アプリケーションにより例外がスローされます。



実装
    public function get objectEncoding():uint

関連する API エレメント

peerStreams

プロパティ 
peerStreams:Array  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

パブリッシュするこの NetStream インスタンスを監視している、サブスクライブするすべての NetStream インスタンスを保持するオブジェクト。



実装
    public function get peerStreams():Array

soundTransform

プロパティ 
soundTransform:flash.media:SoundTransform

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

この NetStream オブジェクトのサウンドを制御します。詳細については、SoundTransform クラスを参照してください。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



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

関連する API エレメント

time

プロパティ 
time:Number  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

再生ヘッドの位置(秒単位)です。

Flash Media Server サブスクライブするストリームの場合、ストリームを再生した秒数です。パブリッシュするストリームの場合、ストリームをパブリッシュした秒数です。この数値は、小数点以下 3 桁までの精度があります。この数値に 1000 を掛けると、ストリームを再生したミリ秒単位の時間数になります。

サブスクライブするストリームでは、サーバーがデータの送信を停止してもストリームが開いたままになっている場合、time プロパティの値の増加が止まります。サーバーがデータの送信を再開すると、値の増加が止まった個所から値の増加が続けられます。

再生リストの要素間でストリームを切り替えても、time の値は増加を続けます。呼び出した NetStream.play()reset1 または true に設定されている場合、または NetStream.close() を呼び出した場合、このプロパティは 0 に設定されます。



実装
    public function get time():Number

関連する API エレメント

useHardwareDecoder

プロパティ 
useHardwareDecoder:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3

ストリームでハードウェアアクセラレーターによるデコードを使用するかどうかを指定します。

注意:ビデオの再生中にこのプロパティを設定することはできません。NetStream.play() を呼び出す前に設定してください。

デフォルト値: true。



実装
    public function get useHardwareDecoder():Boolean
    public function set useHardwareDecoder(value:Boolean):void

関連する API エレメント

useJitterBuffer

プロパティ 
useJitterBuffer:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11.3, AIR 3.3

ライブの非バッファーストリーミング(bufferTime = 0)の待ち時間を最小化します。保守的なプッシュベースのキャッチアップメカニズムの代わりに、オーディオメッセージが適応型ジッターバッファーに配置されます。スピーカーデバイスでオーディオが必要になったときに、メッセージがジッターバッファーから取得され、デコードされ、再生されます。Speex および G.711 では、この設定にかかわらず常にこのプルベースのアプローチが使用されます(Speex/G.711 の場合、useJitterBuffer は true を返します)。非バッファーモードで有効にすると、Speex、G.711、Nellymoser、MP3、AAC などのすべてのコーデックでジッターバッファーが使用されます。このプロパティによるバッファーモード(bufferTime > 0)への影響はなく、useJitterBuffer は false を返します。



実装
    public function get useJitterBuffer():Boolean
    public function set useJitterBuffer(value:Boolean):void

videoReliable

プロパティ 
videoReliable:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、ビデオが完全な信頼性を備えて送信されるかどうかを指定します。TRUE の場合、この NetStream 経由で送信されるすべてのビデオは完全に信頼できます。FALSE の場合、送信されるビデオは完全には信頼できませんが、一定の時間再送信されてから、消失します。FALSE 値を使用すれば、ビデオ品質を犠牲にして、レーテンシーを低減できます。

部分信頼性をサポートしていないネットワークプロトコルでプロパティを FALSE に設定しようとすると、この試行は無視され、プロパティは TRUE に設定されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get videoReliable():Boolean
    public function set videoReliable(value:Boolean):void

関連する API エレメント

videoSampleAccess

プロパティ 
videoSampleAccess:Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

RTMFP 接続の場合、この NetStream 上のピアーツーピアーサブスクライバーにビデオストリームのキャプチャを許可するかどうかを指定します。FALSE の場合、ビデオストリームをキャプチャしようとするサブスクライバーには権限エラーが表示されます。

注意:このプロパティは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。



実装
    public function get videoSampleAccess():Boolean
    public function set videoSampleAccess(value:Boolean):void

関連する API エレメント

videoStreamSettings

プロパティ 
videoStreamSettings:VideoStreamSettings

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11/ConnectAddin, AIR 3

ストリーム圧縮のプロパティを指定します。詳しくは、VideoStreamSettings を参照してください。システムに接続されているカメラがない場合は、null が返されます。



実装
    public function get videoStreamSettings():VideoStreamSettings
    public function set videoStreamSettings(value:VideoStreamSettings):void

関連する API エレメント

コンストラクターの詳細

NetStream

()コンストラクター
public function NetStream(connection:NetConnection, peerID:String = "connectToFMS")

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

メディアファイルを再生するときに使用できるストリームを作成し、NetConnection オブジェクトにデータを送信します。

NetStream オブジェクトの netStatus イベントを処理しないことは無効であるとみなされます。エラーを防ぐには、NetStream オブジェクトの作成後、その play() メソッドを呼び出すまでの間に、netStatus へのリスナーを登録します。

パラメーター
connection:NetConnection — NetConnection オブジェクトです。
 
peerID:String (default = "connectToFMS") — このオプションのパラメーターは Flash Player 10 以降で、RTMFP 接続して使用する場合に利用可能です。(NetConnection.protocol プロパティの値が "rtmfp" でない場合、このパラメーターは無視されます。)次の値のいずれかを使用します。
  • Flash Media Server に接続するには、NetStream.CONNECT_TO_FMS を指定します。
  • ピアーに直接パブリッシュするには、NetStream.DIRECT_CONNECTIONS を指定します。
  • 特定のピアーから直接再生するには、ピアーの識別子を指定します(「NetConnection.nearID」および「NetStream.farID」を参照)。
  • (Flash Player 10.1 または AIR 2 以降)ピアーツーピアーマルチキャストグループでストリームをパブリッシュまたは再生するには、groupspec ストリングを指定します(「GroupSpecifier クラス」を参照)。

ほとんどの場合、groupspec にはローカルシステムでネットワークアップリンクを使用する可能性があります。 この場合、ユーザーはコンピューターのネットワークリソースを使用する権限を求められています。 ユーザーがこの使用を許可する場合は、NetStream.Connect.Success NetStatusEvent が NetConnection のイベントリスナーに送信されます。ユーザーが許可を拒否する場合、NetStream.Connect.Rejected イベントが送信されます。groupspec を指定する場合、NetStream.Connect.Success イベントが受信されるまで、NetStream オブジェクトのメソッドを使用するエラーになり、例外が発生します。

このパラメーターをコンストラクターのステートメントに含めて null の値を渡すと、その値は「connectToFMS」に設定されます。


例外
ArgumentError — NetConnection インスタンスは接続されていません。

関連する API エレメント


例  ( この例の使用方法 )

次のコードは、変数 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);

次のコードは、(変数 videoURL に割り当てられた)ビデオを、connect() コマンドで指定されているリモート Flash Media Server インスタンスでストリーミングし、表示する接続を示しています。
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);
メソッドの詳細

appendBytes

()メソッド
public function appendBytes(bytes:ByteArray):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

ByteArray をプレイアウトのために NetStream に渡します。「データ生成モード」の NetStream に対してこのメソッドを呼び出します。NetStream をデータ生成モードにするには、null に接続されている NetConnection 上に作成された NetStream に対して NetStream.play(null) を呼び出します。データ生成モードになっていない NetStream に対して appendBytes() を呼び出すとエラーになり、例外が発生します。

注意:このメソッドは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

バイトパーサーは、ヘッダー付きの FLV ファイルを認識します。ヘッダーが解析された後、appendBytes() は、今後のすべての呼び出しが同じ実際のファイルまたは仮想ファイルの連続であると予期します。appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) が呼び出さるまでは、別のヘッダーは予期されません。

NetStream オブジェクトには、appendBytes() から NetStream への FIFO と、プレイアウトバッファーの 2 つのバッファーがあります。FIFO は部分 FLV タグ再アセンブリバッファで、不完全な FLV タグが 1 つしか含まれません。NetStream.seek() を呼び出すと、両方のバッファーがフラッシュされます。seek() を呼び出してから、appendBytesAction() を呼び出してタイムスケールをリセットし、付加された次のメッセージのタイムスタンプから開始します。

FLV タグが完全になるまで、appendBytes() を呼び出すたびに、バイトが FIFO に追加されます。FLV タグが完全になったら、そのタグはプレイアウトバッファーに移動します。appendBytes() を呼び出すことで、複数の FLV タグを書き込むことができます。既存の FLV タグは、最初のバイトによって完全になります(この FLV タグはプレイアウトバッファーに移動します)。完全な FLV タグはプレイアウトバッファーに移動します。完全な FLV タグの形成に使用されなかった残りのバイトは FIFO に移動します。FIFO 内のバイトは、appendBytes() への呼び出しによって完全になるか、RESET_SEEK または RESET_BEGIN 引数を指定して appendBytesAction() を呼び出すことでフラッシュされます。

注意:バイトパーサーは、以降の appendBytes() への呼び出しが行われるまで、その appendBytes() への呼び出しを完全にはデコードできない場合があります。

パラメーター

bytes:ByteArray

関連する API エレメント

appendBytesAction

()メソッド 
public function appendBytesAction(netStreamAppendBytesAction:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

タイムスケールの不連続性を示し、FIFO をフラッシュして、ファイルヘッダーまたは FLV タグの先頭を予期するようバイトパーサーに指示します。

注意:このメソッドは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

NetStream.seek() を呼び出すと、NetStream バッファーがフラッシュされます。バイトパーサーは、appendBytesAction() を呼び出して RESET_BEGIN または RESET_SEEK 引数を渡すまでフラッシュモードのままです。「NetStream.Seek.Notify」イベントをキャプチャして、シーク後に appendBytesAction() を呼び出します。新しいファイルヘッダーは、再生リストおよび NetStream.seek() を呼び出さないシークをサポートできます。

このメソッドを呼び出して、onSeekPoint() コールバックのバイトカウンターをリセットすることもできます。

パラメーター

netStreamAppendBytesAction:String

関連する API エレメント

attach

()メソッド 
public function attach(connection:NetConnection):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

新規 NetConnection オブジェクトにストリームを接続します。接続が中断された後に再接続してから、このメソッドを呼び出して、NetStream を新しい NetConnection オブジェクトに関連付けます。Flash Player および AIR は、接続が切断されたときの再生ポイントからストリーミングを再開します。また、このメソッドを使用して、負荷分散を実装することもできます。

このメソッドでは、Flash Media Server バージョン 3.5.3 以降が必要です。

このメソッドを使用して ストリームの再接続を実装するには、Flash Media Server 3.5.3 のマニュアルを参照してください。

このメソッドを使用して負荷分散を実装するには、以下の手順を実行します。

  1. 接続されたストリームを別のサーバーの NetConnection オブジェクトに接続します。
  2. ストリームが新しい接続に正しく接続されたら、データが漏れ出すのを防ぐために、以前の接続で NetConnection.close() を呼び出します。
  3. NetStream.play2() を呼び出して、NetStreamPlayOptions.transition の値を RESUME に設定します。残りの NetStreamPlayOptions プロパティを、最初に NetStream.play() または NetStream.play2() を呼び出したときと同じ値に設定して、ストリームを開始します。

パラメーター

connection:NetConnection

関連する API エレメント

attachAudio

()メソッド 
public function attachAudio(microphone:Microphone):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

ソースとして渡された Microphone オブジェクトからのオーディオストリームを、NetStream オブジェクトに接続します。このメソッドは、指定されたストリームの発行者だけが使用できます。

このメソッドを Flash Media Server で使用し、ライブオーディオをサーバーに送信します。このメソッドは、publish() メソッドを呼び出す前、または呼び出した後に呼び出します。

Microphone.rate プロパティを、サウンドキャプチャデバイスのレートに合わせて設定します。setSilenceLevel() を呼び出して、無音レベルのしきい値を設定します。オーディオストリームのサウンドプロパティ(ボリュームとパン)を制御するには、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")
     

オーディオを聞くには、NetStream.play() メソッドを呼び出し、DisplayObjectContainer.addChild() を呼び出して、オーディオを表示リストのオブジェクトに転送します。

パラメーター

microphone:Microphone — 送信するオーディオストリームのソースです。

関連する API エレメント

attachCamera

()メソッド 
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

カメラからビデオのキャプチャを開始します。または、theCameranull に設定されると、キャプチャを停止します。このメソッドは、指定されたストリームの発行者だけが使用できます。

このメソッドは、Flash Media Server で使用することを目的としています。詳細については、クラスの説明を参照してください。

ビデオソースのアタッチ後に、NetStream.publish() を呼び出して転送を開始する必要があります。ビデオを表示するサブスクライバは、NetStream.play()Video.attachCamera() の各メソッドを呼び出して、ステージ上にビデオを表示する必要があります。

snapshotMilliseconds を使用して値 0 を指定すると、単一のスナップショットを送信できます。また、正の数を指定して、ビデオフィードに指定のミリ秒数のトレーラーを追加すると、一連のスナップショット、つまり事実上のコマ落としビデオを送信することができます。 トレーラーは、ビデオメッセージの表示時間を拡張します。attachCamera() を、snapshotMilliseconds に正の値を指定して繰り返し呼び出すと、スナップショットとトレーラーが交互に繰り返されるシーケンスになり、コマ落としビデオが作成されます。例えば、毎日 1 フレームずつキャプチャして、ビデオファイルに追加することができます。サブスクライバがファイルを再生すると、各フレームが指定のミリ秒間画面上に表示され、その後、次のフレームが表示されます。

この snapshotMilliseconds パラメーターの目的は、fps パラメーター(Camera.setMode() で設定可能)とは異なります。snapshotMilliseconds は、記録されたフレーム間の経過時間を制御するために指定します。fps は、記録時と再生時の経過時間を制御するために Camera.setMode() を使用して指定します。

例えば、5 分ごとにスナップショットを 1 枚撮り、合計で 100 枚のスナップショットを撮るとします。この操作を行うには、次の 2 つの方法があります。

  • NetStream.attachCamera(myCamera, 500) コマンドを 5 分に 1 回、合計 100 回実行できます。この場合、記録に 500 分かかりますが、生成されるファイルは 50 秒(100 フレーム、各フレーム間 500 ミリ秒)で再生されます。
  • Camera.setMode() コマンドを、fps に 1/300(300 秒ごとに 1 回、つまり 5 分に 1 回)の値を指定して発行してから NetStream.attachCamera(source) コマンドを発行すると、カメラは 500 分間連続してキャプチャするようになります。生成されるファイルは、500 分、つまり記録に要した時間と同じ長さで再生され、各フレームは 5 分間表示されます。

どちらの手法でも、同じ 500 個のフレームがキャプチャされます。どちらのアプローチも有用ですが、使用するアプローチは、主に再生要件によって異なります。例えば、後者の場合、始めから最後までオーディオを録音し続けることができます。また、どちらの場合もファイルサイズはほとんど同じです。

パラメーター

theCamera:Camera — ビデオ転送のソースです。有効な値は、ビデオのキャプチャを開始する Camera オブジェクトと null です。null を渡すと、ビデオのキャプチャが停止され、ユーザーが送信した追加パラメーターはどれも無視されます。
 
snapshotMilliseconds:int (default = -1) — ビデオストリームが連続的、単一のフレーム、コマ撮り写真の作成に使用する一連の単一フレームのいずれであるかを指定します。
  • このパラメーターを省略すると、値 nullattachCamera に渡すまで、すべてのビデオがキャプチャされます。
  • 0 を渡すと、単一のビデオフレームのみがキャプチャされます。既存のストリーム内に "スナップショット" を転送するには、この値を使用します。Flash Player または AIR では、無効なパラメーター、負のパラメーター、または非数値パラメーターは 0 と解釈されます。
  • 正の値を渡すと、単一のビデオフレームがキャプチャされた後、スナップショットのトレーラーとして、指定の長さの一時停止が追加されます。コマ撮り写真の効果を作成するには、この値を使用します。

close

()メソッド 
public function close():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ストリーム上のすべてのデータの再生を停止し、time プロパティを 0 に設定して、他のユーザーがストリームにアクセスできるようにします。また、このメソッドは、HTTP を使用してダウンロードされたビデオファイルのローカルコピーを削除します。アプリケーションでは、アプリケーションで作成したファイルのローカルコピーは削除されますが、コピーがキャッシュディレクトリに残る場合があります。ビデオファイルをキャッシュやローカル記憶域に一切残さないようにする必要がある場合には、Flash Media Server を使用してください。

Flash Media Server を使用している場合、パブリッシュしているストリームから NetStream.play() を呼び出すか、サブスクライブしているストリームから NetStream.publish() を呼び出すときに、このメソッドが暗黙的に呼び出されます。次の点に注意してください。

  • パブリッシュしているストリームから close() を呼び出すと、ストリームのパブリッシュが停止し、発行者は別の目的でストリームを使用できるようになります。ストリームのパブリッシュが停止するため、サブスクライバはストリームでパブリッシュされた内容を受信できなくなります。
  • サブスクライブしているストリームから close() を呼び出すと、サブスクライバに対するストリームの再生が停止し、サブスクライバは別の目的でストリームを使用できるようになります。他のサブスクライバの再生は停止しません。
  • サブスクライブしているストリームは、そのストリームを閉じたり、flash.net.NetStream.play(false) を使用してストリームの種類を変更したりせずに、再生を停止できます。

関連する API エレメント

dispose

()メソッド 
public function dispose():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 11, AIR 3.0

NetStream オブジェクトによって保持されているリソースをすべて解放します。

dispose() メソッドは close() メソッドと似ています。これらのメソッドの最も大きな違いは、dispose() の場合は現在のビデオフレームの表示に使用されているメモリも解放されるという点です。対象となるフレームが画面上に現在表示されていると、表示は空白になります。それに対し、close() メソッドではメモリが解放されないので表示が空白にはなりません。

onPeerConnect

()メソッド 
public function onPeerConnect(subscriber:NetStream):Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

ピアーがパブリッシュするストリームが、ピアーがサブスクライブするストリームに一致する場合に呼び出されます。サブスクライバが発行者に接続する前にこのメソッドを呼び出すと、ActionScript コードはピアーツーピアーパブリッシュに対するアクセスを細かく制御できます。次のコードは、このメソッドのコールバック関数の作成方法の例です。

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

ピアーの発行者がこのメソッドを実装していない場合、すべてのピアーはパブリッシュされたすべてのコンテンツを再生できます。

パラメーター

subscriber:NetStream

戻り値
Boolean

pause

()メソッド 
public function pause():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ビデオストリームの再生を一時停止します。ビデオが既に一時停止している場合は、このメソッドを呼び出しても何も実行されません。ビデオを一時停止した後で再生を再開するには、resume() を呼び出します。一時停止と再生を切り替える(最初にビデオを一時停止し、次に再開する)には、togglePause() を呼び出します。

Flash Player 9.0.115.0 以降、Flash Player では、NetStream.pause() が呼び出されたときにバッファーをクリアしなくなりました。この動作を「スマート一時停止」と呼びます。Flash Player 9.0.115.0 以前は、Flash Player はバッファーが満杯になるまで待機してから再生を開始していましたが、このため遅延がよく発生していました。

注意:後方互換性を確保する目的で現在も "NetStream.Buffer.Flush" イベント(NetStatusEvent.info プロパティを参照)は送出されますが、サーバーでバッファのフラッシュ処理は行われません。

1 回の一時停止の場合、NetStream.bufferLength プロパティには 60 秒または NetStream.bufferTime の値の 2 倍のうち、いずれか大きい方の値という制限があります。例えば、bufferTime が 20 秒の場合、Flash Player は NetStream.bufferLength が 20*2(40)または 60 のうち、大きい方の値になるまでバッファーするため、この場合は、bufferLength が 60 秒になるまでバッファーします。bufferTime が 40 秒の場合、Flash Player は bufferLength が 40*2 (80) または 60 のうち、大きい方の値になるまでバッファーするため、この場合は、bufferLength が 80 秒になるまでバッファーします。

bufferLength プロパティにも絶対制限があります。pause() の呼び出しによって bufferLength が 600 秒またはbufferTime * 2 の値のいずれか大きい方の値を超えた場合、Flash Player はバッファーをフラッシュし、bufferLength を 0 にリセットします。例えば、bufferTime が 120 秒の場合は、bufferLength が 600 秒に達すると、Flash Player はバッファーをフラッシュします。bufferTime が 360 秒の場合は、bufferLength が 720 秒に達すると、Flash Player はバッファーをフラッシュします。

ヒント:例えば、コードで NetStream.pause() を使用し、閲覧者がコマーシャルを見ている間、データをバッファーし、メインのビデオが開始されたときに一時停止を解除することができます。

関連する API エレメント

play

()メソッド 
public function play(... arguments):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ローカルディレクトリまたは Web サーバーからメディアファイルを再生します。Flash Media Server からメディアファイルまたはライブストリームを再生します。NetStatusEvent オブジェクトを送出して、ステータスおよびエラーメッセージをレポートします。

サポートされているコーデックおよびファイル形式について詳しくは、以下を参照してください。

ファイルまたはライブストリームを再生するためのワークフロー

  1. ビデオを表示するための Video オブジェクトを作成し、addChild() を呼び出してそのビデオをステージに追加します。
  2. NetConnection オブジェクトを作成し、NetConnection.connect() を呼び出します。

    ローカルディレクトリまたは Web サーバーからファイルを再生するには、null を渡します。

    記録されたファイルまたはライブストリームを Flash Media Server から再生するには、Flash Media Server アプリケーションの URI を渡します。

  3. NetConnection オブジェクトの addEventListener() メソッドを呼び出して、netStatusNetStatusEvent.NET_STATUS)イベントをリッスンします。
  4. NetConnection.Connect.Success」で、NetStream オブジェクトを作成し、NetConnection オブジェクトをコンストラクターに渡します。
  5. Video オブジェクトの attachNetStream() メソッドを呼び出して、NetStream オブジェクトを渡します。
  6. NetStream オブジェクトの play() メソッドを呼び出します。

    ライブストリームを再生するには、NetStream.publish() メソッドに渡されたストリーム名を渡します。

    記録されたファイルを再生するには、ファイル名を渡します。

注意:ベストプラクティスとして、必ずステージに Video オブジェクトを追加し、次に NetStream をそのステージに関連付けて、NetStream オブジェクトの play() メソッドを呼び出すようにしてください。

データ生成モードの有効化

「データ生成モード」を有効化するには、play(null) を呼び出します。このモードでは、appendBytes() メソッドを呼び出して、データを NetStream に配信します。データ生成モードを使用して、Apache HTTP Server 上の Adobe HTTP ダイナミックストリーミングモジュールからのコンテンツを HTTP 経由でストリーミングします。HTTP ダイナミックストリーミングを使用することで、クライアントはファイル内の任意のポイントをすばやくシークできます。Open Source Media Framework(OSMF)は、VOD(ビデオオンデマンド)とライブストリームの再生用に、HTTP ダイナミックストリーミングをサポートします。NetStream のデータ生成モードを使用する方法の例については、OSMF ソースをダウンロードしてください。HTTP ダイナミックストリーミングについて詳しくは、HTTP ダイナミックストリーミングを参照してください。

Flash Media Server を使用しないでこのメソッドを使用する場合、セキュリティに関する考慮事項があります。信頼できるローカルのサンドボックスまたはネットワークアクセスを許可されたローカルのサンドボックスのファイルは、リモートサンドボックスからビデオファイルをロードおよび再生することができますが、URL ポリシーファイルで明示的な許可が与えられていない限り、リモートファイルのデータにアクセスできません。また、Flash Player で実行されている SWF ファイルがこのメソッドを使用しないようにするには、SWF コンテンツが含まれる HTML ページの allowNetworking パラメーター(object タグおよび embed タグ)を設定します。セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。

パラメーター

... arguments

ローカルファイルの再生

メディアファイルの場所。引数には、String、URLRequest.url プロパティ、またはこのどちらかを参照する変数を使用できます。アプリケーションセキュリティサンドボックス外にある Flash Player および AIR コンテンツの場合、SWF ファイルまたはサブディレクトリと同じディレクトリに保存されているローカルビデオファイルを再生できます。ただし、上位レベルのディレクトリに移動することはできません。

Flash Media Server からのメディアファイルの再生

名前必須説明
name:Object必須 記録されたファイルの名前、NetStream.publish() を使用してパブリッシュされたライブデータの識別子、または falsefalse の場合は、ストリームの再生が停止し、他のパラメーターは無視されます。ファイル名の構文の詳細については、この表の次にあるファイル形式一覧を参照してください。
start:Numberオプション 開始時間(秒単位)。指定可能な値は、-2、-1、0、または正の数値です。デフォルト値は -2 です。この値のときは、ライブストリームを検索し、次に、記録されたストリームを検索します。いずれのストリームも検出されない場合は、ライブストリームが開きます。MP3 ファイルでは、-2 は使用できません。-1 の場合は、ライブストリームだけが再生されます。0 または正の数値の場合は、記録されたストリームの再生が、start に指定された秒数から開始されます。
len:Number オプション(start が指定されている場合) 再生の継続時間(秒単位)。指定可能な値は、-1、0、または正の数値です。デフォルト値は -1 です。この値のときは、ライブストリームまたは記録されたストリームが最後まで再生されます。0 の場合、記録されたストリームの先頭を基準として、start で指定された秒数の位置にある単一のフレームが再生されます。正の数値の場合、ライブストリームまたは記録されたストリームが、len で指定された秒数だけ再生されます。
reset:Object オプション(len が指定されている場合) 再生リストを消去するかどうか。デフォルト値は 1 または true です。この値の場合、以前に play で呼び出したファイルが消去され、name で指定したファイルが即座に再生されます。0 または false の場合、再生リストにストリームが追加されます。2 の場合、再生リストが維持され、間隔をおいて順次返されるのではなく、すべてのストリームメッセージが一度に返されます。3 の場合、再生リストが消去され、すべてのストリームメッセージが一度に返されます。

次の表に記載されているファイル形式を再生できます。構文は、ファイル形式によって異なります。

ファイル形式シンタックス
FLV("samples" ディレクトリで)ストリーム名をストリングとして指定します。ファイル名の拡張子は含めません。ns.play("samples/myflvstream");
mp3 または ID3("samples" ディレクトリで)ストリーム名をストリングとして指定します。接頭辞として mp3: または id3: を使用し、ファイル名の拡張子は含めません。

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

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

MPEG-4 対応ファイル(F4V、MP4 など)("samples" ディレクトリで)ストリーム名をストリングとして指定します。接頭辞として mp4: を使用します。この接頭辞は、ファイルが MPEG-4 Part 14 コンテナ形式内に H.264 でエンコードされたビデオと AAC でエンコードされたオーディオを含んでいることをサーバーに示します。サーバー上のファイルがファイル拡張子を含む場合は、それを指定します。

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

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

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

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

RAW("samples" ディレクトリで)ストリーム名をストリングとして指定します。接頭辞として raw: を使用します。ns.play("raw:samples/myvideo");

データ生成モードの有効化

「データ生成モード」を有効にするには、null に接続されている NetConnection 上で作成された NetStream に null 値を渡します。このモードでは、appendBytes() を呼び出して、データを NetStream に配信します(また、null を渡すと、onSeekPoint() コールバックに対するバイトカウンターがリセットされます)。

AIR 3.0 for iOS の H.264 ビデオに関する特別な考慮事項

H.264 ビデオでは、ビデオ再生用 iOS API はファイルまたはストリームへの URL のみ受け付けます。デコードされるデータを H264 ビデオのバッファーに渡すことはできません。ビデオソースに応じて、次のように NetStream.play() へ適切な引数を渡します。

  • プログレッシブ再生の場合:ファイル(ローカルまたはリモート)の URL を渡します。

  • ストリーミングビデオの場合:プレイリストの URL を Apple の HTTP Live Streaming(HLS)形式で渡します。どのようなサーバーでもこのファイルをホストできますが、Flash Media Server 4.5 以降には、HLS 形式のストリームをエンコードできるという利点があります。


イベント
status:StatusEvent — DRM(デジタル著作権管理)で暗号化されたコンテンツを再生しようとすると送出されます。code プロパティの値は "DRM.encryptedFLV" です。

例外
SecurityError — 信頼されていないローカル SWF ファイルはインターネットへの接続を許可されません。この制限は、この SWF ファイルを local-with-networking または trusted として分類し直すことで回避できます。
 
ArgumentError — 少なくとも 1 つのパラメーターを指定する必要があります。
 
Error — NetStream オブジェクトが無効です。このエラーは、NetConnection の失敗によって発生する場合があります。

関連する API エレメント


例  ( この例の使用方法 )
Flash Media Server この例では、"samples" ディレクトリから記録された F4V ファイルを、先頭から開始して最大 100 秒まで再生します。MPEG-4 ファイルの場合、サーバー上のファイルにファイル名拡張子がある場合、play() メソッドでファイル名拡張子を指定する必要があります。
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server この例は、クライアントがパブリッシュしたライブ FLV ストリームの先頭から最後までの再生をただちに開始します。
     ns.play("livestream");
     

次の例は、外部 FLV ファイルをロードする方法を示しています。
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

()メソッド 
public function play2(param:NetStreamPlayOptions):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

マルチビットレートのファイル間をシームレスに切り替え、接続が中断し再接続されたときに、NetStream が再開できるようにします。

このメソッドは、NetStream.play() を拡張したものです。play() メソッドと同様に、play2() メソッドは、メディアファイルの再生を開始したり、メディアファイルをキューに追加して再生リストを作成したりします。Flash Media Server で使用する場合、サーバーに要求を出して別のメディアファイルに切り替えることもできます。切り替えはクライアントアプリケーションでシームレスに実行されます。次の機能は、play2() ストリームの切り替えを使用します。

動的ストリーミング

Flash Media Server 3.5 以降でサポートされる動的ストリーミングにより、マルチビットレートで暗号化されたストリームを使用できます。ビューアーのネットワーク状態の変化に伴って、最適な表示エクスペリエンスを提供するビットレートを受信します。NetStreamInfo クラスを使用して、ネットワーク条件を監視したり、データに基づいたストリームを切り替えたりします。異なる機能でクライアントのストリームを切り替えることもできます。詳しくは、『Adobe Flash Media Server 開発者ガイド』の「動的ストリーミング」を参照してください。

Adobe では、NetStream クラスを拡張する DynamicStream と呼ばれるカスタム ActionScript クラスを作成しました。DynamicStream クラスを使用すると、ネットワーク状態を検出するための独自のコードを作成する代わりに、アプリケーションでダイナミックストリーミングを実装できます。 独自のダイナミックストリーミングコードの作成を選択した場合でも、DynamicStream クラスを参照実装として使用してください。Flash Media Server のツールとダウンロードページから、このクラスとこのクラスに関するド ュメントをダウンロードしてください。

ストリームの再接続

Flash Media Server 3.5.3 以降でサポートされるストリームの再接続を使用すると、接続が失われたときも、メディアの中断が発生しません。ActionScript ロジックが Flash Media Server に再接続を試みる間、メディアはバッファーを使用して再生を続けます。再接続後、新しい NetConnection で同じ NetStream オブジェクトを使用するために NetStream.attach() を呼び出します。ストリームへの再接続には、NetStream.attach()NetStreamPlayTransitions.RESUME、および NetStreamPlayTrasitions.APPEND_AND_WAIT の各 API を使用します。詳しくは、Flash Media Server 3.5.3 のマニュアルを参照してください。

パラメーター

param:NetStreamPlayOptions

関連する API エレメント

preloadEmbeddedData

()メソッド 
public function preloadEmbeddedData(param:NetStreamPlayOptions):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.5, Flash Lite 4

ローカルに保存されたメディアファイルから DRM メタデータを抽出します。

オフライン再生に必要な DRM バウチャーをダウンロードおよびキャッシュする際に最初の手順として preloadEmbeddedMetaData() を使用します。埋め込み DRM メタデータがメディアファイル内で検出されると、DRMContentData オブジェクトは NetStream クライアントの onDRMContentData 関数に渡されます。この DRMContentData オブジェクトには、コンテンツの再生に求められるバウチャーを取得するために必要な情報が含まれています。バウチャーをダウンロードするには、DRMContentDataObject を DRMManager loadVoucher() メソッドに渡します。

DRM バウチャーをプリロードする手順には、次のものが含まれます。

  • メタデータをプリロードする新しい NetStream オブジェクトを作成します。

  • コールバック関数を NetStream clientonDRMContentData プロパティに割り当てます。
  • 新しい NetStreamPlayOptions オブジェクトを作成して、その streamName プロパティをローカルビデオファイルの URL ストリングに設定します。
  • preloadEmbeddedMetadata() を呼び出して、NetStreamPlayOptions オブジェクトに渡します。
  • onDRMContentData コールバックに応答して、DRMManager loadVoucher() メソッドを呼び出し、DRMContentData オブジェクトに渡します。DRMContentData オブジェクトの authenticationMethod プロパティに値 userNameAndPassWord がある場合、バウチャーをロードする前に Media Rights Server 上のユーザーを認証する必要があります。
  • プリロードに使用した NetStream を閉じます。

注意:メタデータのプリロードとコンテンツの再生の両方で同じ NetStream オブジェクトを使用するには、プリロード操作が生成する onPlayStatus 呼び出しを待機してから再生を開始します。

ダウンロードされたバウチャーは、ローカルキャッシュに保存されます。オンラインでコンテンツを再生すると、バウチャーのダウンロードおよびキャッシュを行うことができます。DRM で保護されたコンテンツファイルが表示されると、キャッシュされたバウチャーはローカルストアから自動的に取得されます。DRMManager を使用すると、バウチャーキャッシュを管理します。

注意:HTTP、HTTPS または RTMP 接続を使用した DRM メタデータのプリロードはサポートされていません。ファイルシステム上に保存されたファイルからのみメタデータのプリロードは可能です。

パラメーター

param:NetStreamPlayOptions — コンテンツファイルを処理中に使用するオプションを説明する NetStreamPlayOptions。

関連する API エレメント

publish

()メソッド 
public function publish(name:String = null, type:String = null):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

クライアントから Flash Media Server へ、ストリーミングオーディオ、ビデオ、およびデータメッセージを送信します。送信中にストリームを記録することもできます。このメソッドは、ストリームに関する情報を含む NetStatusEvent オブジェクトを送出します。NetStream.publish() を呼び出す前に、「NetConnection.Connect.Success」イベントをキャプチャして、アプリケーションが Flash Media Server に正常に接続できたかどうかを確認します。

パブリッシュ中に、FLV または F4V 形式でファイルを記録できます。ファイルを F4V 形式で記録した場合は、分割・統合ツールを使用して編集するか、別のアプリケーションでファイルを再生する必要があります。ツールのダウンロード方法については、www.adobe.com/go/fms_tools_jp を参照してください。

注意:このメソッドを使用してストリームを再生しないでください。ストリームを再生するには、NetStream.play() メソッドを呼び出します。

ストリームをパブリッシュするためのワークフロー

  1. NetConnection オブジェクトを作成し、NetConnection.connect() を呼び出します。
  2. NetConnection.addEventListener() を呼び出して、NetStatusEvent イベントを待機します。
  3. NetConnection.Connect.Success」イベントで、NetStream オブジェクトを作成し、NetConnection オブジェクトをコンストラクターに渡します。
  4. オーディオとビデオをキャプチャするには、NetStream.attachAudio() メソッドと NetStream.attachCamera() メソッドを呼び出します。
  5. ストリームをパブリッシュするには、NetStream.publish() メソッドを呼び出します。データを記録しながらパブリッシュすることができます。記録すると、ユーザーがデータを後で再生できるようになります。

注意: NetStream で可能なのはストリームのパブリッシュまたは再生のいずれかです。両方を行うことはできません。ストリームをパブリッシュしてサーバーから再生を表示するには、2 つの NetStream オブジェクトを作成します。複数の NetStream オブジェクトを 1 つの NetConnection オブジェクトに送信できます。

Flash Media Server では、ストリームの記録時にファイルが作成されます。デフォルトでは、NetConnection.connect() に渡されたアプリケーションインスタンス名が付いたディレクトリが作成され、そのディレクトリにファイルが保存されます。例えば、次のコードでは「lectureseries」アプリケーションのデフォルトのインスタンスに接続し、「lecture」というストリームを記録します。applications/lectureseries/streams/_definst_ ディレクトリに「lecture.flv」というファイルが記録されます。

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

次の例では、同じアプリケーションの「monday」インスタンスに接続します。/applications/lectureseries/streams/monday ディレクトリに lecture.flv というファイルが記録されます。

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

パラメーター

name:String (default = null) — ストリームを識別するストリングです。このストリームをサブスクライブしているクライアントは、NetStream.play() を呼び出す場合に、この同じ名前を渡します。ストリーム名の後にスラッシュ(/)を指定しないでください。たとえば、"bolero/" というストリーム名は使用しないでください。

次の表に示す形式でファイルを記録できます(publish() は MP3 形式のファイルには使用できません)。構文は、ファイル形式によって異なります。

ファイル形式シンタックス
FLVストリーム名を、ファイル名拡張子なしのストリングとして指定します。ns.publish("myflvstream");
MPEG-4 対応ファイル(F4V または MP4 など)ストリーム名をストリングとして指定します。接頭辞として mp4: を使用し、ファイル名の拡張子は必要に応じて指定します。Flash Player は、H.264 ではなく、H.263 を使用してエンコードします。Flash Media Server は、F4V コンテナ内に任意のコーデックを記録できます。Flash Media Live Encoder は、H.264 を使用してエンコードできます。 ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWストリーム名をストリングとして指定します。接頭辞として raw: を使用します。ns.publish("raw:myvideo");

 
type:String (default = null) — ストリームのパブリッシュ方法を指定するストリングです。有効な値は、「record」、「append」、「appendWithGap」および「live」です。デフォルト値は "live" です。
  • record」を渡すと、サーバーはライブデータをパブリッシュして記録し、記録したデータを、name パラメーターに渡された値と名前が一致する新しいファイルに保存します。このファイルが存在する場合は、上書きされます。
  • append」を渡すと、サーバーはライブデータをパブリッシュして記録し、記録したデータを、name パラメーターに渡された値と名前が一致するファイルに追加します。name パラメーターと一致するファイルが見つからない場合は、ファイルが作成されます。
  • appendWithGap」を渡すと、時間のコーディネーションに関する補足情報が渡され、動的ストリーミングの際にサーバーが正しい移行ポイントを決定できるよう支援します。
  • このパラメーターを省略するか、「live」を渡した場合、サーバーはライブデータを記録せずにパブリッシュします。name パラメーターに渡された値と名前が一致するファイルが存在する場合は、そのファイルが削除されます。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、カメラからビデオをキャプチャし、そのビデオを NetStream 経由で Flash Media Server にパブリッシュします。この例では、Flash Media Server でビデオが再生されると、ビデオが表示されます。

この例を実行するには、コンピューターに接続されているカメラが必要です。さらに、Button コンポーネントと Label コンポーネントをライブラリに追加する必要があります。

アプリケーションには、アプリケーションが正常にサーバーに接続された場合にのみ、ストリームをパブリッシュする(Flash Media Server に送信する)ボタンがあります。アプリケーションは、ストリームが正常にパブリッシュされた場合にのみ、サーバーから配信されたそのストリームを再生します。NetStatusEvent は、これらのいずれかの場合を示す code プロパティが指定された info オブジェクトを返します。netStatusHandler 関数は、NetConnection クラスと 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

()メソッド 
public function receiveAudio(flag:Boolean):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ストリーム上で着信オーディオが再生されるかどうかを示します。このメソッドは、指定されたストリームにサブスクライブしているクライアントだけが使用できます。ストリームの発行者には使用できません。このメソッドは、NetStream.play() メソッドを呼び出す前、または呼び出した後に呼び出します。例えば、ボタンにこのメソッドをアタッチすると、ユーザーは音声のミュートとミュート解除を実行できます。このメソッドを使用するのは、Flash Media Server から再生されるユニキャストストリームのみです。このメソッドは、RTMFP マルチキャストストリーム、または NetStream.appendBytes() メソッドを使用する場合は機能しません。

パラメーター

flag:Boolean — ストリーム上で着信オーディオを再生するかどうかを指定します。再生する場合は true、再生しない場合は false を指定します。デフォルト値は true です。指定したストリームに音声データのみが含まれる場合、false を渡すときに NetStream.time のインクリメントが停止されます。

receiveVideo

()メソッド 
public function receiveVideo(flag:Boolean):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ストリーム上で着信ビデオが再生されるかどうかを示します。このメソッドは、指定されたストリームにサブスクライブしているクライアントだけが使用できます。ストリームの発行者には使用できません。このメソッドは、NetStream.play() メソッドを呼び出す前、または呼び出した後に呼び出します。例えば、ボタンにこのメソッドをアタッチすると、ユーザーはビデオの表示と非表示を実行できます。このメソッドを使用するのは、Flash Media Server から再生されるユニキャストストリームのみです。このメソッドは、RTMFP マルチキャストストリーム、または NetStream.appendBytes() メソッドを使用する場合は機能しません。

パラメーター

flag:Boolean — このストリーム上で着信ビデオを再生するかどうかを指定します。再生する場合は true、再生しない場合は false を指定します。デフォルト値は true です。指定したストリームにビデオデータのみが含まれる場合、false を渡すときに NetStream.time のインクリメントが停止されます。

receiveVideoFPS

()メソッド 
public function receiveVideoFPS(FPS:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

着信ビデオのフレームレートを指定します。このメソッドは、指定されたストリームにサブスクライブしているクライアントだけが使用できます。ストリームの発行者には使用できません。このメソッドは、NetStream.play() メソッドを呼び出す前、または呼び出した後に呼び出します。例えば、ユーザーがビデオフレームレートを設定できるようにこのメソッドを呼び出します。現在のフレームレートを確認するには、NetStream.currentFPS を使用します。ビデオの受信を停止するには、0 を渡します。

FPS パラメーターに値を渡してビデオのフレームレートを制限すると、Flash Media Server は、ビデオの完全性を維持する一方で、フレームを減らそうとします。2 つのキーフレームごとに、目的のレートを満たすために必要なフレームの最小数がサーバーから送信されます。I フレーム(または中間フレーム)を連続して送信する必要があります。そうしないと、ビデオは破損します。したがって、キーフレームに続いて、必要な数のフレームが直ちに連続的に送信されます。フレームは均等には配信されないので、待機により中断されたセグメントにおいてもモーションはスムーズに表示されます。

このメソッドを使用するのは、Flash Media Server から再生されるユニキャストストリームのみです。このメソッドは、RTMFP マルチキャストストリーム、または NetStream.appendBytes() メソッドを使用する場合は機能しません。

パラメーター

FPS:Number — 着信ビデオ再生時の 1 秒あたりのフレームレートを指定します。

resetDRMVouchers

()メソッド 
public static function resetDRMVouchers():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 11.8, Flash Lite 4

AIR アプリケーションでは、すべてのローカルでキャッシュされた DRM(デジタル著作権管理)のバウチャーデータを削除します。ブラウザーベースのアプリケーションでは、3322 エラーと、保護されたコンテンツ再生の設定パネルでのみ使用できます。

アプリケーションで、保護されたコンテンツにユーザーがアクセスできる media rights server から必要なバウチャーを再ダウンロードする必要があります。この関数の呼び出しは、DRMManager オブジェクトの resetDRMVouchers() 関数を呼び出すことと同じです。


例外
IOError — バウチャーデータを削除できません。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、すべての DRM バウチャーをリセットします。
NetStream.resetDRMVouchers();

resume

()メソッド 
public function resume():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

再生を一時停止していたビデオストリームを再開します。ビデオが既に再生中である場合は、このメソッドを呼び出しても何も実行されません。

関連する API エレメント

seek

()メソッド 
public function seek(offset:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

指定された位置に最も近いキーフレーム(ビデオ業界では I フレームとも呼ばれます)をシークします。キーフレームは、ストリームの先頭から秒単位のオフセット位置に配置されます。

通常、ビデオストリームは、キーフレーム(または I フレーム)と P フレームの 2 種類のフレームでエンコードされます。キーフレームにはイメージ全体が格納されています。一方、P フレームは、キーフレーム間の追加のビデオ情報を提供する中間フレームです。通常、ビデオストリームには 10 ~ 50 フレームごとにキーフレームがあります。

Flash Media Server には、強化されたシークとスマートシークなど、各種のシーク動作が用意されています。

強化されたシーク

強化されたシークは、デフォルトで有効になっています。強化されたシークを無効にするには、Flash Media Server で Application.xml 構成ファイルの EnhancedSeek 要素を false に設定します。

強化されたシークが有効になっている場合、サーバーは前のキーフレームとすべての中間 P フレームに基づいて、オフセット位置に新しいキーフレームを生成します。ただし、キーフレームの生成によりサーバーの処理の負荷が高くなり、生成されるキーフレームに歪みが発生することがあります。ビデオコーデックが On2 の場合、シーク位置の前のキーフレームと、そのキーフレームとシーク位置の間にあるすべての P フレームがクライアントに送信されます。

強化されたシークが無効になっている場合、サーバーは一番近いキーフレームからストリーミングを開始します。例えば、ビデオ内の 0 秒と 10 秒の時点にキーフレームがあるとします。4 秒に対してシークを実行すると、0 秒のキーフレームを使用して 4 秒から再生が開始されます。10 秒の位置にある次のキーフレームに到達するまで、ビデオはフリーズされたままになります。シークの操作性を向上するには、キーフレームの間隔を短くする必要があります。通常のシークモードでは、キーフレーム間の位置からビデオを開始することはできません。

スマートシーク

スマートシークを有効にするには、NetStream.inBufferSeektrue に設定します。

スマートシークを使用すると、Flash Player で既存の巻き戻し用バッファーおよび早送り用バッファー内をシークできるようになります。スマートシークが無効になっている場合、seek() が呼び出されるたびに、Flash Player ではバッファーがフ ッシュされ、サーバー内のデータが要求されます。詳しくは、NetStream.inBufferSeekを参照してください。

データ生成モードのシーク

データ生成モードの NetStream に対して seek() を呼び出すと、appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN または appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) を呼び出してパーサーをリセットするまで、appendBytes() に渡されるすべてのバイトが廃棄されます(バッファーに格納されず、部分的なメッセージ FIFO に累積されるか、シークポイントに対して解析されます)。データ生成モードについて詳しくは、NetStream.play() を参照してください。

パラメーター

offset:Number — ビデオファイルにおける、再生ヘッドのおおよその移動時間(秒単位)です。Flash Media Server で、Application.xml 設定ファイルの <EnhancedSeek>true に設定されている場合(これがデフォルトの設定です)、サーバーはオフセットにキーフレームを生成します。
  • ストリームの先頭に移動するには、offset に 0 を指定します。
  • ストリームの先頭から前方にシークするには、進めたい秒数をパラメーターに指定します。例えば、先頭から 15 秒の位置(または15 秒前のキーフレーム)に再生ヘッドを移動するには、myStream.seek(15) にします。
  • 現在位置を基準としてシークを行う場合、NetStream.time + n、または NetStream.time - n と指定すると、それぞれ現在位置から n 秒分だけ前方または後方へシークが行われます。例えば、現在位置から 20 秒巻き戻すには、NetStream.seek(NetStream.time - 20) にします。

関連する API エレメント

send

()メソッド 
public function send(handlerName:String, ... arguments):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9

パブリッシュされたストリーム上で、サブスクライブしているすべてのクライアントにメッセージを送信します。このメソッドは、指定されたストリームの発行者だけが使用できます。このメソッドは、Flash Media Server にのみ使用できます。このメッセージを処理して応答するには、NetStream オブジェクトにハンドラーを作成します。このオブジェクトの例には、ns.HandlerName があります。

Flash Player または AIR は、メソッドやそれらのデータ、オブジェクトプロトタイプ変数、または列挙不可能な変数を直列化しません。表示オブジェクトの場合、Flash Player または AIR はパスを直列化しますが、データは直列化しません。

send() メソッドを呼び出し、Flash Media Server にパブリッシュするライブストリームにデータキーフレームを追加できます。データキーフレームは、発行者がライブストリームに追加するメッセージです。通常、データキーフレームは、カメラやマイクロホンからストリーム用のデータをキャプチャする前に、ライブストリームにメタデータを追加するために使用されます。発行者は、ライブストリームのパブリッシュ中にいつでもデータキーフレームを追加できます。発行者がサーバーに接続している限り、データキーフレームはサーバーのメモリに保存されます。

データキーフレームが追加される前のライブストリームにサブスクライブしているクライアントは、データキーフレームが追加されるとすぐにそのキーフレームを受信します。データキーフレームが追加された後のライブストリームにサブスクライブしているクライアントは、サブスクライブするときにキーフレームを受信します。

Flash Media Server に送信するライブストリームにメタデータのキーフレームを追加するには、次の例に示すように、@setDataFrame をハンドラー名として使用し、続いて 2 つの引数を指定します。

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

@setDataFrame 引数は、Flash Media Server に組み込まれている特別なハンドラーを表します。onMetaData 引数は、onMetaData イベントを監視してメタデータを取得する、クライアントアプリケーションのコールバック関数の名前です。3 番目の metaData は、メタデータ値を定義したプロパティを持つ Object または Array のインスタンスです。

@clearDataFrame を使用して、ストリームに設定されているメタデータのキーフレームを消去します。

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

パラメーター

handlerName:String — 送信するメッセージです。メッセージを受け取る ActionScript ハンドラーの名前でもあります。ハンドラー名の深さは 1 レベルのみで(つまり、親子形式を取ることができません)、ストリームオブジェクトに相対します。ハンドラー名には予約語を使用しないでください。例えば、ハンドラー名として「close」を使用すると、このメソッドは失敗します。Flash Media Server で、@setDataFrame を使用してメタデータのキーフレームをライブストリームに追加したり、@clearDataFrame を使用してキーフレームを削除したりします。
 
... arguments — オプションのパラメーターで、任意のデータ型を指定できます。それらは直列化され、接続を介して送信されます。受信側のハンドラーは同じ順番でそれらを受け取ります。パラメーターが循環オブジェクト(循環するリンクされたリストなど)である場合、シリアライザは参照を正しく処理します。Flash Media Server で、@setDataFrame が最初の引数の場合、onMetaData を 2 番目の引数として使用します。3 番目の引数には、メタデータがプロパティとして設定された Object または Array のインスタンスを渡します。設定可能なプロパティ名のリストについては、Flash Media Server 開発者ガイドを参照してください。@clearDataFrame を最初の引数、onMetaData を 2 番目の引数として使用し、3 番目の引数はありません。

関連する API エレメント


例  ( この例の使用方法 )

次の例は、2 つの NetStream オブジェクトを作成します。1 つのオブジェクトはサーバーへのライブストリームのパブリッシュに使用し、もう 1 つはストリームへのサブスクライブに使用します。
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);
    }
 }

次の例は、メタデータを作成してライブストリームに追加します。
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() );        
    }
}

ビデオに追加されているデータキーフレームに応答するには、クライアントが onMetaData イベントハンドラーを定義する必要があります。次の例では、onMetaData イベントハンドラーは addEventListener() に登録されていませんが、代わりに onMetaData という名前のコールバック関数が登録されています。
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

次の例は、サーバーに再生リストを作成する方法を示しています。
 // 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);

録画済みのビデオファイルにデータメッセージだけが含まれている場合、録画したときの速度でビデオファイルを再生するか、すべてのデータメッセージを一度に取得することができます。
 //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

()メソッド 
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Lite 4

基になる暗号化コンテンツを表示するために必要な DRM 認証資格情報を設定します。

setDRMAuthenticationCredentials() メソッドは、コンテンツプロバイダーまたはプロキシサーバーに知られていて承認されている資格情報に一致する資格情報を提供する必要があります。これらは、ユーザーがコンテンツの表示許可を取得するときに使用する資格情報と同じものです。

パラメーター

userName:String — 有効なユーザー名情報。
 
password:String — 指定したユーザー名に対応するパスワード情報。
 
type:String — 指定する認証資格情報のタイプを指定するストリング。 有効な値は "drm""proxy" です。 デフォルト値は "drm" です。
  • "drm" 認証タイプの場合、提供された資格情報は Flash Access に対して認証されます。
  • "proxy" 認証タイプの場合、資格情報は プロキシサーバーで認証され、プロキシサーバーが要求する資格情報と一致する必要があります。例えば、"proxy" オプションを使用すると、ユーザーがインターネットにアクセスする前にプロキシサーバーで認証を受けるように企業が要求する場合、アプリケーションにそのような手順を設定できます。匿名認証を使用する場合を除き、プロキシ認証の後にも、ユーザーは証明書を取得してコンテンツを再生するために、Flash Access に対して認証する必要があります。"drm" オプションを指定して setDRMAuthenticationcredentials() を 2 回使用すると、Flash Access に対して認証することができます。

関連する API エレメント

step

()メソッド 
public function step(frames:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2

現在表示されているフレームに対して、指定された数のフレーム分、前後に進みます。前に進む場合は正の数、後ろに進む場合は負の数を指定します。このメソッドを呼び出して、正確かつ高速な早送りまたは巻き戻し機能を作成します。

注意:このメソッドは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

このメソッドは、データが Flash Media Server 3.5.3 以降からストリーミングされ、NetStream.inBufferSeektrue の場合にのみ使用可能です。さらに、ターゲットフレームがバッファーに格納されている必要があります。例えば、現在表示されているフレームがフレーム番号 120 で値 1000 を指定する場合、フレーム番号 1120 がバッファーにない場合、メソッドはエラーになります。

このメソッドは、pause() メソッドまたは togglePause()メソッドと共に使用されることを想定しています。再生中に、停止せずに 10 個のフレームを前または後ろに進めた場合、その操作に気付かないか、異常が発生しているかのように見えます。さらに、pause() または togglePause を呼び出したときにオーディオは出力されません。

NetStream.step() の呼び出しが成功すると、info オブジェクトの code プロパティの値として「NetStream.Step.Notify」が指定された NetStatusEvent が送信されます。

パラメーター

frames:int

関連する API エレメント

togglePause

()メソッド 
public function togglePause():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ストリームの再生を一時停止または再開します。このメソッドを呼び出すと最初は再生を一時停止し、次に呼び出したときには再生を再開します。このメソッドを使用して、ユーザーが 1 つのボタンを押すだけで再生を一時停止または再生できるようにすることができます。

関連する API エレメント

イベントの詳細

asyncError

イベント
イベントオブジェクトの型: flash.events.AsyncErrorEvent
プロパティ AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

非同期形式で、つまりネイティブ非同期コードから例外がスローされると送出されます。このイベントは、サーバーが定義されていないメソッドをクライアント上で呼び出したときに送出されます。

AsyncErrorEvent.ASYNC_ERROR 定数は、type プロパティ(asyncError イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetイベントを送出するオブジェクトです。
errorイベントをトリガーしたエラーです。

関連する API エレメント

drmAuthenticate

イベント  
イベントオブジェクトの型: flash.events.DRMAuthenticateEvent
プロパティ DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Lite 4

NetStream オブジェクトが、再生の前にユーザーの認証資格情報を要求する、DRM(デジタル著作権管理)で暗号化されたコンテンツを再生しようとすると送出されます。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

NetStream オブジェクトの setDRMAuthenticationCredentials() メソッドを使用してユーザーを認証します。ユーザー認証に失敗した場合、認証が再試行され、NetStream オブジェクトの新しい DRMAuthenticateEvent イベントが送出されます。

DRMAuthenticateEvent.DRM_AUTHENTICATE 定数は、DRMAuthenticateEvent オブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
authenticationType提供された資格情報が、Flash Media Rights Management Server(FMRMS)とプロキシサーバーのいずれの認証用なのかを示します。
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
headerサーバーによって提供される暗号化コンテンツファイルのヘッダーです。
netstreamこのイベントを開始した NetStream オブジェクトです。
passwordPromptサーバーによって提供されるパスワード資格情報のプロンプトです。
targetNetStream オブジェクトです。
urlPromptサーバーによって提供される、表示する URL のプロンプトです。
usernamePromptサーバーによって提供されるユーザー名資格情報のプロンプトです。

関連する API エレメント

drmError

イベント  
イベントオブジェクトの型: flash.events.DRMErrorEvent
プロパティ DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 10.1, Flash Lite 4

NetStream オブジェクトが DRM(デジタル著作権管理)で暗号化されたファイルを再生しようとして、DRM に関連したエラーを検出したときに送出されます。例えば、DRMErrorEvent オブジェクトは、ユーザー承認に失敗したときに送出されます。これは、ユーザーがコンテンツを表示する権利を購入していないためや、コンテンツプロバイダーが表示アプリケーションをサポートしていないためなどで発生します。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

DRMErrorEvent.DRM_ERROR 定数は、type プロパティ(drmError イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
errorID問題に割り当てられた数値のエラーコードです。
subErrorID基になるプログラムに関する詳細な情報を示すエラーコードです。
targetNetStream オブジェクトです。

関連する API エレメント

drmStatus

イベント  
イベントオブジェクトの型: flash.events.DRMStatusEvent
プロパティ DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 10.1, Flash Lite 4

DRM(デジタル著作権管理)で暗号化されたコンテンツの再生が開始されるときに送出されます(ユーザーが認証されてコンテンツの再生が許可された場合)。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

DRMStatusEvent オブジェクトには、コンテンツがオフラインでも使用可能になっているか、またはバウチャーの期限が切れたときにコンテンツを表示できなくなるかなど、バウチャーに関連する情報が含まれています。

DRMStatusEvent.DRM_STATUS 定数は、type プロパティ(drmStatus イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
detailステータスイベントのコンテキストを説明するストリングです。
isAnonymousDRM 暗号化で保護されたコンテンツが認証資格情報をユーザーに要求することなく使用可能であるかどうかを示します。
isAvailableOfflineDRM 暗号化で保護されたコンテンツがオフラインで使用可能かどうかを示します。
offlineLeasePeriodコンテンツをオフラインで表示できる残りの日数です。
policiesDRM ステータスイベントのカスタムオブジェクトです。
targetNetStream オブジェクトです。
voucherEndDateバウチャーが期限切れとなり、ユーザーがコンテンツを表示できなくなる日の絶対日付です。
contentDataコンテンツの DRMContentData です。
voucherコンテンツの DRMVoucher オブジェクトです。
isLocalローカルファイルシステムにコンテンツが保存されているかどうかを示します。

関連する API エレメント

ioError

イベント  
イベントオブジェクトの型: flash.events.IOErrorEvent
プロパティ IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

入出力エラーが発生してネットワーク処理が失敗したときに送出されます。

type プロパティ(ioError イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
errorID特定のエラーに関連付けられた参照番号です(AIR のみ)。
target入出力エラーが発生したネットワークオブジェクトです。
textエラーメッセージとして表示されるテキストです。

mediaTypeData

イベント  
イベントオブジェクトの型: flash.events.NetDataEvent
プロパティ NetDataEvent.type = flash.events.NetDataEvent

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.3, AIR 2.7

ビデオコンテンツの再生時と、一部の種類のメッセージが処理されたときに送出されます。

NetDataEvent は次のメッセージのために送出されます。

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus(NetStream.Play.Complete コードの場合)
  • onTextData
  • onXMPData

注意:このイベントは、Android および Blackberry Tablet OS 上のブラウザー内の Flash Player で実行しているコンテンツ、または iOS 上の AIR で実行しているコンテンツからは送出されません。

netStatus

イベント  
イベントオブジェクトの型: flash.events.NetStatusEvent
プロパティ NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

NetStream オブジェクトが、そのステータスまたはエラーの状態をレポートすると送出されます。netStatus イベントには、info プロパティが含まれます。このプロパティは、接続試行が成功したかどうかなど、イベントに関する特定の情報を含む情報オブジェクトです。

type プロパティ(netStatus イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
infoオブジェクトのステータスまたはエラー状態を記述するプロパティを持つオブジェクトです。
targetそのステータスを報告する NetConnection または NetStream オブジェクトです。

関連する API エレメント

onCuePoint

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

ビデオファイルの再生中に埋め込まれたキューポイントに達した場合に応答するリスナーを定義します。このリスナーを使用して、ビデオが特定のキューポイントに達したときにコード内のアクションをトリガーすることができます。これにより、アプリケーションの他のアクションとビデオ再生イベントと同期させることができます。Flash Media Serverのサポートするビデオファイル形式について詳しくは、www.adobe.com/go/learn_fms_fileformats_jp を参照してください。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

onCuePoint は実際は NetStream.client オブジェクトのプロパティです。このプロパティは、Flash Media Server を使用したメディアのストリーミング時または FLV ファイルの再生中にデータイベントに応答するので、「イベント」セクションにリストされています。詳しくは、NetStream クラスの説明を参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onCuePoint をイベントとして受け取ったり、処理したりすることはできません。1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義します。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

関連付けられたイベントリスナーは、NetStream.play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガーされます。

次のタイプのキューポイントをビデオファイルに埋め込むことができます。

  • ナビゲーションキューポイントは、ビデオファイル内のキーフレームと、その厳密に一致するキーフレームに対応するキューポイントの time プロパティを指定します。ナビゲーションキューポイントは、ビデオファイル内の移動に使用できるブックマークやエントリポイントとしてよく使われます。
  • 時間を指定するイベントキューポイント。時間は、特定のキーフレームに対応していることも、対応していないこともあります。イベントキューポイントは、通常ビデオ内で何か処理が行われるときの時間を表し、他のアプリケーションイベントのトリガーに使用できます。

onCuePoint イベントオブジェクトには、次のプロパティが含まれます。

プロパティ説明
nameキューポイントがビデオファイル内に埋め込まれたときに、キューポイントに指定された名前です。
parametersこのキューポイントに指定された名前と値のペアのストリングの結合配列です。パラメーター名または値には、任意の有効なストリングを使用できます。
timeビデオファイルの再生時にキューポイントが発生した時間(秒数)です。
type到達したキューポイントの種類です。ナビゲーションまたはイベントのいずれかです。

最初にビデオファイルをエンコードするとき、または Flash オーサリングツールでビデオの読み込みウィザードを使用してビデオクリップを読み込むときに、ビデオファイルにキューポイントを定義できます。

onMetaData イベントも、ビデオファイル内のキューポイントに関する情報を取得します。ただし、onMetaData イベントは、ビデオの再生が開始される前に、すべてのキューポイントに関する情報を取得します。onCuePoint イベントは、1 つのキューポイントについて、再生時のそのキューポイントに指定された時間での情報を取得します。

一般に、コードで特定のキューポイントの発生時に応答するには、onCuePoint イベントを使用して、コード内の特定のアクションをトリガーします。

onMetaData イベントに指定されたキューポイントのリストを使用すると、ビデオストリームの事前に定義されたポイントでユーザーにビデオの再生を開始させることができます。キューポイントの time プロパティの値を NetStream.seek() メソッドに渡して、そのキューポイントからビデオを再生します。


例  ( この例の使用方法 )

次の例は、外部 FLV ファイルをロードして、メタデータおよびキューポイントに応答する方法を示しています。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);
}

関連する API エレメント

onDRMContentData

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.5, Flash Lite 4

AIR がメディアファイル内に埋め込まれた DRM コンテンツメタデータを抽出したときに応答するリスナーを定義します。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

DRMContentData オブジェクトには、DRM で保護されたメディアファイルの再生に求められるバウチャーを取得するために必要な情報が含まれています。DRMManager クラスを使用して、この情報でバウチャーをダウンロードします。

onDRMContentDataNetStream.client オブジェクトのプロパティです。このプロパティは、ローカルメディアファイルから埋め込みデータをプリロードするときにデータイベントに応答するので、「イベント」セクションにリストされています。詳しくは、NetStream クラスの説明を参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onDRMContentData をイベントとして受け取ったり、処理したりすることはできません。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義することや、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することは可能です。

関連する API エレメント

onImageData

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

再生中のメディアファイルにバイト配列として埋め込まれているイメージデータを Flash Player が受け取ったときに応答するリスナーを定義します。イメージデータは、JPEG、PNG または GIF のいずれかのコンテンツを作成できます。表示オブジェクトにバイト配列を読み込むには、flash.display.Loader.loadBytes() メソッドを使用します。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

onImageData は実際は NetStream.client オブジェクトのプロパティです。このプロパティは、Flash Media Server を使用したメディアのストリーミング時または FLV ファイルの再生中にデータイベントに応答するので、「イベント」セクションにリストされています。詳しくは、NetStream クラスの説明を参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onImageData をイベントとして受け取ったり、処理したりすることはできません。1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義します。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

関連付けられたイベントリスナーは、NetStream.play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガーされます。

onImageData イベントオブジェクトは、イメージデータを AMF0 データチャンネルを介して送信されるバイト配列として格納します。


例  ( この例の使用方法 )

この例のコードでは、Netstream.client プロパティを使用して、onTextData および onImageData のコールバック関数を処理しています。onImageDataHandler() 関数は、onImageData イベントオブジェクト imageData を使用してバイト配列を格納します。また、onTextDataHandler() 関数は、onTextData イベントオブジェクト textData を使用して複数のテキストデータを格納します(各データは、textData オブジェクトのプロパティです)。

コード中の場所 yourURL を、テキストまたはイメージメタデータを含むメディアファイルの実際の場所で置き換える必要があります。

カスタムクラスを使用してイメージデータやテキストデータを処理することもできます。詳細および例については、記事「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]);
                }
            }

        }

}

関連する API エレメント

onMetaData

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

再生中のビデオに埋め込まれた記述的情報を Flash Player が受け取ったときに応答するリスナーを定義します。Flash Media Serverのサポートするビデオファイル形式について詳しくは、www.adobe.com/go/learn_fms_fileformats_jp を参照してください。

onMetaData は実際は NetStream.client オブジェクトのプロパティです。このプロパティは、Flash Media Server を使用したメディアのストリーミング時または FLV ファイルの再生中にデータイベントに応答するので、「イベント」セクションにリストされています。NetStream クラスの説明について詳しくは、NetStream.client プロパティを参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onMetaData をイベントとして受け取ったり、処理したりすることはできません。1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義することができます。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

Flash Video Exporter ユーティリティ(バージョン 1.1 以降)は、ビデオの継続時間、作成日付、データレート、その他の情報をビデオファイルに埋め込みます。各ビデオエンコーダーは、それぞれ異なるメタデータのセットを埋め込みます。

関連付けられたイベントリスナーは、NetStream.play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガーされます。

多くの場合、ストリームメタデータに埋め込まれた継続期間の値は実際の継続時間に近似したものになりますが、正確な値ではありません。つまり、再生ヘッドがビデオストリームの末尾にある場合、FLV メタデータに埋め込まれた継続期間の値は NetStream.time プロパティの値と必ずしも一致するわけではありません。

onMetaData イベントハンドラーに渡されるイベントオブジェクトには、各データに 1 つのプロパティが含まれています。


例  ( この例の使用方法 )

次の例は、外部 FLV ファイルをロードして、メタデータおよびキューポイントに応答する方法を示しています。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);
}

関連する API エレメント

onPlayStatus

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

NetStream オブジェクトによるストリームの再生が終了した場合に応答するリスナーを定義します。関連付けられたイベントオブジェクトは、netStatus イベントによって返される内容に加えて情報を提供します。このプロパティを使用すると、NetStream オブジェクトが再生リスト内のストリームを切り替えたとき(情報オブジェクト NetStream.Play.Switch で示される)、または NetStream オブジェクトが終わりまで再生したときに(情報オブジェクト NetStream.Play.Complete で示される)、コード内のアクションをトリガーできます。

onPlayStaus は、実際は NetStream.client オブジェクトのプロパティです。このプロパティは、Flash Media Server を使用したメディアのストリーミング時または FLV ファイルの再生中にデータイベントに応答するので、「イベント」セクションにリストされています。詳しくは、NetStream クラスの説明を参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onPlayStatus をイベントとして受け取ったり、処理したりすることはできません。1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義します。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

このイベントでは、次のプロパティが指定された情報オブジェクトを返すことができます。

code プロパティlevel プロパティ説明
NetStream.Play.Switchstatusサブスクライバが、再生リストでストリームを切り替えています。
NetStream.Play.Completestatus再生が終了しました。
NetStream.Play.TransitionCompletestatusストリームのビットレートを切り替えた結果、サブスクライバは新しいストリームに切り替えています。

関連する API エレメント

onSeekPoint

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 2, Flash Lite 4

シーク可能ポイントと見なされるポイント(例えば、ビデオキーフレーム)が付加バイトパーサーによって検出されたときに、appendBytes() から同期的に呼び出されます。このイベントを使用して、シークポイントテーブルを作成できます。byteCount は、シークポイントに対する解析可能なメッセージの最初のバイトの byteCount に対応しています。前述のとおり、この値は 0 にリセットされます。シークするには、NetStream.Seek.Notify イベントで、シーク可能ポイントから始まるバイトを見つけ、appendBytes(bytes) を呼び出します。bytes 引数が、シーク可能ポイントから始まるバイトで構成される ByteArray である場合は、ビデオはそのシークポイントから再生されます。

注意:このコールバック内からの appendBytes() への呼び出しは無視されます。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

onSeekPointNetStream.client オブジェクトのプロパティです。このプロパティは appendBytes() メソッドが受け取るデータに応答するので、「イベント」セクションにリストされています。NetStream クラスの説明について詳しくは、NetStream.client プロパティを参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onSeekPoint をイベントとして受け取ったり、処理したりすることはできません。onSeekPoint を使用するには、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義することはできます。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

関連する API エレメント

onTextData

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Flash Player が再生中のメディアファイルに埋め込まれたテキストデータを受信したときに応答するリスナーを定義します。テキストデータは UTF-8 形式で、3GP timed text 仕様に基づいて形式に関する情報を含めることができます。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

onTextData は実際は NetStream.client オブジェクトのプロパティです。このプロパティは、Flash Media Server を使用したメディアのストリーミング時または FLV ファイルの再生中にデータイベントに応答するので、「イベント」セクションにリストされています。詳しくは、NetStream クラスの説明を参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onTextData をイベントとして受け取ったり、処理したりすることはできません。1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義します。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

関連付けられたイベントリスナーは、NetStream.play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガーされます。

onTextData イベントオブジェクトには、テキストデータごとに 1 つのプロパティが含まれます。


例  ( この例の使用方法 )

この例のコードでは、Netstream.client プロパティを使用して、onTextData および onImageData のコールバック関数を処理しています。onImageDataHandler() 関数は、onImageData イベントオブジェクト imageData を使用してバイト配列を格納します。また、onTextDataHandler() 関数は、onTextData イベントオブジェクト textData を使用して複数のテキストデータを格納します(各データは、textData オブジェクトのプロパティです)。

コード中の場所 yourURL を、テキストまたはイメージメタデータを含むメディアファイルの実際の場所で置き換える必要があります。

カスタムクラスを使用してイメージデータやテキストデータを処理することもできます。詳細および例については、記事「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]);
                }
            }

        }

}

関連する API エレメント

onXMPData

イベント  

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

再生中のビデオに埋め込まれている Adobe Extensible Metadata Platform(XMP)独自の情報を Flash Player が受け取ったときに応答するリスナーを定義します。Flash Media Serverのサポートするビデオファイル形式について詳しくは、www.adobe.com/go/learn_fms_fileformats_jp を参照してください。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

onXMPData は実際は NetStream.client オブジェクトのプロパティです。このプロパティは、Flash Media Server を使用したメディアのストリーミング時または FLV ファイルの再生中にデータイベントに応答するので、「イベント」セクションにリストされています。NetStream クラスの説明について詳しくは、NetStream.client プロパティを参照してください。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、onMetaData をイベントとして受け取ったり、処理したりすることはできません。1 つのコールバック関数を定義して、以下のオブジェクトのいずれかをアタッチする必要があります。

  • Netstream インスタンスの client プロパティで参照されるオブジェクトです。
  • Netstream サブクラスのインスタンスです。Netstream は sealed クラスで、実行時にプロパティまたはメソッドを Netstream オブジェクトに追加できないことを意味します。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラーを定義することはできます。また、サブクラスをダイナミックにしてイベントハンドラー関数をサブクラスのインスタンスに追加することもできます。

関連付けられたイベントリスナーは、NetStream.play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガーされます。

onXMPData() イベント処理機能に渡されるオブジェクトは、1 つのデータプロパティ(ストリング)を持ちます。このストリングは最上位の UUID ボックスから生成されます(最上位ボックスの 128 bit UUID は BE7ACFCB-97A9-42E8-9C71-999491E3AFAC)。この最上位 UUID ボックスには、null を持たない UTF-8 ストリングとして表される XML ドキュメントが 1 つだけ含まれます。

関連する API エレメント

status

イベント  
イベントオブジェクトの型: flash.events.StatusEvent
プロパティ StatusEvent.type = flash.events.StatusEvent.STATUS

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10.1, AIR 1.0, Flash Lite 4

アプリケーションが NetStream.play() メソッドを呼び出して DRM(デジタル著作権管理)で暗号化されたコンテンツを再生しようとすると送出されます。ステータスコードプロパティの値は "DRM.encryptedFLV" です。

注意:このイベントは、AIR 3.0 for iOS の H.264 ビデオではサポートされていません。

type プロパティ(status イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
codeオブジェクトのステータスの説明です。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
level"status""warning""error" など、メッセージのカテゴリです。
targetそのステータスをレポートするオブジェクトです。

関連する API エレメント

定数の詳細

CONNECT_TO_FMS

定数
public static const CONNECT_TO_FMS:String = "connectToFMS"

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

NetStream インスタンスのコンストラクターに対するパラメーターとして使用される静的オブジェクト。これは NetStream コントラクタの 2 番目のパラメーターのデフォルト値です。アプリケーションが使用してメディアをプログレッシブ再生することはありません。このパラメーターを使用すると、コントラクタが Flash Media Server インスタンスに接続します。

DIRECT_CONNECTIONS

定数 
public static const DIRECT_CONNECTIONS:String = "directConnections"

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5, Flash Lite 4

ピアーツーピアーの発行者接続を作成します。2 番目の(オプション)パラメーターのこのストリングを、NetStream インスタンスのコンストラクターに渡します。アプリケーションはこのストリングを使用して、クライアントにオーディオおよびビデオをパブリッシュするための NetStream 接続を作成します。

NetConnectionExample.as

次の例では、Video オブジェクトを NetConnection クラスおよび NetStream クラスと共に使用して、FLV ファイルをロードして再生します。

この例では、Video オブジェクトと NetStream オブジェクトを作成し、Video.attachNetStream() メソッドと NetStream.play() メソッドを呼び出すコードがハンドラー関数に配置されます。ハンドラーは、NetConnection オブジェクトとの接続が成功した場合にのみ呼び出されます。つまり、netStatus イベントが返す info オブジェクトの code プロパティが成功を示しているときです。接続に成功するまで待ってから、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

カスタムクラスを作成しなくても、関数を使用してメタデータを取得することができます。次の例は Bill Sanders 氏によるアイデアですが、前述の NetConnectionExample のコードを編集して、関数内でメタデータを呼び出す方法を示しています。この例では、mdata オブジェクトを使用して 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 ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。