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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

サポートされるコーデックとファイル形式の詳細については、http://www.adobe.com/go/hardware_scaling_en および Flash Media Server のマニュアルを参照してください。

NetStream クラスには、ファイルのロードおよび再生時にその進捗を追跡し、ユーザーが再生を制御 (停止、一時停止など) できるようにするための、さまざまなメソッドおよびプロパティが用意されています。

ストリーミングオーディオまたはビデオの一般的なワークフロー。 次の手順は、リアルタイムにオーディオおよびビデオをパブリッシュするワークフローの概要を示しています。

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

ストリームにサブスクライブする SWF ファイルでは、publish() に渡された名前を、play() を呼び出すときに使用します。また、発行者と同じ NetConnection.connect() メソッドを呼び出します。ビデオをストリーミングするには、Video.attachNetStream() メソッドを呼び出す必要があります。また、ビデオを再生するには、NetStream.play() メソッドを呼び出す必要があります。

Flash Media Server でのデータキーフレームの使用。 NetConnection オブジェクトと NetStream オブジェクトを作成した後、オーディオまたはビデオをサーバーにストリーミングするときに、NetStream.send() を使用してライブのオーディオまたはビデオにメタデータを追加できます。メタデータには、ビデオの高さまたは幅、ビデオの継続時間、作成者の名前などの情報を設定できます。メタデータを定義するには、特別なハンドラ名 @setDataFrame を、NetStream.send() に渡す最初の引数として使用します。ライブストリームを受信するクライアントも onMetaData イベントハンドラを定義して、ストリームからメタデータを取得する必要があります。詳細については、NetStream.send() メソッドを参照してください。

例を表示

関連項目

flash.media.Video
flash.net.NetConnection
send()
onMetaData
ビデオの基礎


パブリック プロパティ
 プロパティ定義元
  bufferLength : Number
[read-only] バッファにデータが格納されてからの経過秒数です。
NetStream
  bufferTime : Number
ストリームの表示を開始するまでにメッセージをどの程度の時間バッファリングしておくかを指定します。
NetStream
  bytesLoaded : uint
[read-only] 既に Flash Player にロードされているデータのバイト数です。
NetStream
  bytesTotal : uint
[read-only] Flash Player にロードされるファイルの総バイト数です。
NetStream
  checkPolicyFile : Boolean
ビデオファイルのロードを開始する前に、Flash Player が、ロードされるビデオファイルのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。
NetStream
  client : Object
コールバックメソッドを呼び出すオブジェクトを指定します。
NetStream
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  currentFPS : Number
[read-only] 1 秒あたりの表示フレーム数です。
NetStream
  liveDelay : Number
[read-only] ライブ (バッファリングされていない) モードでサブスクライブしているストリームバッファ内にあるデータの秒数です。
NetStream
  objectEncoding : uint
[read-only] この NetStream オブジェクトのエンコード (AMF バージョン) です。
NetStream
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  soundTransform : SoundTransform
この NetStream オブジェクトのサウンドを制御します。
NetStream
  time : Number
[read-only] 再生ヘッドの位置 (秒単位) です。
NetStream
パブリック メソッド
 メソッド定義元
  
指定された 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
  
play(... arguments):void
ビデオファイルの再生を開始します。
NetStream
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
  
publish(name:String = null, type:String = null):void
クライアントから Flash Media Server へ、ストリーミングオーディオ、ビデオ、およびテキストメッセージを送信します。送信中にストリームを記録することもできます。
NetStream
  
ストリーム上で着信オーディオが再生されるかどうかを示します。
NetStream
  
receiveVideo(flagOrFPS:*):void
ストリーム上で着信ビデオが再生されるかどうかを示します。
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
再生を一時停止していたビデオストリームを再開します。
NetStream
  
seek(offset:Number):void
指定された位置に最も近いキーフレーム (ビデオ業界では I フレームとも呼ばれます) をシークします。
NetStream
  
