パッケージflash.net
クラスpublic class NetStream
継承NetStream Inheritance EventDispatcher Inheritance Object

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

NetStream クラスは、AIR または Flash Player アプリケーションと Flash Media Server との間、または AIR または Flash Player アプリケーションとローカルファイルシステムとの間で、単方向ストリーミング接続を開きます。 NetStream オブジェクトは、NetConnection オブジェクト内のチャンネルです。このチャンネルは、NetStream.publish() を使用してストリームをパブリッシュするか、NetStream.play() を使用して、パブリッシュされたストリームにサブスクライブし、データを受信できます。ライブ (リアルタイム) データおよび以前に記録したデータをパブリッシュすることも、再生することもできます。また、NetStream.send() メソッドを呼び出して、メッセージをすべてのサブスクライブしているクライアントに送信することもできます。

SWF ファイルにビデオを埋め込むよりも、外部のビデオファイルを再生した方が、パフォーマンスとメモリ管理の効率がよくなる、ビデオと SWF のフレームレートを独立化できるなどのメリットがあります。

Adobe AIR および Flash Player 9.0.115.0 以降では、H.264 ビデオや HEAAC V2 でエンコードされたオーディオを含む場合、F4V、MP4、M4A、MOV、MP4V、3GP、3G2 など、標準の MPEG-4 コンテナ形式から派生したファイルをサポートします。 H.264 では、Sorenson または On2 の同じエンコードプロファイルと比較して、低いビットレートで高品質のビデオが配信されます。 HE-AAC v2 は、Spectral Band Replication(SBR)技術と Parametric Stereo(PS)技術を使用して低いビットレートでのコーディング効率を向上させる AAC(MPEG-4 ビデオ標準で定義されている標準オーディオ形式)を拡張したものです。 サポートされているコーデックおよびファイル形式については、、http://www.adobe.com/go/hardware_scaling_jp、および www.adobe.com/go/learn_fms_fileformats_jp を参照してください。

ストリームのパブリッシュおよび再生のためのワークフロー:

  1. NetConnection オブジェクトを作成します。
  2. NetConnection.connect() メソッドを呼び出して、サーバー上のアプリケーションインスタンスに接続します。
  3. NetStream オブジェクトを作成し、接続内にストリームを作成します。
  4. オーディオおよびビデオのキャプチャ、エンコード、およびパブリッシュを行うには、NetStream.attachAudio() メソッドおよび NetStream.attachCamera() メソッドを呼び出します。
  5. NetStream.publish() メソッドを呼び出して、ストリームに一意の名前を付けます。また、ストリームを介してサーバーにデータを送信します。これにより、他のユーザーがデータを受信できるようになります。データをパブリッシュしたときに、そのデータを記録することもできます。これにより、後でデータを再生することができます。
  6. NetStream.play() メソッドを呼び出して、ライブストリームまたは録音したストリームを再生します。play() メソッドを渡します。これは、publish() メソッドに渡された文字列の名前です。

Flash Media Server でのデータキーフレームの使用:NetConnection オブジェクトと NetStream オブジェクトを作成した後、オーディオまたはビデオをサーバーにストリーミングするときに、NetStream.send() を使用してライブのオーディオまたはビデオにメタデータを追加できます。メタデータには、ビデオの高さまたは幅、ビデオの継続時間、作成者の名前などの情報を設定できます。メタデータを定義するには、特別なハンドラ名 @setDataFrame を、NetStream.send() に渡す最初の引数として使用します。

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

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

例を表示

関連項目

flash.media.Video
flash.net.NetConnection
onImageData
onMetaData
Basics of video


パブリックプロパティ
 プロパティ定義元
  bufferLength : Number
[読み取り専用] バッファに現在格納されているデータの秒数です。
NetStream
  bufferTime : Number
ストリームの表示を開始するまでにメッセージをどの程度の時間バッファリングしておくかを指定します。
NetStream
  bytesLoaded : uint
[読み取り専用] 既にアプリケーションにロードされているデータのバイト数です。
NetStream
  bytesTotal : uint
