| パッケージ | flash.net |
| public class NetConnection | |
| 継承 | NetConnection EventDispatcher Object |
このクラスを使用するときは、Flash Player セキュリティモデルを考慮してください。
詳細については、次のトピックを参照してください。
NetStream クラス内のプロパティとメソッドの中には、主に Flash Media Server や Flex などのサーバーで使用することを目的としたものがあります。これらのプロパティとメソッドには、サーバーサイド機能を追加できます。詳細については、 Flash Media Server マニュアルの「NetStream class」を参照してください。
メモ :このクラスは、ActionScript 2.0 ではダイナミッククラスでしたが、sealed クラスになりました。このクラスのコールバックメソッドを記述するには、クラスを拡張してサブクラスでコールバックメソッドを定義する方法と、client プロパティを使用してオブジェクトを参照し、そのオブジェクトでコールバックメソッドを定義する方法があります。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
| client : Object
コールバックメソッドが呼び出されるオブジェクトを示します。
| NetConnection | ||
| connected : Boolean
[read-only]
永続的な RTMP 接続を介して (
true)、またはそれ以外の方法で (false) サーバーに接続したことを示します。 | NetConnection | ||
| connectedProxyType : String
[read-only]
正常に接続が確立すると、直接接続、
CONNECT メソッド、または HTTP トンネリングなど、接続の確立に使用されたメソッドが示されます。 | NetConnection | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| defaultObjectEncoding : uint
[static]
SWF ファイルで作成された NetConnection オブジェクトのデフォルトオブジェクトのエンコード (AMF バージョン) です。
| NetConnection | ||
| objectEncoding : uint
この NetConnection インスタンスのオブジェクトのエンコード (AMF バージョン) です。
| NetConnection | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| proxyType : String
ネイティブ SSL が HTTPS ではなく RTMPS に使用されるかどうか、トンネリングの
CONNECT メソッドがプロキシサーバーを介して接続するために使用されるかどうかを調べます。 | NetConnection | ||
| uri : String
[read-only]
connect がサーバーへの接続に使用された場合、NetConnection.connect() に渡されたアプリケーションサーバーの URIです。 | NetConnection | ||
| usingTLS : Boolean
[read-only]
HTTPS ではなく、ネイティブ TLS を使用してセキュア接続が確立されたかどうかを示します。
| NetConnection | ||
| メソッド | 定義 | ||
|---|---|---|---|
| NetConnection()
リモートアプリケーションサーバーでコマンドを起動したり、ローカルで、またはサーバーからストリーミングビデオファイル (FLV) を再生するために、NetStream オブジェクトと組み合わせて使用することが可能な NetConnection オブジェクトを生成します。
| NetConnection | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
| addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
コンテキストヘッダを AMF パケット構造に追加します。
| NetConnection | ||
| call(command:String, responder:Responder, ... arguments):void
アプリケーションインスタンスに接続する Flash Media Server を実行しているサーバーまたはアプリケーションサーバーで、コマンドまたはメソッドを起動します。
| NetConnection | ||
| close():void
ローカルまたはサーバーで開始した接続を閉じ、
NetConnection.Connect.Close の code プロパティで、netStatus イベントを送出します。 | NetConnection | ||
| connect(command:String, ... arguments):void
サーバーへの接続を開きます。
| NetConnection | ||
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
| asyncError | 非同期形式で、つまりネイティブ非同期コードから例外がスローされると送出されます。 | NetConnection | ||
| ioError | 入出力エラーが発生してネットワーク処理が失敗したときに送出されます。 | NetConnection | ||
| netStatus | NetConnection オブジェクトが、そのステータスまたはエラーの状況をレポートするときに送出されます。 | NetConnection | ||
| securityError |
NetConnection.call() の呼び出しによって呼び出し元のセキュリティサンドボックスの外部にあるサーバーに接続しようとすると送出されます。 | NetConnection | ||
| client | プロパティ |
client:Object [read-write]
コールバックメソッドが呼び出されるオブジェクトを示します。デフォルト値はこの NetConnection インスタンスです。client プロパティを別のオブジェクトに設定する場合は、コールバックメソッドをその別のオブジェクトで呼び出すことができます。
public function get client():Object
public function set client(value:Object):void
TypeError — client プロパティは、null 以外のオブジェクトに設定する必要があります。
|
| connected | プロパティ |
connected:Boolean [read-only]
永続的な RTMP 接続を介して (true)、またはそれ以外の方法で (false) サーバーに接続したことを示します。HTTP 経由で接続している場合は、このプロパティは常に false になります。アプリケーションサーバーへの AMF 接続の場合は、常に true です。
public function get connected():Boolean
| connectedProxyType | プロパティ |
connectedProxyType:String [read-only]
正常に接続が確立すると、直接接続、CONNECT メソッド、または HTTP トンネリングなど、接続の確立に使用されたメソッドが示されます。有効な値は、"none"、"HTTP"、"HTTPS"、および "CONNECT" です。このプロパティは、NetConnection オブジェクトが接続されている場合にのみ有効です。このプロパティは、Flex アプリケーションおよび Flash Media Server アプリケーションで使用されます。Flash Player 9 では、このプロパティは RTMP、RTMPS、または RTMPTを使用している場合にのみ適用できます。CONNECT メソッドは、プロキシサーバー経由でネットワークに接続しているユーザーにのみ適用できます。
このプロパティを読み込んで、使用された接続方法を調べることができます。このプロパティは、直接接続が行われると "none"、HTTP トンネリングが使用されると "HTTP"、セキュリティ保護のある HTTPS トンネリングが使用されると "HTTPS"、プロキシの CONNECT メソッドが使用されると "CONNECT" を返します。
public function get connectedProxyType():String
ArgumentError — NetConnection インスタンスが接続されていないときに、このプロパティにアクセスしようとしました。
|
| defaultObjectEncoding | プロパティ |
defaultObjectEncoding:uint [read-write]
SWF ファイルで作成された NetConnection オブジェクトのデフォルトオブジェクトのエンコード (AMF バージョン) です。バイナリデータからオブジェクトを書き込みまたは読み取りをすると、defaultObjectEncoding プロパティは、使用する必要のある Action Message Format バージョンを示します。ActionScript 3.0 フォーマット、または ActionScript 1.0 および ActionScript 2.0 フォーマットです。
デフォルトでは、NetConnection.defaultObjectEncoding は ActionScript 3.0 フォーマット、AMF3 を使用するように設定されます。NetConnection.defaultObjectEncoding を変更しても、既存の NetConnection インスタンスには影響せず、それ以降に作成されたインスタンスにのみ影響します。
オブジェクトエンコードを SWF ファイル全体で設定せず個別に設定するには、NetConnection オブジェクトの objectEncoding プロパティを設定します。
詳細については、objectEncoding プロパティの説明を参照してください。
public static function get defaultObjectEncoding():uint
public function set defaultObjectEncoding(value:uint):void
関連項目
| objectEncoding | プロパティ |
objectEncoding:uint [read-write]
この NetConnection インスタンスのオブジェクトのエンコード (AMF バージョン) です。このプロパティのデフォルト値は、defaultObjectEncoding の値です。指定できる値は、ObjectEncoding.AMF3 および ObjectEncoding.AMF0 です。
ActionScript 3.0 SWF ファイルで Flash Player 9 以前にリリースされたサーバーと通信する必要がある場合は、このプロパティを理解することが重要です。
バイナリデータからオブジェクトを書き込みまたは読み取りをすると、objectEncoding プロパティは、使用する必要のある Action Message Format バージョンを示します。ActionScript 3.0 フォーマット (ObjectEncoding.AMF3) または ActionScript 1.0 および ActionScript 2.0 フォーマット (ObjectEncoding.AMF0) です。NetConnection オブジェクトを使用してサーバーに接続するときは、3 つの場合が考えられます。
defaultObjectEncoding のデフォルト値は ObjectEncoding.AMF3 です。この SWF ファイルに作成されるすべての NetConnection インスタンスでは、AMF3 直列化を使用します。使用する AMF エンコーディングを Flash Player に通知する必要はありません。defaultObjectEncoding プロパティを ObjectEncoding.AMF0 に設定します。この SWF ファイルに作成されるすべての NetConnection インスタンスでは、AMF0 直列化を使用します。objectEncoding プロパティを設定する必要はありません。 defaultObjectEncoding を使用せずに、各接続の objectEncoding プロパティを使用して、接続ごとにオブジェクトエンコーディングを設定します。このプロパティを ObjectEncoding.AMF0 に設定すると、AMF0 エンコーディングを使用するサーバー (Flex 1.5、Flash Media Server 2 など) に接続します。ObjectEncoding.AMF3 に設定すると、AMF3 エンコーディングを使用するサーバー (Flex 2) に接続します。defaultObjectEncoding を変更しても、既存の NetConnection インスタンスには影響せず、それ以降に作成されたインスタンスにのみ影響します。
NetConnection インスタンスが接続されたら、その objectEncoding プロパティは読み取り専用になります。
サーバーへの接続に誤ったエンコーディングを使用した場合、Flash Player により netStatus イベントが送出されます。NetStatusEvent.info プロパティには、code プロパティの値 NetConnection.Connect.Failed を持つ情報オブジェクトとオブジェクトエンコードが正しくないことを示す説明が含まれています。
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
ReferenceError — NetConnection インスタンスが接続されているときに、objectEncoding プロパティの値を設定しようとしました。
|
|
ArgumentError — このプロパティに、ObjectEncoding.AMF0 または ObjectEncoding.AMF3 以外の値が設定されました。
|
関連項目
| proxyType | プロパティ |
proxyType:String [read-write]
ネイティブ SSL が HTTPS ではなく RTMPS に使用されるかどうか、トンネリングの CONNECT メソッドがプロキシサーバーを介して接続するために使用されるかどうかを調べます。指定できる値は、"none"、"HTTP"、"CONNECT"、および "best" です。このプロパティは、Flex アプリケーションおよび Flash Media Server 2 アプリケーションで使用されます。
Flash Player 9 では、このプロパティは RTMP、RTMPS、または RTMPTを使用している場合にのみ適用できます。CONNECT メソッドは、プロキシサーバー経由でネットワークに接続しているユーザーにのみ適用できます。
proxyType プロパティは、最初の接続の試行が失敗したときに試行されるフォールバックメソッドを指定します。NetConnection.connect() メソッドを呼び出す前に、proxyType プロパティを設定する必要があります。このプロパティは、接続試行時に、ネイティブ TLS (Transport Layer Security) を使用するかどうか、および、アプリケーションで認識されるプロキシサーバーの操作方法を決定します。
Flash Player 9 では、このプロパティのデフォルト値は "none" です。この値を変更しない場合、Flash Player は RTMPS に HTTPS トンネリングを使用します。プロパティが "best" に設定されている場合は、接続に最適な方法が確立され、この最適な方法がまず試行されます。失敗した場合は別のメソッドにフォールバックされます。RTMPS 接続では、デフォルトでネイティブ SSL ソケットが使用されます。別のメソッドへのフォールバックは、必要に応じて使用されます。プロパティが "HTTP" に設定されており、直接接続に失敗した場合は、HTTP トンネリングの古いメソッドが使用されます。プロパティが "CONNECT" に設定されており、直接接続に失敗した場合は、HTTP トンネリングの CONNECT メソッドが使用されます。これに失敗すると、接続は HTTP トンネリングにフォールバックされなくなります。
public function get proxyType():String
public function set proxyType(value:String):void
| uri | プロパティ |
uri:String [read-only]
connect がサーバーへの接続に使用された場合、NetConnection.connect() に渡されたアプリケーションサーバーの URIです。NetConnection.connect() がまだ呼び出されていない場合、または URI が渡されていない場合、このプロパティは undefined になります。
public function get uri():String
| usingTLS | プロパティ |
usingTLS:Boolean [read-only]HTTPS ではなく、ネイティブ TLS を使用してセキュア接続が確立されたかどうかを示します。このプロパティは、NetConnection オブジェクトが接続されている場合にのみ有効です。
実装 public function get usingTLS():Boolean
ArgumentError — NetConnection インスタンスが接続されていないときに、このプロパティにアクセスしようとしました。
|
| NetConnection | () | コンストラクタ |
public 関数 NetConnection()
リモートアプリケーションサーバーでコマンドを起動したり、ローカルで、またはサーバーからストリーミングビデオファイル (FLV) を再生するために、NetStream オブジェクトと組み合わせて使用することが可能な NetConnection オブジェクトを生成します。NetConnection オブジェクトを生成した後に、connect() を使用して実際の接続を確立します。
Flash ドキュメント内にビデオを埋め込むよりも、外部の FLV ファイルを再生した方が、パフォーマンスとメモリ管理の効率がよくなる、ビデオと Flash のフレームレートを独立化できるなどのメリットがあります。
ActionScript 3.0 SWF ファイルで Flash Player 9 以前にリリースされたサーバーと通信する必要がある場合、NetConnection オブジェクトの objectEncoding プロパティを調整する必要があることがあります。
関連項目
| addHeader | () | メソッド |
public function addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
コンテキストヘッダを AMF パケット構造に追加します。このヘッダは、将来のすべての AMF パケットとともに送信されます。同じ名前を使用して NetConnection.addHeader() を呼び出すと、既存のヘッダが新しいヘッダに置き換えられます。新しいヘッダは、NetConnection オブジェクトのある間存在し続けます。ヘッダの名前を使用して NetConnection.addHeader() を呼び出し、未定義のオブジェクトを削除して、ヘッダを削除できます。この方法は、Flex または Flash Media Server などのサーバーで使用している場合に有効です。
operation:String — ヘッダとヘッダに関連付けられている ActionScript オブジェクトデータを指定します。
|
|
mustUnderstand:Boolean (default = false) — true 値は、サーバーがこのヘッダに対応しており、次のヘッダまたはメッセージを処理する前に、サーバーでヘッダを処理する必要があることを示します。
|
|
param:Object (default = null) — 任意の ActionScript オブジェクトです。
|
| call | () | メソッド |
public function call(command:String, responder:Responder, ... arguments):voidアプリケーションインスタンスに接続する Flash Media Server を実行しているサーバーまたはアプリケーションサーバーで、コマンドまたはメソッドを起動します。このメソッドに渡すには、サーバーサイド関数を作成する必要があります。
パラメータcommand:String — [objectPath/]method という形式で指定されたメソッドです。たとえば someObject/doSomething コマンドは、省略可能なすべての ... arguments パラメータとともに clientObject.someObject.doSomething() メソッドを呼び出すように、リモートサーバーに対して指定します。オブジェクトのパスが見つからない場合は、リモートサーバーで clientObject.doSomething() が呼び出されます。
|
|
responder:Responder — サーバーからの戻り値を処理するために使用される、省略可能なオブジェクトです。Responder オブジェクトには、返される結果を処理するためのメソッドが 2 つ定義されています。result および status です。結果としてエラーが返された場合は status が呼び出され、それ以外の場合は result が呼び出されます。
|
|
... arguments — 省略可能なパラメータです。別の ActionScript オブジェクトへの参照を含む、ActionScript の任意の型を取ることができます。メソッドがリモートアプリケーションサーバーで実行されると、これらのパラメータは command パラメータで指定されたメソッドに渡されます。
|
securityError:SecurityErrorEvent — 呼び出し元のセキュリティサンドボックスの外部にあるサーバーとの通信を試行する呼び出しです。サーバーでポリシーファイルを使用することにより、この問題を回避できます。 |
| close | () | メソッド |
public function close():void
ローカルまたはサーバーで開始した接続を閉じ、NetConnection.Connect.Close の code プロパティで、netStatus イベントを送出します。
このメソッドは、この接続上で実行されているすべての NetStream オブジェクトを切断します。送信されていないキュー内のデータはすべて破棄されます。接続を閉じずにローカルまたはサーバーストリームを終了するには、NetStream.close() を使用します。このメソッドを呼び出した後で再接続する場合は、NetStream オブジェクトを再作成する必要があります。
このメソッドは、この接続上で実行されているすべてのリモート共有オブジェクトも切断します。ただし、再接続するために共有オブジェクトを再作成する必要はありません。SharedObject.connect() を呼び出すだけで、共有オブジェクトへの接続を再確立できます。また、共有オブジェクトへの接続が再確立されると、NetConnection.close() を発行したときにキュー内にあった共有オブジェクトのデータがすべて送信されます。
関連項目
| connect | () | メソッド |
public function connect(command:String, ... arguments):voidサーバーへの接続を開きます。この接続を介して、HTTP アドレスまたはローカルファイルシステムからオーディオまたはビデオ (FLV) ファイルを再生したり、リモートサーバーでコマンドを呼び出したりすることができます。
このメソッドを使用する場合は、Flash Player セキュリティモデルおよび次のセキュリティについての考慮事項を検討してください。
NetConnection.connect() メソッドを使用できません。詳細については、次のトピックを参照してください。
command:String — サーバーなしでビデオに接続している場合、つまり SWF ファイルを実行しているローカルコンピュータにあるビデオに接続している場合は、このパラメータに null を設定します。
サーバーに接続している場合は、このパラメータに URI を設定します。この URI は、接続の確立時に実行している、サーバー上のアプリケーションの URI です。次の形式を使用します。角かっこ内のアイテムは省略できます。
サーバーのインストールされているホストから SWF ファイルが提供されている場合は、 |
|
... arguments — command で指定されたアプリケーションに渡される、任意の型のパラメータです。このパラメータはオプションです。アプリケーションで受信した順序でパラメータを処理できない場合は、code プロパティが NetConnection.Connect.Rejected に設定された netStatusEvent が送出されます。
|
ArgumentError — command パラメータに渡された URI は適切にフォーマットされていません。
|
|
IOError — 接続に失敗しました。これは、許可されていない netStatus イベントハンドラ内から connect() を呼び出す場合に起こります。
|
|
SecurityError — 信頼されていないローカル SWF ファイルはインターネットへの接続を許可されません。この問題は、ネットワークアクセスを許可されたローカル SWF ファイル、または信頼できる SWF ファイルとして再分類することで回避できます。
|
関連項目
| asyncError | event |
flash.events.AsyncErrorEvent
flash.events.AsyncErrorEvent.ASYNC_ERROR
非同期形式で、つまりネイティブ非同期コードから例外がスローされると送出されます。
AsyncErrorEvent.ASYNC_ERROR 定数は、asyncError イベントオブジェクトの type プロパティ値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク操作エラーが発生したオブジェクトです。 |
error | イベントをトリガしたエラーです。 |
| ioError | event |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
入出力エラーが発生してネットワーク処理が失敗したときに送出されます。
ioError イベントオブジェクトの type プロパティの値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
| netStatus | event |
flash.events.NetStatusEvent
flash.events.NetStatusEvent.NET_STATUS
NetConnection オブジェクトが、そのステータスまたはエラーの状況をレポートするときに送出されます。netStatus イベントには info プロパティが含まれます。このプロパティは、接続試行が成功したかどうかなど、イベントに関する特定の情報を含む情報オブジェクトです。
netStatus イベントオブジェクトの type プロパティの値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
info | オブジェクトのステータスまたはエラー状態を記述するプロパティを持つオブジェクトです。 |
target | そのステータスをレポートする NetConnection または NetStream オブジェクトです。 |
関連項目
| securityError | event |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
NetConnection.call() の呼び出しによって呼び出し元のセキュリティサンドボックスの外部にあるサーバーに接続しようとすると送出されます。
SecurityErrorEvent.SECURITY_ERROR 定数は、securityError イベントオブジェクトの type プロパティ値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連項目
videoURL に渡される変数と、ファイル名および場所が一致する FLV ファイルが必要です。
この場合は、SWF ファイルと同じディレクトリにある Video.flv という名前の FLV ファイルです。
この例では、Video オブジェクトと NetStream オブジェクトを作成し、
Video.attachNetStream() メソッドと NetStream.play() メソッドを呼び出すコードが
ハンドラ関数に配置されます。ハンドラは、
NetConnection オブジェクトとの接続が成功した場合にのみ呼び出されます。つまり、
netStatus イベントが、成功したことを示す code プロパティとともに info オブジェクトを返す
場合です。
接続に成功するまで待ってから、次のコードを呼び出すことをお勧めします。
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);
}
}