send(handlerName:String, ... arguments):void
パブリッシュされたストリーム上で、サブスクライブしているすべてのクライアントにメッセージを送信します。
NetStream
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
ストリームの再生を一時停止または再開します。
NetStream
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
   非同期形式で、つまりネイティブ非同期コードから例外がスローされると送出されます。NetStream
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
   入出力エラーが発生してネットワーク処理が失敗したときに送出されます。NetStream
   NetStream オブジェクトが、そのステータスまたはエラーの状態をレポートすると送出されます。NetStream
   ビデオファイルの再生中に、埋め込みキューポイントに達すると呼び出されます。NetStream
   再生中のビデオファイルに埋め込まれている説明情報を Flash Player が受け取ったときに送出されます。NetStream
   NetStream オブジェクトによるストリームの再生が終了したときに送出されます。NetStream
プロパティの詳細
bufferLengthプロパティ
bufferLength:Number  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

バッファにデータが格納されてからの経過秒数です。このプロパティを bufferTime プロパティと組み合わせることにより、バッファが満たされるまでの時間を見積もることができます。それを基に、たとえば、バッファにデータがロードされるのを待っているユーザーにフィードバック情報を表示できます。


実装
    public function get bufferLength():Number

関連項目

bufferTimeプロパティ 
bufferTime:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

サブスクライブするストリームの場合、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  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

既に Flash Player にロードされているデータのバイト数です。このプロパティを bytesTotal プロパティと組み合わせることにより、バッファが満たされるまでの時間を見積もることができます。それを基に、たとえば、バッファにデータがロードされるのを待っているユーザーにフィードバック情報を表示できます。


実装
    public function get bytesLoaded():uint

関連項目

bytesTotalプロパティ 
bytesTotal:uint  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Flash Player にロードされるファイルの総バイト数です。


実装
    public function get bytesTotal():uint

関連項目

checkPolicyFileプロパティ 
checkPolicyFile:Boolean  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

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

どのような場合でも、Flash Player でビデオを再生するためには、(1) 適切なポリシーファイルがビデオのサーバー上に存在すること、(2) play() で指定されている URL にあるオブジェクトが、ポリシーファイルの場所から判断してアクセス可能な場所にあるオブジェクトであること、(3) 呼び出し元 SWF ファイルのドメインからそのビデオへのアクセスが 1 つまたは複数の <allow-access-from> タグによって許可されていることという 3 つの条件が満たされていなければなりません。

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

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

サーバーサイド HTTP リダイレクトを使用する URL からファイルをダウンロードする場合は、checkPolicyFile に注意してください。Flash Player は、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  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

コールバックメソッドを呼び出すオブジェクトを指定します。デフォルトのオブジェクトは、作成される NetStream オブジェクト this です。client プロパティを別のオブジェクトに設定すると、コールバックメソッドはその別のオブジェクトで呼び出されます。


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

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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


実装
    public function get currentFPS():Number
liveDelayプロパティ 
liveDelay:Number  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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


実装
    public function get liveDelay():Number
objectEncodingプロパティ 
objectEncoding:uint  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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


実装
    public function get objectEncoding():uint

関連項目

soundTransformプロパティ 
soundTransform:SoundTransform  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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


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

関連項目

timeプロパティ 
time:Number  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : 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)

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

サポートされるコーデックとファイル形式の詳細については、http://www.adobe.com/go/hardware_scaling_en および Flash Media Server のマニュアルを参照してください。

パラメータ
connection:NetConnection — NetConnection オブジェクトです。

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

このメソッドは、publish() メソッドを呼び出す前または後に呼び出すことができ、実際に送信を開始します。オーディオを聞きたいサブスクライバは NetStream.play() メソッドを呼び出す必要があります。指定の Microphone オブジェクトの soundTransform プロパティを使用して、このオーディオストリームのサウンドプロパティを制御できます。

パラメータ

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

関連項目

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

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ビデオファイルの再生を開始します。