[読み取り専用] アプリケーションにロードされるファイルの総バイト数。
NetStream
  checkPolicyFile : Boolean
ビデオファイルのロードを開始する前に、アプリケーションが、ロードされるビデオファイルのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。
NetStream
  client : Object
FLV ファイルデータのストリーミングの処理にコールバックメソッドが呼び出されるオブジェクトを指定します。
NetStream
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  currentFPS : Number
[読み取り専用] 1 秒あたりの表示フレーム数です。
NetStream
  farID : String
[読み取り専用] この NetStream インスタンスに接続されている相手側の識別子です。
NetStream
  farNonce : String
[読み取り専用] 実際にはストリームの向こう側によって選択される値で、この接続に固有です。
NetStream
  info : NetStreamInfo
[読み取り専用] サービスの質に関する統計情報をプロパティが持つ NetStreamInfo オブジェクトを返します。
NetStream
  liveDelay : Number
[読み取り専用] ライブ (バッファリングされていない) モードでサブスクライブしているストリームバッファ内にあるデータの秒数です。
NetStream
  maxPauseBufferTime : Number
一時停止モード中にメッセージをバッファリングしておく時間を秒単位で指定します。
NetStream
  nearNonce : String
[読み取り専用] 実際にはストリームのこちら側によって選択される値で、この接続に固有です。
NetStream
  objectEncoding : uint
[読み取り専用] この NetStream オブジェクトのエンコード(AMF バージョン)です。
NetStream
  peerStreams : Array
[読み取り専用] パブリッシュするこの NetStream インスタンスを監視している、サブスクライブするすべての NetStream インスタンスを保持するオブジェクト。
NetStream
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  soundTransform : SoundTransform
この NetStream オブジェクトのサウンドを制御します。
NetStream
  time : Number
[読み取り専用] 再生ヘッドの位置(秒単位)です。
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
  
ソースとして渡される Microphone オブジェクトから NetStream オブジェクトを介して送信されるオーディオストリームを指定します。
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
カメラからビデオのキャプチャを開始します。または、theCamera が null に設定されると、キャプチャを停止します。
NetStream
  
ストリーム上のすべてのデータの再生を停止し、time プロパティを 0 に設定して、他の用途でストリームにアクセスできるようにします。
NetStream
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
ピアーがパブリッシュするストリームが、ピアーがサブスクライブするストリームに一致する場合に呼び出されます。
NetStream
  
ビデオストリームの再生を一時停止します。
NetStream
  
play(... arguments):void
メディアファイルを再生します。
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
  
[静的] ローカルにキャッシュされたすべてのDRM(デジタル著作権管理)バウチャーデータを削除します。
NetStream
  
再生を一時停止していたビデオストリームを再開します。
NetStream
  
seek(offset:Number):void
指定された位置に最も近いキーフレーム (ビデオ業界では I フレームとも呼ばれます) をシークします。
NetStream
  
send(handlerName:String, ... arguments):void
パブリッシュされたストリーム上で、サブスクライブしているすべてのクライアントにメッセージを送信します。
NetStream
  
基になる暗号化コンテンツを表示するために必要な DRM 認証資格情報を設定します。
NetStream
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
ストリームの再生を一時停止または再開します。
NetStream
 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
  AIR がメディアファイルに埋め込まれた DRM コンテンツメタデータを抽出する場合に、応答するリスナーを確立します。NetStream
  再生中のメディアファイルにバイト配列として埋め込まれているイメージデータを Flash Player が受け取ったときに応答するリスナーを定義します。NetStream
  再生中のビデオに埋め込まれた記述的情報を Flash Player が受け取ったときに応答するリスナーを定義します。NetStream
  NetStream オブジェクトによるストリームの再生が終了した場合に応答するリスナーを定義します。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
プロパティの詳細
bufferLengthプロパティ
bufferLength:Number  [読み取り専用]

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

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



実装
    public function get bufferLength():Number

関連項目

bufferTimeプロパティ 
bufferTime:Number

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