サポートされるコーデックとファイル形式の詳細については、http://www.adobe.com/go/hardware_scaling_en および Flash Media Server のマニュアルを参照してください。

ビデオデータを表示するには、Video オブジェクトを作成して、Video.attachNetStream() メソッドを呼び出す必要があります。ビデオと一緒にストリームされるオーディオ、またはオーディオだけが含まれたファイルは自動的に再生されます。マイクロホンからオーディオをストリームするには、NetStream.attachAudio() メソッドを使用し、Microphone オブジェクトを使用して、オーディオのいくつかの特性を制御します。

ビデオファイルに関連付けられたオーディオを制御するには、DisplayObjectContainer.addChild() メソッドを使用して、表示リスト上のオブジェクトにオーディオをアタッチします。その後、Sound オブジェクトを作成することにより、オーディオのいくつかの特性を制御できます。詳細については、DisplayObjectContainer.addChild() メソッドを参照してください。

ビデオファイルが見つからなかった場合は、netStatus イベントが送出されます。再生中のストリームを停止するには、close() メソッドを使用します。

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

詳細については、以下を参照してください。

パラメータ

... arguments — URLRequest オブジェクトまたはストリングとしての、再生するビデオファイルの場所です。SWF ファイルと同じディレクトリまたはサブディレクトリに格納されたローカルのビデオファイルを再生できますが、上位のディレクトリを参照することはできません。

Flash Media Server Flash Media Server のビデオファイルを再生するには、ファイル拡張子 (たとえば、bolero) を付けずにストリームの名前を指定します。MP3 ファイルを再生するには、ストリーム名の前に mp3: を指定します。MP3 ファイルの ID3 タグを再生するには、ストリーム名の前に id3: を指定します。

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

名前必須概要
name:Object必須 記録されたファイルの名前 (ファイル拡張子なし)、NetStream.publish() を使用してパブリッシュされたライブデータの識別子、または false。MP3 ファイルを再生するには、名前の前に mp3 を指定します。MP3 ファイルの ID3 タグを再生するには、名前の前に id3: を指定します。false の場合は、ストリームの再生が停止し、他のパラメータは無視されます。
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 の場合、再生リストが消去され、すべてのストリームメッセージが一度に返されます。


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

関連項目



Flash Media Server この例は、記録されたストリームを、先頭から開始して最大 100 秒まで再生します。
  ns.play("record1", 0, 100, true);
  
Flash Media Server この例は、クライアントがパブリッシュしたライブストリームを、先頭から最後まで再生します。再生はすぐに開始され、以前のストリームはすべて消去されます。
  ns.play("stephen");
  
publish()メソッド 
public function publish(name:String = null, type:String = null):void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

既にパブリッシュされているか、記録されているストリームをクライアントに再生させる場合は、このメソッドを使用しないでください。代わりに、そのクライアントの NetStream インスタンスを作成し、play() メソッドを呼び出します。

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

Flash Media Server を使用してストリームを記録すると、サーバーがファイルを作成して、サーバー上のアプリケーションのディレクトリにあるサブディレクトリにそのファイルを格納します。各ストリームは、NetConnection.connect() に渡されたアプリケーションインスタンス名に一致する名前のディレクトリに格納されます。これらのディレクトリは自動的に作成されるため、アプリケーションインスタンスごとに作成する必要はありません。たとえば、次のコードでは、アプリケーションディレクトリ内の lectureSeries というディレクトリに格納されているアプリケーションの特定のインスタンスとの接続方法を示しています。lecture.flv という名前のファイルが /yourAppsFolder/lectureSeries/streams/Monday というサブディレクトリに格納されています。

  var myNC:NetConnection = new NetConnection();
  myNC.connect("rtmp://server.domain.com/lectureSeries/Monday");
  var myNS:NetStream = new NetStream(myNC);
  myNS.publish("lecture", "record");
  

次の例では、同じアプリケーションの別のインスタンスに接続し、同一の publish コマンドを発行する方法を示します。lecture.flv という名前のファイルが /yourAppsFolder/lectureSeries/streams/Tuesday というサブディレクトリに格納されています。

  var myNC:NetConnection = new NetConnection();
  myNC.connect("rtmp://server.domain.com/lectureSeries/Tuesday");
  var myNS:NetStream = new NetStream(my_nc);
  myNS.publish("lecture", "record");
  

インスタンス名の値を渡さない場合、name プロパティに渡された値に一致するファイルが /yourAppsFolder/appName/streams/_definst_ というサブディレクトリ ("デフォルトインスタンス" 用) に格納されます。インスタンス名の使用については、NetConnection.connect() メソッドを参照してください。ビデオファイルの再生については、NetStream.play() メソッドを参照してください。

Flash Media Server アプリケーションクライアントが publish() を呼び出すと、そのアプリケーションは onPublish イベントを受け取ります。アプリケーションはサーバーサイドスクリプトでそのイベントを処理する必要があります。クライアントがパブリッシュを停止すると、アプリケーションは onUnpublish イベントを受け取ります。詳細については、『Server-Side ActionScript Language Reference For Flash Media Server』を参照してください。

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

パラメータ

name:String (default = null) — ストリームを識別するストリングです。false を渡すと、パブリッシュ操作が停止します。このストリームにサブスクライブしているクライアントは、NetStream.play() を呼び出す場合に、この同じ名前を渡す必要があります。ストリーム名にファイル拡張子を含める必要はありません。ストリーム名の後にスラッシュ (/) を指定しないでください。たとえば、"bolero/" というストリーム名は使用しないでください。
 
type:String (default = null) — ストリームのパブリッシュ方法を指定するストリングです。有効な値は "record"、"append"、および "live" です。デフォルト値は "live" です。
  • "record" を渡すと、Flash Player はライブデータをパブリッシュして記録し、記録したデータを、name パラメータに渡された値と名前が一致する新しいファイルに保存します。ファイルは、サーバー上の、サーバーアプリケーションを格納したディレクトリ内のサブディレクトリに格納されます。このファイルが既に存在する場合は、上書きされます。
  • "append" を渡すと、Flash Player はライブデータをパブリッシュして記録し、記録したデータを、name パラメータに渡された値と名前が一致するファイルに付加します。このファイルは、サーバー上のサーバーアプリケーションを格納したディレクトリ内のサブディレクトリに格納されます。name パラメータと名前が一致するファイルが見つからない場合は、ファイルが作成されます。
  • このパラメータを省略するか、"live" を渡した場合、Flash Player はライブデータを記録せずにパブリッシュします。name パラメータに渡された値と名前が一致するファイルが存在する場合は、そのファイルが削除されます。

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

パラメータ

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

receiveVideo()メソッド 
public function receiveVideo(flagOrFPS:*):void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

パラメータ

flagOrFPS:* — このストリーム上で着信ビデオを再生するかどうかを指定します。再生する場合は true、再生しない場合は false を指定します。デフォルト値は true です。整数値を使用して、着信ビデオの 1 秒あたりのフレームレートを指定することもできます。フレームレートを指定しない場合は、録画したときのフレームレートまたは再生するライブビデオのフレームレートがデフォルトで設定されます。

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : 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 フレームに基づいて、オフセット位置に新しいキーフレームを生成します。ただし、これによりサーバーの処理の負荷が高くなり、生成されるキーフレームに歪みが発生することがあります。ビデオコーデックが On2 の場合、シーク位置の前のキーフレームと、そのキーフレームとシーク位置の間にあるすべての P フレームがクライアントに送信されます。

パラメータ

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). にします。

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

関連項目



Flash Media Server 次の例は、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);
        }
     }
  
Flash Media Server 次の例は、メタデータを作成してライブストリームに追加します。
  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() );  
            }
         }
  