ストリームの表示を開始するまでにメッセージをどの程度の時間バッファリングしておくかを指定します。例えば、ストリームの最初の 15 秒間を中断することなく再生するには、bufferTime を 15 に設定します。この場合、アプリケーションはデータを 15 秒間バッファリングしてからストリームの再生を開始します。

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

メモ : 記録されている(ライブではない)コンテンツをストリーミングするときの歪みを避けるには、Netstream.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 には、受信データをバッファリングして、ストリームの表示を開始するまでの時間を指定します。例えば、ストリームの最初の 15 秒間を中断することなく再生するには、bufferTime を 15 に設定します。この場合、Flash はデータを 15 秒間バッファリングしてからストリームの再生を開始します。

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



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

関連項目

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

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

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



実装
    public function get bytesLoaded():uint

関連項目

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

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

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



実装
    public function get bytesTotal():uint

関連項目

checkPolicyFileプロパティ 
checkPolicyFile:Boolean

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

ビデオファイルのロードを開始する前に、アプリケーションが、ロードされるビデオファイルのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。このプロパティは、プログレッシブビデオダウンロードに NetStream オブジェクト(スタンドアローンファイル)を使用する場合、または呼び出し元の ファイルの専用ドメイン外にあるファイルをロードする場合に適用します。このプロパティは、NetStream オブジェクトを使用して RTMP アセットを取得する場合には無視されます。

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

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

NetStream.play() メソッドを呼び出すときに checkPolicyFiletrue に設定する場合、Flash Player または AIR ランタイムは、関連するクロスドメインポリシーファイルを正常にダウンロードするか、NetStream.play() の呼び出しで指定したオブジェクトのダウンロードを開始する前に、そのようなポリシーファイルが存在しないことを判別しておく必要があります。ポリシーファイルの存在を確認するため、Flash Player または AIR ランタイムは次のアクションをこの順番で実行します。

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

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

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

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

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

ポリシーファイルの詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。



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

関連項目

clientプロパティ 
client:Object

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

FLV ファイルデータのストリーミングの処理にコールバックメソッドが呼び出されるオブジェクトを指定します。デフォルトのオブジェクトは、作成される NetStream オブジェクト this です。client プロパティを別のオブジェクトに設定すると、コールバックメソッドはその別のオブジェクトで呼び出されます。NetStream.client オブジェクトは関数 onCuePoint()()onImageData()onMetaData()()onPlayStatus()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 以外のオブジェクトに設定する必要があります。

関連項目

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

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

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



実装
    public function get currentFPS():Number
farIDプロパティ 
farID:String  [読み取り専用]

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

この NetStream インスタンスに接続されている相手側の識別子です。このプロパティは、RTMFP 接続に対してのみ定義されます。



実装
    public function get farID():String
farNonceプロパティ 
farNonce:String  [読み取り専用]

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

実際にはストリームの向こう側によって選択される値で、この接続に固有です。この値は、ストリームの向こう側では nearNonce 値となります。このプロパティは、RTMFP 接続に対してのみ定義されます。



実装
    public function get farNonce():String
infoプロパティ 
info:NetStreamInfo  [読み取り専用]

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

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



実装
    public function get info():NetStreamInfo

関連項目

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

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

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

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

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



実装
    public function get liveDelay():Number
maxPauseBufferTimeプロパティ 
maxPauseBufferTime:Number

一時停止モード中にメッセージをバッファリングしておく時間を秒単位で指定します。このプロパティを使用して、一時停止モード中に行うバッファリングの量を制限できます。NetStream.bufferLength の値がこの制限に達するとバッファリングが停止します。この値を設定しない場合は、デフォルトの 60 秒または各一時停止の NetStream.bufferTime の値の 2 倍のいずれか高いほうに設定されます。



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

関連項目

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

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

実際にはストリームのこちら側によって選択される値で、この接続に固有です。この値は、ストリームの向こう側では farNonce 値となります。このプロパティは、RTMFP 接続に対してのみ定義されます。



実装
    public function get nearNonce():String
objectEncodingプロパティ 
objectEncoding:uint  [読み取り専用]

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

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

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

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



実装
    public function get objectEncoding():uint

関連項目

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

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

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



実装
    public function get peerStreams():Array
soundTransformプロパティ 
soundTransform:SoundTransform

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

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



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

関連項目

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

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

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

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

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

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



実装
    public function get time():Number

関連項目

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

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

指定された NetConnection オブジェクトを使用して、ビデオファイルを再生するためのストリームを生成します。

サポートされているコーデックおよびファイル形式については、、http://www.adobe.com/go/hardware_scaling_jp、および www.adobe.com/go/learn_fms_fileformats_jp を参照してください。

パラメータ
connection:NetConnection — NetConnection オブジェクトです。
 
peerID:String (default = "connectToFMS") — このパラメータはオプションです。 Flash Player 10 以降で使用できます。FMS への接続では、NetStream.CONNECT_TO_FMS に値を設定します。ピアーに直接パブリッシュするには、NetStream.DIRECT_CONNECTIONS を指定します。特定のピアーから直接再生するには、ピアーの識別子を指定します(NetConnection.nearID および NetConnection.farID を参照してください)。NetConnection.protocol プロパティの値は "rtmfp" である必要があります(peerID パラメータがピアーに設定されている場合)。RTMFP 以外の接続では、peerID パラメータは無視されます。パラメータとして、null 値が NetStream() メソッドに渡されると、プログラムによって、ActionScript がキャッチするために、デフォルト値の "connectToFMS"peerID パラメータに使用します。

ただし、peerID パラメータはオプションのため、クライアントとサーバが接続している間、以下がプログレッシブ再生の動作を継続します。

     new NetStream(nc:NetConnection);
     

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

関連項目




次のコードは、変数 videoURL に割り当てられたビデオを連続的にダウンロードし、表示する接続を示しています。
            var my_nc:NetConnection = new NetConnection();
            my_nc.connect(null);
            var my_ns:NetStream = new NetStream(my_nc);
            my_ns.play(videoURL);
            var my_video:Video = new Video();
            my_video.attachNetStream(my_ns);
            addChild(my_video);

次のコードは、(変数 videoURL に割り当てられた)ビデオを、connect() コマンドで指定されているリモート Flash Media Server インスタンスでストリーミングし、表示する接続を示しています。
            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_ns.play(videoURL);
            var my_video:Video = new Video();
            my_video.attachNetStream(my_ns);
            addChild(my_video);
メソッドの詳細
attachAudio()メソッド
public function attachAudio(microphone:Microphone):void

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

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

attachAudio メソッドは、Flash Media Server で使用することを目的としています。このメソッドは、ユーザーがクライアントコンピュータからサーバーにライブオーディオ (またはオーディオ付きのライブビデオ) を送信するときに呼び出される場合があります。

このメソッドは、publish() メソッドを呼び出す前または後に呼び出すことができ、実際に送信を開始します。オーディオを聞きたいサブスクライバは NetStream.play() メソッドを呼び出す必要があります。マイクの rate をサウンドキャプチャデバイスのレートに合わせ、サイレンスレベルのしきい値を setSilenceLevel() メソッドを通じて設定します。マイクオブジェクトの soundTransform プロパティを使用して、このオーディオストリームのサウンドプロパティ(ボリュームとパン)を制御できます。

     var conn:NetConnection = new NetConnection();
     conn.connect("rtmp://server.domain.com/path");
     var stream:NetStream = new NetStream(conn);
     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;
     stream.attachAudio(live_mic);
     stream.publish("mic_stream","live")
     

パラメータ

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

関連項目

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 つの方法があります。

どちらの手法でも、同じ 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

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

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

関連項目

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

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

ピアーがパブリッシュするストリームが、ピアーがサブスクライブするストリームに一致する場合に呼び出されます。サブスクライバが発行者に接続する前にこのメソッドを呼び出すと、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

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

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() を使用し、閲覧者がコマーシャルを見ている間、データをバッファし、メインのビデオが開始されたときに一時停止を解除することができます。