Flash Media Server ビデオに追加されているデータキーフレームに応答するには、クライアントが onMetaData イベントハンドラを定義する必要があります。次の例では、onMetaData イベントハンドラは addEventListener() に登録されていませんが、代わりに onMetaData という名前のコールバック関数が登録されています。
  public function onMetaData(info:Object):void {
     trace("width: " + info.width);
     trace("height: " + info.height);
  }
  
Flash Media Server 次の例は、サーバーに再生リストを作成する方法を示しています。
  // Create a NetStream for playing
  var my_ns:NetStream = new NetStream(my_nc);
  my_video.attachNetStream(my_ns);
  
  // Play the stream record1
  my_ns.play("record1", 0, -1, true);
  
  // Switch to the stream live1 and play for 5 seconds.  
  // Since reset is false, live1 will start to play after record1 is done.
  my_ns.play("live1", -1 , 5, false);
  
Flash Media Server 録画済みのビデオファイルにデータメッセージだけが含まれている場合、録画したときの速度でビデオファイルを再生するか、すべてのデータメッセージを一度に取得することができます。
  //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);
  
togglePause()メソッド 
public function togglePause():void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

関連項目

イベントの詳細
asyncError イベント
イベントオブジェクトの型: flash.events.AsyncErrorEvent
AsyncErrorEvent.type property = flash.events.AsyncErrorEvent.ASYNC_ERROR

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

関連項目

ioError イベント  
イベントオブジェクトの型: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

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

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

関連項目

onCuePoint イベント  

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ビデオファイルの再生中に、埋め込みキューポイントに達すると呼び出されます。このハンドラを使用して、ビデオが特定のキューポイントに達したときにコード内のアクションをトリガすることができます。これにより、アプリケーションの他のアクションをビデオ再生イベントと同期させることができます。Flash Media Server でサポートされるビデオのファイル形式の詳細については、Flash Media Server のマニュアルを参照してください。

このイベントは、Flash Media Server で使用することを目的としています。このイベントは Flash Player API の一部ではありませんが、便宜上、リファレンスガイドで取り上げています。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、このイベントを受け取ったり、処理したりすることはできません。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。

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

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

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

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

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

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

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

関連項目

onMetaData イベント  

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

再生中のビデオファイルに埋め込まれている説明情報を Flash Player が受け取ったときに送出されます。Flash Media Server でサポートされるビデオのファイル形式の詳細については、Flash Media Server のマニュアルを参照してください。

この特別なイベントは、Flash Media Server で使用することを目的としています。詳細については、クラスの説明を参照してください。この特別なイベントは厳密には Flash Player API の一部ではありませんが、便宜上、リファレンスガイドで取り上げています。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、このイベントを受け取ったり、処理したりすることはできません。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。

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

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

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

関連項目

onPlayStatus イベント  

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

NetStream オブジェクトによるストリームの再生が終了したときに送出されます。このハンドラにより、情報オブジェクトが返され、netStatus イベントにより返される情報以外の情報も提供されます。このハンドラを使用すると、NetStream オブジェクトが再生リスト内のストリームを切り替えたとき (情報オブジェクト NetStream.Play.Switch で示される)、または NetStream オブジェクトが終わりまで再生したときに (情報オブジェクト NetStream.Play.Complete で示される)、コード内のアクションをトリガできます。このイベントに応答するには、サーバーから送られる情報オブジェクトを処理する関数を作成する必要があります。

このイベントは、Flash Media Server で使用することを目的としています。詳細については、クラスの説明を参照してください。このイベントは Flash Player API の一部ではありませんが、便宜上、リファレンスガイドで取り上げています。addEventListener() メソッドまたはその他の EventDispatcher メソッドを使用して、このイベントを受け取ったり、処理したりすることはできません。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。

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

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

関連項目

例の使用法
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 {
            stream = 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/flash/9.0_jp/ActionScriptLangRefV3/flash/net/NetStream.html