関連項目

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

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

メディアファイルを再生します。

サポートされているコーデックおよびファイル形式については、、http://www.adobe.com/go/hardware_scaling_jp、および www.adobe.com/go/learn_fms_fileformats_jp を参照してください。

ビデオデータを表示するには、Video オブジェクトを作成して、Video.attachNetStream() メソッドを呼び出します。マイクからオーディオをストリーミングするには、NetStream.attachAudio() メソッドを使用します。Microphone オブジェクトを使用すると、オーディオの一部の属性を制御できます。

DisplayObjectContainer.addChild() メソッドを呼び出して、表示リスト上のオブジェクトにオーディオをルーティングします。その後、Sound オブジェクトを作成して、オーディオの一部の属性を制御できます。詳細については、DisplayObjectContainer.addChild() メソッドを参照してください。

ビデオファイルが見つからない場合は、NetStatusEvent オブジェクトが送出されます。

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

一般的な予約ポートには接続できません。ブロックされているポートの一覧については、セキュリティに関する章(『ActionScript 3.0 のプログラミング』)の「ネットワーク API の制限」を参照してください。

一般的な予約ポートには接続できません。ブロックされているポートの一覧については、セキュリティに関する章(『ActionScript 3.0 のプログラミング』)の「ネットワーク API の制限」を参照してください。

セキュリティ情報について詳しくは、以下を参照してください。

パラメータ

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

Flash Media Server では、play() は次の引数を受け取ります。

名前必須説明
name:Object必須 記録されたファイルの名前、NetStream.publish() を使用してパブリッシュされたライブデータの識別子、 または falsefalse の場合は、ストリームの再生が停止し、他のパラメータは無視されます。ファイル名の構文の詳細については、この表の次にあるファイル形式一覧を参照してください。
start:Numberオプション 開始時間 (秒単位)。指定可能な値は、-2、-1、0、または正の数値です。デフォルト値は -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ストリーム名をストリングとして指定します。ファイル名の拡張子は含みません。ns.play("myflvstream");
MP3 または ID3ストリーム名をストリングとして指定します。それぞれ接頭辞として mp3: または id3: を使用します。ファイル名の拡張子は含みません。ns.play("mp3:mymp3stream"); ns.play("id3:myid3data");
MPEG-4 対応ファイル(F4V および MP4 など)ストリーム名をストリングとして指定します。それぞれ接頭辞として mp4: を使用します。ファイル名の拡張子は含む場合と含まない場合があります。この接頭辞は、H.264 コード化ビデオおよび AAC コード化オーディオが MPEG-4 Part 14 コンテナ形式でファイルに格納されていることをサーバーに指示します。サーバー上のファイルにファイル名の拡張子が付いている場合、ファイル名の拡張子を指定します。publish() メソッドでファイル名の拡張子を指定した場合、ファイル名の拡張子を指定します。ns.play("mp4:myvideo.f4v") ns.play("mp4:myvideo.mp4") ns.play("mp4:myvideo")


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

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

関連項目



Flash Media Server この例では、記録された F4V ファイルを、先頭から開始して最大 100 秒まで再生します。MPEG-4 ファイルの場合、サーバー上のファイルにファイル名の拡張子が付いている場合、play() メソッドでいずれかの拡張子を指定します。
     ns.play("mp4:record1.f4v", 0, 100, true);
  
Flash Media Server この例は、クライアントがパブリッシュしたライブ FLV ストリームを、先頭から最後まで再生します。再生はすぐに開始され、以前のストリームはすべて消去されます。
  ns.play("stephen");
  
play2()メソッド 
public function play2(param:NetStreamPlayOptions):void

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

再生用の各オプションを設定のうえ、メディアファイルの再生を開始します。

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

play2() メソッドを使用して、異なるビットレートでエンコードされたコンテンツが同じストリームに切り替えたり、再生リストのストリームを入れ替えたりします。ネットワークの状態を監視し、そのデータに基づいてストリームを切り替えるには、NetStreamInfo クラスを使用します。異なる機能のクライアント用のストリームを切り替えることもできます。ActionScript を使用してストリームを切り替えることは、ダイナミックストリーミングと呼ばれます。詳細については、www.adobe.com/go/learn_fms_devguide_jp にある『Adobe Flash Media Server Developer Guide』で「dynamic streaming」を検索してください。NetStream クラスを拡張する DynamicStream という名前のカスタム ActionScript が作成されています。DynamicStream クラスを使用すると、独自のコードを作成してネットワークの状態を検出しなくても、ダイナミックストリーミングを実装できます。ダイナミックストリーミングのコードを独自に作成する場合でも、動作する実装の例として DynamicStream クラスを参照してください。www.adobe.com/go/fms_tools_jp でクラスおよびクラスのドキュメントをダウンロードしてください。

パラメータ

param:NetStreamPlayOptions

関連項目

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

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

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

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

DRM バウチャーをプリロードする手順は次のとおりです。

注意:同じ NetStream オブジェクトを使用して、メタデータのプリロードとコンテンツの再生を両方行う場合、再生開始前にプリロード処理によって生成された onPlayStatus 呼び出しを待機する必要があります。

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

メモ:HTTP、HTTPS、または RTMP 接続経由での DRM メタデータのプリロードはサポートされていません。メタデータは、ファイルシステムに格納されているファイルからのみプリロードできます。

パラメータ

param:NetStreamPlayOptions — コンテンツファイルの処理中に使用するオプションが記述されている NetStreamPlayOptions です。

関連項目

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

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

クライアントから Flash Media Server へ、ストリーミングオーディオ、ビデオ、およびテキストメッセージを送信します。送信中にストリームを記録することもできます。このメソッドは、指定されたストリームの発行者だけが使用できます。

FLV 形式または MPEG-4 形式でファイルを記録できます。MPEG-4 形式でファイルを記録した場合、別のアプリケーションでファイルを編集または再生するには、flattener ツールを使用する必要があります。ツールをダウンロードするには、www.adobe.com/go/fms_tools_jp を参照してください。

すでにパブリッシュおよび記録されているストリームを再生するには、このメソッドを使用しないでください。ストリームを再生するには、NetStream.play() メソッドを使用します。

  var subscribeNS:NetStream = new NetStream(myNetConnection);
  subscribeNS.play("streamToPlay");
  

Flash Media Server は、ストリームを記録するとき、ファイルを作成して、サーバー上のアプリケーションのディレクトリのサブディレクトリに格納します。各ストリームは、NetConnection.connect() () に渡されたアプリケーションインスタンス名に一致する名前のディレクトリに格納されます。サーバーでは、これらのディレクトリが自動的に作成されます。たとえば、次のコードでは「lectureseries」アプリケーションに接続され、「ecture」と呼ばれるストリームが録音されます。lecture.flv ファイルは、applications/lectureseries/streams/_definst_ directory に録音されます。

     var myNC:NetConnection = new NetConnection();
     myNC.connect("rtmp://fms.example.com/lectureseries");
     var myNS:NetStream = new NetStream(myNC);
     myNS.publish("lecture", "record");
     

次の例では、同じアプリケーションの別のインスタンスに接続する方法を示しています。lecture.flv ファイルは、/applications/lectureseries/streams/monday ディレクトリに録音されます。

     var myNC:NetConnection = new NetConnection();
     myNC.connect("rtmp://fms.example.com/lectureseries/monday");
     var myNS:NetStream = new NetStream(myNC);
     myNS.publish("lecture", "record");
     

このメソッドは、NetStatusEvent オブジェクトを送出します。たとえば、指定した名前を持つストリームを誰かが既にパブリッシュしている場合、NetStatusEvent オブジェクトは code プロパティが "NetStream.Publish.BadName" で送出されます。詳しくは、NetStatusEvent オブジェクトを参照してください。

パラメータ

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

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

ファイル形式シンタックス
FLVストリーム名を、ファイル名拡張子なしのストリングとして指定します。ns.publish("myflvstream");
MP3 または ID3ストリーム名をストリングとして指定します。それぞれ接頭辞として mp3: または id3: を使用します。ファイル名の拡張子は含みません。ns.publish("mp3:mymp3stream"); ns.publish("id3:myid3data");
MPEG-4 対応ファイル(F4V および MP4 など)ストリーム名をストリングとして指定します。それぞれ接頭辞として mp4: を使用します。ファイル名の拡張子は含む場合と含まない場合があります。この接頭辞は、H.264 コード化ビデオおよび AAC コード化オーディオが MPEG-4 Part 14 コンテナ形式でファイルに格納されていることをサーバーに指示します。ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo.mp4"); ns.publish("mp4:myvideo");

 
type:String (default = null) — ストリームのパブリッシュ方法を指定するストリングです。有効な値は「record」、「append」、および「live」です。デフォルト値は "live" です。
  • record」を渡すと、Flash Media Server はライブデータをパブリッシュして記録し、記録したデータを、name パラメータに渡された値と名前が一致する新しいファイルに保存します。このファイルが存在する場合は、上書きされます。
  • "append" を渡すと、Flash Media Server はライブデータをパブリッシュして記録し、記録したデータを、name パラメータに渡された値と名前が一致するファイルに追加します。name パラメータと一致するファイルが見つからない場合は、ファイルが作成されます。
  • このパラメータを省略するか、「live」を渡した場合、Flash Media Server はライブデータを記録せずにパブリッシュします。name パラメータに渡された値と名前が一致するファイルが存在する場合は、そのファイルが削除されます。

関連項目

NetConnection.connect()
NetStatusEvent.info
receiveAudio()メソッド 
public function receiveAudio(flag:Boolean):void

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

ストリーム上で着信オーディオが再生されるかどうかを示します。このメソッドは、指定されたストリームにサブスクライブされたクライアントでのみ使用できます。ストリームの発行者は使用できません。

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

このメソッドは、NetStream.play() メソッドを呼び出す前または呼び出した後に呼び出すことができ、実際にストリームの受信を開始します。例えば、着信オーディオストリームをミュートまたはミュート解除する場合、ユーザーがクリックするボタンにこれらのメソッドをアタッチできます。

指定のストリームにオーディオデータのみが含まれる場合、このメソッドに値 false を渡すと NetStream.time は増加しなくなります。

パラメータ

flag:Boolean — ストリーム上で着信オーディオを再生するかどうかを指定します。再生する場合は true、再生しない場合は false を指定します。デフォルト値は true です。

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

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

ストリーム上で着信ビデオが再生されるかどうかを指定します。このメソッドは、指定されたストリームにサブスクライブされたクライアントでのみ使用できます。ストリームの発行者は使用できません。

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

このメソッドは、NetStream.play() メソッドを呼び出す前または呼び出した後に呼び出すことができ、実際にストリームの受信を開始します。例えば、着信ビデオストリームを表示または非表示にする場合、ユーザーが押すボタンにこれらのメソッドをアタッチできます。

指定のストリームにビデオデータのみが含まれる場合、このメソッドに値 false を渡すと NetStream.time は増加しなくなります。

パラメータ

flag:Boolean — このストリーム上で着信ビデオを再生するかどうかを指定します。再生する場合は true、再生しない場合は false を指定します。デフォルト値は true です。

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

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

着信ビデオのフレームレートを指定します。このメソッドは、指定されたストリームにサブスクライブされたクライアントでのみ使用できます。ストリームの発行者は使用できません。

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

このメソッドは、NetStream.play() メソッドを呼び出す前または呼び出した後に呼び出すことができ、実際にストリームの受信を開始します。例えば、着信ビデオのフレームレートをユーザーが設定できるテキストフィールドにこれらのメソッドをアタッチできます。

ビデオの受信を停止するには、FPS に 0 を渡します。現在のフレームレートを確認するには、NetStream.currentFPS を使用します。

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

パラメータ

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

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

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

ローカルにキャッシュされたすべてのDRM(デジタル著作権管理)バウチャーデータを削除します。

ユーザーが暗号化されたコンテンツにアクセスできるようにするには、アプリケーションでメディア著作権サーバーから必要なすべてのバウチャーを再ダウンロードする必要があります。この関数の呼び出しは、DRMManager オブジェクトの resetDRMVouchers() 関数の呼び出しと同じです。


例外
IOError — 証明書データを削除できません。

関連項目




次の例では、すべての DRM バウチャーをリセットします。

NetStream.resetDRMVouchers();
resume()メソッド 
public function resume():void

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

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

関連項目

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

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

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

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

Flash Media Server では、seek() の動作は EnhancedSeek エレメントによって制御されます。このエレメントは、Application.xml 設定ファイルに定義されています。

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

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

パラメータ

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

関連項目

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 のインスタンスです。発行者は、サブスクライバが簡単に理解できるプロパティ名を設定する必要があります。設定可能なプロパティ名のリストについては、Flash Media Server 開発者ガイドを参照してください。

@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 番目の引数はありません。

関連項目




次の例は、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.play("dummy");
               ns2.client = new CustomClient();
               vid.attachNetStream(ns2);
               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);
AIR-only setDRMAuthenticationCredentials()メソッド 
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void

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

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

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

パラメータ

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

関連項目

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

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

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

関連項目

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

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

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

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

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

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

関連項目

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

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

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

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サーバーによって提供されるユーザー名資格情報のプロンプトです。

関連項目

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

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

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

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

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

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

関連項目

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

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

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

DRMStatusEvent オブジェクトには、コンテンツをオフラインで使用可能にできるかどうか、またはいつ証明書が期限切れとなり、コンテンツを表示できなくなるかなど、証明書に関連する情報が含まれます。

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

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

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

関連項目

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

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

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

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

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

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

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

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

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

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

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

関連項目

onCuePoint イベント  

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

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

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

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

ビデオファイルに埋め込み可能なキューポイントには、次のタイプがあります。

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

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

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

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

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

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

関連項目

AIR-only onDRMContentData イベント  

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

AIR がメディアファイルに埋め込まれた DRM コンテンツメタデータを抽出する場合に、応答するリスナーを確立します。

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

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

関連項目

onImageData イベント  

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

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

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

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

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




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

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

カスタムクラスを使用してイメージおよびテキストデータを処理することもできます。詳細および例については、記事「Handling metadata and cue points in Flash video」を参照してください。

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

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

                var 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.play("yourURL");
                my_ns.client = customClient;

                var my_video:Video = new Video();
                my_video.attachNetStream(my_ns);
                addChild(my_video);

            }

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

        }

}

関連項目

onMetaData イベント  

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

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

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

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

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

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

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

関連項目

onPlayStatus イベント  

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

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

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

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

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

関連項目

onTextData イベント  

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

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

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

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

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




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

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

カスタムクラスを使用してイメージおよびテキストデータを処理することもできます。詳細および例については、記事「Handling metadata and cue points in Flash video」を参照してください。

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

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

                var 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.play("yourURL");
                my_ns.client = customClient;

                var my_video:Video = new Video();
                my_video.attachNetStream(my_ns);
                addChild(my_video);

            }

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

        }

}

関連項目

onXMPData イベント  

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

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

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

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

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

関連項目

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

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

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

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

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

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

関連項目

定数の詳細
CONNECT_TO_FMS定数
public static const CONNECT_TO_FMS:String = "connectToFMS"

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

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

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

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

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

例の使用法
NetConnectionExample.as

次の例では、Video オブジェクトを NetConnection クラスおよび NetStream クラスと共に使用して、FLV ファイルをロードして再生します。この例を実行するには、videoURL に渡される変数と、ファイル名および場所が一致する FLV ファイルが必要です。この場合は、SWF ファイルと同じディレクトリにある Video.flv という名前の 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 = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        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 {
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.client = new CustomClient();
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }
    }
}

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




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/net/NetStream.html