XMLSocket オブジェクトと通信するようにサーバーを設定すると、問題が発生する可能性があります。 アプリケーションがリアルタイムのインタラクティブ機能を必要としない場合は、XMLSocket クラスの代わりに、URLLoader クラスを使用します。
XMLSocket クラスのメソッドを使用するには、まず
ローカルファイルシステムのサンドボックス内の SWF ファイルはソケットを使用できません。
ターゲットホスト上のソケットポリシーファイルで、SWF ファイルがソケット接続できるホストと、その接続ができるポートを指定します。Flash Player の最近のリリースでは、ソケットポリシーファイルに関するセキュリティ要件が以前より厳密になっています。Flash Player のすべてのバージョンで、ソケットポリシーファイルを使用することをお勧めします。環境によっては、ソケットポリシーファイルの使用が必須となっています。このため、XMLSocket オブジェクトを使用している場合は、必要に応じてターゲットホストがソケットポリシーファイルを提供するようにしてください。
次の一覧は、Flash Player の各バージョンにおけるソケットポリシーファイルの要件をまとめたものです。
ただし、Adobe AIR では、
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
注意:
注意:パラメーターを指定せずにコンストラクターフォームを使用し、さらにいずれかのイベントリスナーを追加し、
ファイルがこのメソッドを使用しないようにするには、SWF コンテンツを含む HTML ページに
詳細については、Flash Player デベロッパーセンターのトピック:
指定した時間内に接続できなかったときは、接続が失敗することになります。デフォルト値は 20,000 (20 秒) です。
IPv4 アドレスは、ActionScript ではドット区切りの 10 進数のストリングとして表されます(例:
IPv6 アドレスは、ActionScript では角括弧で囲まれたコロン区切りの 16 進数のストリングとして表されます(例:
Socket クラスは、バイナリプロトコルを使用するサーバーとの通信に役立ちます。
Socket クラスのメソッドを使用するには、まず
ソケットはデータの送信と受信を非同期に行います。
オペレーティングシステムによっては、flush() は実行フレーム間で自動的に呼び出されますが、Windows などのオペレーティングシステムでは、
Adobe AIR では、Socket オブジェクトは、監視中の ServerSocket が外部プロセスからの接続を受信したときにも作成されます。この Socket オブジェクトは、ServerSocketConnectEvent で送出された接続を表します。アプリケーションには、この Socket オブジェクトへの参照を維持する役割があります。維持を行わない場合、この Socket オブジェクトはガベージコレクションの対象となり、警告を表示せずにランタイムによって破棄される可能性があります。
local-with-filesystem セキュリティサンドボックスで実行されている SWF コンテンツはソケットを使用できません。
ターゲットホスト上のソケットポリシーファイルで、SWF ファイルがソケット接続できるホストと、その接続ができるポートを指定します。Flash Player の最近のリリースでは、ソケットポリシーファイルに関するセキュリティ要件が以前より厳密になっています。Flash Player のすべてのバージョンで、ソケットポリシーファイルを使用することをお勧めします。環境によっては、ソケットポリシーファイルの使用が必須となっています。このため、Socket オブジェクトを使用している場合は、必要に応じてターゲットホストがソケットポリシーファイルを提供するようにしてください。
次の一覧は、Flash Player の各バージョンにおけるソケットポリシーファイルの要件をまとめたものです。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
注意:この例を実行するには、SWF が存在するドメインと同じドメインで実行され、ポート 80 でリッスンするサーバー(この例では
注意: AIR アプリケーションでは、アプリケーションセキュリティサンドボックスで実行されるコンテンツはソケットポリシーファイルなしでサーバーおよびポート番号に接続できません。
ソケットが受信するデータは、読み込まれるまでソケットに残ります。このイベントのハンドラーで使用できるすべてのデータを読み込む必要はありません。
注意:パラメーターを指定せずにコンストラクターフォームを使用し、さらにいずれかのイベントリスナーを追加し、
Socket オブジェクトで
直後に接続が失敗した場合、イベントが送出されるか例外がスローされます。ホストが指定されている場合はエラーイベントが送出され、ホストが指定されていない場合は例外がスローされます。接続が成功した場合は、接続のステータスがイベントにより報告されます。ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。
オペレーティングシステムによっては、flush() は実行フレーム間で自動的に呼び出されますが、Windows などのオペレーティングシステムでは、
注意:
(v >> 8) & 0xff v & 0xff
パラメーターの下位 16 ビットが使用されます。上位 16 ビットは無視されます。
ストリングを書き込む前に、メソッドによってストリングのすべての文字を表すのに必要なバイト数が計算されます。
コードでは、
このプロパティを使用して、ServerSocket オブジェクトによって ServerSocketConnectEvent 内に送出されたクライアントソケットの IP アドレスを特定します。必要な場合は、DNSResolver クラスを使用して、IP アドレスをドメイン名に変換します。
このプロパティを使用して、ServerSocket オブジェクトによって ServerSocketConnectEvent 内に送出されたクライアントソケットのポート番号を特定します。
指定した時間内に接続できなかったときは、接続が失敗することになります。デフォルト値は 20,000 (20 秒) です。
オブジェクトエンコーディングは、AMF(Action Message Format)によるオブジェクトの表現方法を制御します。Flash Player は AMF を使用することで、アプリケーションとリモートサーバーとの間で効率的に通信を行えるようにします。AMF では、リモートプロシージャコールはコンパクトなバイナリ表現にエンコードされます。このバイナリ表現は、HTTP/HTTPS プロトコルまたは、Flash Media Server が使用する RTMP/RTMPS プロトコルで転送可能です。オブジェクトとデータ値は、このバイナリ形式内に直列化されます。これは通常、XML などの他の表現よりもコンパクトです。
Adobe AIR および Flash Player 9 では、AMF3 および AMF0 の 2 つの異なる形式で直列化を実行できます。 AMF3 はデフォルトの直列化形式で、ActionScript 3.0 で使用されます。ActionScript 1.0 および 2.0 で使用される AMF0 と比べて様々な利点があります。 AMF3 では、ネットワーク経由でのデータの送信が AMF0 より効率化されています。
ByteArray、FileStream、NetConnection、NetStream、
例えば、オブジェクトの
この値は、ダイナミックオブジェクト(ダイナミッククラス内で宣言したオブジェクト)のプロパティに対して、または
このプロパティを使用して、動的オブジェクトのプロパティの直列化からの除外、動的オブジェクトのプロパティへの値の書き込み、または新しいプロパティの作成を実行できます。これらの操作を実行するには、IDynamicPropertyWriter インターフェイスを実装するオブジェクトにこのプロパティを設定します。詳細については、IDynamicPropertyWriter インターフェイスを参照してください。
定数のうち 2 つは、タイムスケールの不連続性を示します。すべての FLV タグに、タイムスケール内での位置を示すタイムスタンプが含まれます。タイムスタンプを使用して、ビデオ、オーディオおよびスクリプトデータの再生を同期させます。同じ種類(ビデオ、オーディオ、スクリプトデータ)の FLV タグのタイムスタンプは、FLV の進行と共に減少しません。
URLLoader オブジェクトは、アプリケーションのコードでデータを使用できるように、事前にすべてのデータを URL からダウンロードします。 URLLoader オブジェクトは、ダウンロードの進捗に関する通知を送信します。この通知は、送出済みのイベントと、
FLV のように非常に大きなビデオファイルをロードする場合、メモリ不足のエラーが起こることがあります。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
注意:この例を実行するには、urlLoaderExample.txt ファイルを SWF ファイルと同じディレクトリに配置します。このファイルには、次のテキスト行のみが含まれています。
コード例では、次の処理が実行されます。
URLLoader オブジェクトでは、完全にデータが受信されるまではデータにアクセスできません。このため、progress イベントの通知でしかダウンロードの進行状況を確認できません。完全にダウンロードされる前にデータにアクセスするには、URLStream オブジェクトを使用します。
関数の名前は任意に付けられます。
クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の
イベントリスナーが正常に登録された後に、
リスナーが登録された後に、
ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。
イベントリスナーが不要になった場合は、
EventDispatcher インスタンスをコピーしても、それに関連付けられているイベントリスナーはコピーされません。新しく作成したノードにイベントリスナーが必要な場合は、ノードを作成した後に、リスナーを関連付ける必要があります。ただし、EventDispatcher インスタンスを移動した場合は、関連付けられているイベントリスナーも一緒に移動されます。
イベントがノードで処理されるときに、イベントリスナーがそのノードに登録中であれば、イベントリスナーは現在の段階ではトリガーされません。ただし、バブリング段階など、イベントフローの後の段階でトリガーすることができます。
イベントがノードで処理されているときにイベントリスナーがノードから削除された場合でも、イベントは現在のアクションによってトリガーされます。削除された後は、その後の処理で再び登録されない限り、イベントリスナーは二度と呼び出されません。
注意:読み込み中のファイルに ASCII 文字以外の文字(英語以外の多くの言語に存在する)が含まれている場合は、ASCII のような非 Unicode 形式ではなく UTF-8 または UTF-16 エンコーディング形式でファイルを保存することをお勧めします。
ローカルファイルシステムのサンドボックスの SWF ファイルは、ネットワーク上のサンドボックス内のリソースからデータを読み込んだり、リソースにデータを書き込んだりしないことがあります。
デフォルトで、呼び出し元の SWF ファイルおよびロードする URL は同じドメインに置かれている必要があります。例えば、www.adobe.com に置かれている SWF ファイルは www.adobe.com に置かれているソースからのみデータをロードできます。 異なるドメインからデータをロードするには、データをホストするサーバーに URL ポリシーファイルを配置します。
一般的な予約ポートには接続できません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
Flash Player 10 以降では、"multipart/form-data" などのマルチパート Content-Type にアップロードが含まれていると(アップロードが含まれているかどうかは POST ボディ内の "content-disposition" ヘッダーの "filename" パラメーターで示されます)、そのアップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
XML ファイルの場所を示す
高速切り替え
このプロパティが指定されると、Flash Media Server は現在のストリームを先取りし、キーフレームを見つけるまで待機することなく、指定されたインデックス位置からすぐに新しいストリームのストリーミングを開始します。前のストリームからバッファーされているオフセット後のすべてのデータは消去されます。このテクニックでは、古いストリームからバッファされたデータを再生する必要がないので、標準の切り替えよりも迅速に新しいストリームに切り替えることができます。
オフセット値は現在の再生時間(
詳しくは、『Adobe Flash Media Server デベロッパーズガイド』の「
マルチキャストストリームの始まりから計算された合計を表す数字を返すプロパティ。これらのタイプのプロパティには、送信メディアバイト数や受信メディアフラグメントメッセージ数などがあります。数秒間にわたって平均された現在のレートのスナップショットを表すレートとなるプロパティ。これらのタイプのプロパティには、ローカルノードがデータを受信するレートなどがあります。
NetStreamMulticastInfo オブジェクトに含まれる値のリストを表示するには、
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムおよびテレビ用 AIR デバイスでサポートされますが、モバイルデバイスの種類によってはサポートされません。
NetworkInfo オブジェクトはシングルトンオブジェクトです。NetworkInfo オブジェクトを 1 つ取得するには、静的
ほとんどのコンピューターには、有線および無線ネットワークインターフェイスなどの 1 つ以上のインターフェイスがあります。VPN、ループバック、仮想インターフェイスなど、その他のインターフェイスがある場合もあります。
NetworkInfo オブジェクトは、利用可能なインターフェイスが変わると、変更イベントを送出します。 最新のネットワーク情報を判別する
注意:NativeApplication オブジェクトも、ネットワーク変更イベントを送出します。
この例のハイライトは、次のとおりです。
注意:この例を実行するには、この例のリモートアプリケーションの URL を実際の URL に置き換える必要があります。さらに、URLVariables オブジェクトの Flash Player で捕捉した情報を処理するためのサーバーコードが必要です。
ストリングを指定して URLVariables コンストラクターを呼び出すと、
このメソッドは、URLVariables イベントによって内部的に使用されます。ほとんどの場合、ユーザーが直接このメソッドを呼び出す必要はありません。
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。
データグラムパケットはソースとターゲット間で個別に送信されます。 パケットは、送信順序とは異なる順序で受信されることもあります。送信中に消失したパケットは再送信されることも検出されることもありません。
データグラムソケットを使用して送信されたデータは、自動的に送信可能なサイズのパケットに分割されることはありません。MTU(Maximum Transmission Unit)のサイズを超える UDP パケットを送信すると、そのパケットはネットワークによって廃棄されます(警告は表示されません)。制限 MTU は、送信パス内のインターフェイス、スイッチ、またはルーターの最小 MTU です。 NetworkInterface クラスを使用して、ローカルインターフェイスの MTU を決めることができますが、ネットワーク内の他のノードが異なる MTU 値を持つ可能性があります。
Socket クラスは、保証されたパケット配信を提供し、大きなパケットを自動的に分割してもう一度組み立てる TCP を使用します。TCP はまた、ネットワーク帯域幅の管理に優れています。これらの機能により、TCP ソケットを使用して送信されたデータでレーテンシーが高くなりますが、ほとんどの用途において、TCP を使用するメリットは、そのコストをはるかに上回ります。たいていのネットワーク通信は DatagramSocket クラスではなく、Socket クラスを使用します。
DatagramSocket クラスは、小さな転送レーテンシーが重要でパケットの消失を許容できるアプリケーションを操作する場合に便利です。例えば、VoIP (voice-over-IP)アプリケーションのネットワーク操作やリアルタイムのマルチプレイヤーゲームが UDP の恩恵を受ける場合がよくあります。 DatagramSocket クラスは、サーバー側アプリケーションでも便利です。UDP はステートレスプロトコルなので、サーバーは TCP よりも多くのクライアントからの多くの要求を処理できます。
DatagramSocket クラスは Adobe AIR アプリケーションでのみ使用でき、アプリケーションセキュリティサンドボックスでのみ使用できます。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
ソケットはリモートマシンから切断され、ローカルマシンからバインド解除されます。閉じられたソケットを再利用することはできません。
データグラムソケットが「接続されている」場合、データグラムパケットは指定されたターゲットからのみ送受信できます。 その他のソースからのパケットは無視されます。データグラムソケットへの接続は必須ではありません。接続を確立すると、他のソースから不要なパケットを除外する必要がなくなります。ただし、UDP ソケット接続は(TCP 接続用なので)永続的なネットワーク接続ではありません。 ソケットのリモートエンドが存在していない可能性があります。
関数は直ちに戻ります。データパケットを受信すると、DatagramSocket オブジェクトによって
ソケットが接続されている場合、パケットは
注意:ブロードキャストアドレスへのデータの送信はサポートされません。
注意: 値
URLRequest オブジェクトで設定されるプロパティは、URLRequestDefaults クラスに対し設定される静的プロパティをオーバーライドします。
URLRequestDefault の設定は、呼び出し側のアプリケーションドメイン内にあるコンテンツにのみ適用されますが、1 つ例外があります。
アプリケーションセキュリティサンドボックスで実行される Adobe® AIR® コンテンツだけが URLRequestDefaults クラスを使用できます。他のコンテンツがこのクラスのメンバーまたはプロパティにアクセスすると、SecurityError がスローされます。
Mac OS で実行されるアプリケーションに関する注意:Mac OS では、このメソッドを呼び出すと、アプリケーションは、アプリケーションが閉じられるまで指定したホストのこれらの資格情報を使用します。これは、同じホストに対し
注意:このメソッドは、ファイルのアップロードまたは RTMP 要求で使用される URLRequest オブジェクトには適用されません。
注意:この設定は、ファイルのアップロードまたは RTMP 要求で使用される URLRequest オブジェクトには適用されません。
アイドルタイムアウトとは、接続が確立された後、要求が廃棄されるまでの間、クライアントがサーバーからの応答を待機する時間(ミリ秒)です。
これは、URLRequest または HTMLLoader オブジェクトで使用されるデフォルトアイドルタイムアウトを定義します。URLRequest オブジェクトまたは HTMLLoader オブジェクトで
このプロパティが 0 (デフォルト)に設定されると、ランタイムはオペレーティングシステムで定義されるデフォルトのタイムアウト値を使用します。デフォルトのアイドルタイムアウト値はオペレーティングシステム(Mac OS、Linux、または Windows)によって変わり、オペレーティングシステムのバージョンによっても変わります。
この設定は、ファイルのアップロードまたは RTMP 要求で使用される URLRequest オブジェクトには適用されません。
注意:この設定は、ファイルのアップロードまたは RTMP 要求で使用される URLRequest オブジェクトには適用されません。
これは、(HTMLLoader オブジェクトの
このデフォルト値は、次の例に示すように、実行時のオペレーティングシステム(Mac OS、Linux または Windows など)、実行時の言語および実行時のバージョンによって異なります。
クライアントサイドの NetGroup クラスでは、NetConnection によって次のイベントが送出されます。
イベントオブジェクトの
ピアー対応ネットワークについて詳しくは、Adobe エバンジェリストの Tom Krcha による
ピアー対応ネットワークの背景にある技術的な詳細については、Adobe コンピューターサイエンティストの Matthew Kaufman による
アプリケーションの実行時に、テキスト入力フィールドに任意のグループ名を入力できます。GroupSpecifier クラスはこのグループ名(および設定済みの GroupSpecifier プロパティ)を使用して、グループの永続的な固有名となるストリングを作成します。他のクライアントをグループに接続するには、そのクライアントも同じグループ名を使用する必要があります。例えば、クライアント A が「firstmesh」というグループ名を使用する場合、クライアント A と通信したい他のクライアントも、グループ名「firstmesh」を使用する必要があります。クライアント B が「kite」というグループ名を使用している場合、接続は成功しますが、新しいグループが作成され、クライアント B はクライアント A および「firstmesh」グループに属する他のクライアントとは通信できません。
ほとんどの場合、
注意:クライアントがネイティブ IP マルチキャストストリームにサブスクライブした場合、セキュリティダイアログは表示されません。
オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「
このメソッドは NetStatusEvent を
注意:このメソッドを呼び出す前に、
オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「
このメソッドは、
注意:このメソッドを呼び出す前に、
オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「
注意:このメソッドを呼び出す前に、
すべてのメッセージは一意である必要があり、以前にアップロードされたメッセージと同一のメッセージはアップロードされない場合があります。シーケンス番号を使用して、メッセージを一意にします。
メッセージの配信は順序付けられません。メッセージの配信は保証されません。
メッセージは AMF でシリアル化されます。メッセージの型は、Object、int、Number、String のいずれかです。メッセージは MovieClip にはできません。
このメソッドは NetStatusEvent を
注意:このメソッドを呼び出す前に、
アプリケーションの実行時に、テキスト入力フィールドに任意のグループ名を入力できます。GroupSpecifier クラスはこのグループ名(および設定済みの GroupSpecifier プロパティ)を使用して、グループの永続的な固有名となるストリングを作成します。他のクライアントをグループに接続するには、そのクライアントも同じグループ名を使用する必要があります。例えば、クライアント A が「firstmesh」というグループ名を使用する場合、クライアント A と通信したい他のクライアントも、グループ名「firstmesh」を使用する必要があります。クライアント B が「kite」というグループ名を使用している場合、接続は成功しますが、新しいグループが作成され、クライアント B はクライアント A および「firstmesh」グループに属する他のクライアントとは通信できません。
この例を実行するには、Button、Label、TextInput、TextArea の各コンポーネントを Flash Professional のライブラリに追加します。
オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「
注意:このメソッドを呼び出す前に、
オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「
注意:このメソッドを呼び出す前に、
メッセージのルーティングについて詳しくは、『Flash Media Server Developer’s Guide』の「
ノードがメッセージを受信すると、NetStatusEvent が
注意:このメソッドを呼び出す前に、
メッセージのルーティングについて詳しくは、『Flash Media Server Developer’s Guide』の「
ノードがメッセージを受信すると、NetStatusEvent が
注意:このメソッドを呼び出す前に、
メッセージのルーティングについて詳しくは、『Flash Media Server Developer’s Guide』の「
ノードがメッセージを受信すると、NetStatusEvent が
注意:このメソッドを呼び出す前に、
オブジェクトのレプリケーションについて詳しくは、『Flash Media Server Developer’s Guide』の「
注意:このメソッドを呼び出す前に、
このメソッドは
このパラメーターに値を指定しない場合は、新しい空のウィンドウが作成されます。スタンドアローン Flash Player では、新しい(
注意:ローカルファイルシステムのサンドボックスで実行される SWF ファイル内のコードが
重要なセキュリティメモ
開発者は URL 値を FlashVars などの外部ソースから取得した
URL の適切なデータ検証方法は、アプリケーション全体での URL の使用状況によって異なります。最も一般的なデータ検証方法では、URL が適切なスキームかどうかも検証します。例えば、javascript の意図しない許可です。URL はクロスサイトスクリプティングになる場合があります。URL が独自のドメイン内のものであることを検証することにより、フィッシング攻撃を行うユーザーによってオープンリダイレクタとして SWF ファイルが使用されないようにします。さらにセキュリティを強化するには、URL のパスを検証し、URL が RFC のガイドラインに準拠していることを確認することもできます。
例えば、次に示す簡単なコードの例では、データの検証として、http:// または https:// で始まっていない URL を拒否し、URL が自分のドメイン名に含まれることを確認しています。すべての Web アプリケーションにこの例が適用できるとは限らないため、URL に対して追加のチェックが必要かどうかを検討することをお勧めします。
ブラウザー内で実行されるローカルコンテンツの場合、
Flash Player、および Adobe AIR のアプリケーションサンドボックス以外では、一般的な予約ポートに接続することはできません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
ブラウザーで実行される Flash Player 10 以降では、このメソッドをプログラムで使用してポップアップウィンドウを開く方法は有効でない場合があります。ブラウザー(およびブラウザーの設定)によってはポップアップウィンドウがブロックされる場合があり、すべてのポップアップウィンドウが表示される保証はありません。ただし、ユーザー操作の直接の結果として実行されるコード(マウスのクリックやキー入力イベントのイベントハンドラーなど)に限っては、このクラスを使用してポップアップウィンドウを開く方法が有効です。
Flash Player 10 以降では、"multipart/form-data" などのマルチパート Content-Type にアップロードが含まれていると(アップロードが含まれているかどうかは POST ボディ内の "content-disposition" ヘッダーの "filename" パラメーターで示されます)、そのアップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
モバイルプラットフォームの AIR では、sms: および tel: URI スキームがサポートされます。Android では、vipaccess:、connectpro: および market: URI スキームがサポートされます。URL 構文は、プラットフォームの規則に従います。例えば、Android では URI スキームを小文字にする必要があります。これらのスキームのいずれかを使用して URL に移動すると、ランタイムによって、スキームを処理するためにデフォルトのアプリケーションで URL が開かれます。そのため、
次のコードは、Android 上で VIP Access アプリケーションと Connect Pro アプリケーションを呼び出す方法を示しています。
LocalConnection、ByteArray、SharedObject、NetConnection、および NetStream はすべて、AMF でオブジェクトをエンコードするクラスの例です。
エンコードおよびデコードコンテキストでは、エイリアスに同じクラスを使用する必要はありません。エンコード先およびデコード先のクラスに、ソースクラスによって直列化されたすべてのメンバーが含まれている限り、クラスを意図的に変更できます。
サーバーの応答を調べるには、代わりに
一般的な予約ポートには接続できません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
SWF ファイルがこのメソッドを使用しないようにするには、SWF コンテンツを含んでいる HTML ページに
Flash Player 10 以降では、"multipart/form-data" などのマルチパート Content-Type にアップロードが含まれていると(アップロードが含まれているかどうかは POST ボディ内の "content-disposition" ヘッダーの "filename" パラメーターで示されます)、そのアップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
分散転送動作を有効にする場合、この値を
Adobe® AIR ® では、アプリケーションセキュリティサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツなど)は、どのようなリクエストヘッダーでもエラーなしで使用できます。ただし、異なるセキュリティサンドボックス内の、Adobe AIR で実行されているコンテンツ
Flash Player およびアプリケーションセキュリティサンドボックス外の Adobe AIR コンテンツでは、次のリクエストヘッダーを使用できません。これらの制限対象の項では大文字と小文字は区別されません(例えば、
URLRequestHeader オブジェクトの長さは制限されています。URLRequestHeader オブジェクトの累積長(
Adobe AIR で実行されているコンテンツでは、
URLRequest パラメーターを受け取るメッソドすべてが
ブラウザーの制限により、カスタム HTTP リクエストヘッダーは
注意:この例を実行するには、example.txt ファイルを SWF ファイルと同じディレクトリに配置します。このファイルは、いくつかの単語またはテキスト行を含む単純なテキストファイルとする必要があります。
コード例では、次の処理が実行されます。
注意:
注意: Adobe AIR では、FileReference クラスを拡張する File クラスはより多くの機能を提供し、FileReference クラスよりもセキュリティの制限が小さくなっています。
FileReference インスタンスは、次の方法で作成できます。
アップロード処理の実行中、FileReference オブジェクトのすべてのプロパティの値が、
また FileReference と FileReferenceList クラスは認証方法も提供しません。認証が必要なサーバーでは、Flash® Player ブラウザープラグインを使ってファイルをダウンロードできますが、すべての Player でのアップロード、およびスタンドアローンまたは外部 Player でのダウンロードは失敗します。FileReference イベントをリッスンして、処理が正常に終了したかどうかを確認して、エラー処理を行います。
Flash Player に追加された新しい機能により、Flash Player 10 にパブリッシュする場合は、
パラメーターが指定されていない場合は、次のサンプルの HTTP
POST /handler.cfm HTTP/1.1 Accept: text/~~ Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Flash Player が次の HTTP
POST /handler.cfm HTTP/1.1 Accept: text/~~ Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
注意:この例を実行するには、uploadURL.url プロパティを変更して、例の架空の URL ではなく実際の URL を参照するようにします。この URL は、指定した URL のルート Web ディレクトリ内の
Adobe AIR では、これらのセキュリティ制限は、アプリケーションセキュリティサンドボックス内のコンテンツには適用されません。
Adobe AIR では、これらのセキュリティ制限は、アプリケーションセキュリティサンドボックス内のコンテンツには適用されません。
場合によっては、
ファイルのアップロードの進捗状況は、OS X 10.3 より前の Macintosh プラットフォームでは確認できません。
open
event.
It should be made clear that there is no way to actually track the progress
of a download, just that it hasn't yet finished or failed.
ioError
event.
Note that for simplicity, none of the other event types are used in this
example.
重要:ブラウザー内で実行される、つまり、ブラウザープラグインまたは ActiveX コントロールを使用するアプリケーションと、Adobe AIR で実行されるコンテンツでのみ、認証用のユーザー名とパスワードを入力できるダイアログボックスを表示できます。ただし、それはダウンロードの場合のみです。 Flash Player のプラグインまたは ActiveX コントロールバージョンを使用するアップロードの場合、または、スタンドアローンまたは外部 Player を使用するアップロードまたはダウンロードの場合、ファイル転送は失敗します。
complete
event
listener. It should be made clear that there is no way to actually track the progress
of a download, just that it hasn't yet finished or failed.
FileReference
object and
initiates the download of a pdf file.
注意:Adobe AIR で利用可能な File クラスにはさらに固有のシステムファイル選択ダイアログボックスにアクセスするためのメソッドが含まれています。 これらのメソッドは
このメソッドを呼び出して、ユーザーが正常にファイルを選択すると、この FileReference オブジェクトのプロパティにそのファイルのプロパティが設定されます。これ以降
どのファイルをダイアログボックスに表示するかを決定するために、
Flash Player 10 および Flash Player 9 Update 5 では、このメソッドの呼び出しは、マウスのクリックやキー入力などのユーザーイベントに応じてイベントハンドラーで呼び出した場合にのみ成功します。それ以外の場合は、このメソッドを呼び出すと、Flash Player から例外がスローされます。
Flash Player に追加された新しい機能により、Flash Player 10 にパブリッシュする場合は、
Adobe AIR では、ファイル参照ダイアログボックスは他のウィンドウによって「所有されている」(
一部のブラウザーでは、URL ストリングの長さに制限があるものがあります。長さが 256 文字を超える場合、一部のブラウザーまたはサーバーでは失敗する場合があります。
このパラメーターを省略すると、リモート URL のファイル名が構文解析されて、デフォルトとして使用されます。
ファイルが正常にダウンロードされると、FileReference オブジェクトのプロパティにローカルファイルのプロパティが設定されます。ダウンロードが成功した場合、
一度に 1 つの
このメソッドは、どのファイルタイプのダウンロードにも対応しており、HTTP と HTTPS のいずれも使用できます。
一般的な予約ポートには接続できません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
注意:サーバーでユーザー認証が必要な場合、ブラウザー内で実行される、つまり、ブラウザープラグインまたは ActiveX コントロールを使用する SWF ファイルでのみ、認証用のユーザー名とパスワードをユーザーが入力できるダイアログボックスを表示できます。ただし、それはダウンロードの場合のみです。プラグインまたは ActiveX コントロールを使用するアップロードの場合、または、スタンドアローンまたは外部 Player を使用するアップロードとダウンロードの場合、ファイル転送は失敗します。
このメソッドを使用するときは、
ただし、
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
このメソッドを使用してファイルをダウンロードすると、ダウンロードされたファイルにフラグを付けるオペレーティングシステムにダウンロードされたというフラグが付きます。
Linux などの一部のオペレーティングシステムは、ダウンロードされたファイルにフラグを付けません。
Flash Player に追加された新しい機能により、Flash Player 10 にパブリッシュする場合は、
Adobe AIR では、ダウンロードダイアログボックスは他のウィンドウによって「所有」されている(
リスナーは、読み込み処理が進行中なのか、成功したのか、失敗したのかを示すイベントを受け取ります。FileReferenceList オブジェクトを使用すると、ユーザーが読み込むファイルを複数選択できるようになりますが、ファイルは 1 つずつ読み込む必要があります。個別にファイルを読み込むには、FileReference オブジェクトの
Adobe AIR にはまた、ファイルを読み込むためのさらに多くのオプションを提供する FileStream クラスが含まれています。
ファイルのロードが正常に終了すると、コンテンツは FileReference オブジェクトの
次のセキュリティに関する考慮事項が適用されます。
ただし、これらの考慮事項はアプリケーションサンドボックス内の AIR コンテンツには適用されません。
Flash Player 10 または AIR 1.5 にパブリッシュする場合は、
Adobe AIR では、ファイル参照ダイアログボックスは他のウィンドウによって「所有されている」(
File オブジェクトがこのメソッドを呼び出すと、ファイル名は File オブジェクトが参照するファイルの名前になります(AIR File クラスは FileReference クラスを拡張します)。
Adobe AIR にはまた、ファイルをローカルで保存するためのさらに多くのオプションを提供する FileStream クラスが含まれています。
ファイルが正常に保存されると、FileReference オブジェクトのプロパティにローカルファイルのプロパティが設定されます。保存が成功した場合、
一度に 1 つの
Flash Player では、このメソッドの呼び出しは、マウスのクリックやキー入力などのユーザーイベントに応じてイベントハンドラーで呼び出した場合にのみ成功します。それ以外の場合は、このメソッドを呼び出すと、Flash Player から例外がスローされます。この制限は、アプリケーションサンドボックス内の AIR コンテンツには適用されません。
Adobe AIR では、保存ダイアログボックスは他のウィンドウによって「所有」されている(
この URL では、HTTP または HTTPS(セキュアアップロード)を使用できます。HTTPS を使用するには、
この URL では、HTTP または HTTPS(セキュアアップロード)を使用できます。HTTPS を使用するには、
Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="Filedata"; filename="example.jpg" Content-Type: application/octet-stream ... contents of example.jpg ... --AaB03x--
FileReference クラスを拡張する Adobe AIR File クラスの場合は、
リスナーは、アップロードが進行中なのか、成功したのか、失敗したのかを示すイベントを受け取ります。FileReferenceList オブジェクトを使用すると、ユーザーが複数のファイルを選択してアップロードすることが可能になりますが、ファイルは 1 つずつアップロードする必要があります。この操作を実行するには、FileReference オブジェクトの
ファイルは、
一般的な予約ポートには接続できません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
注意:サーバーでユーザー認証が必要な場合、ブラウザー内で実行される、つまり、ブラウザープラグインまたは ActiveX コントロールを使用する SWF ファイルでのみ、認証用のユーザー名とパスワードをユーザーが入力できるダイアログボックスを表示できます。ただし、それはダウンロードの場合のみです。プラグインまたは ActiveX コントロールを使用するアップロードの場合、または、スタンドアローンまたは外部 Player を使用するアップロードとダウンロードの場合、ファイル転送は失敗します。
このメソッドを使用するときは、
ただし、Adobe AIR では、
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
Flash Player に追加された新しい機能により、Flash Player 10 にパブリッシュする場合は、
ファイルの拡張子は、名前内の最後のドット(".")の後の部分です(ドットは含みません)。ファイル名内にドットがない場合、拡張子は
注意:ファイルのタイプを確認するには、
FileReference オブジェクトのすべてのプロパティの値は、
注意:ActionScript 3.0 の初期のバージョンでは、
Windows または Linux の場合、このプロパティはファイル拡張子になります。Macintosh では、このプロパティは 4 文字のファイルタイプです。これは、Mac OS X より前のバージョンの Mac OS でのみ使用されます。FileReference オブジェクトに値が設定されていない場合に、このプロパティの値を取得する呼び出しを行うと、
Windows、Linux および Mac OS X の場合、ファイル拡張子(
FileReferenceList クラスを使用するには
FileReferenceList クラスには、
この例を実行するには、ファイルアップロードの受け取り処理を記述したスクリプトを、http://www.[yourDomain].com/yourUploadHandlerScript.cfm に配置します。SWF ファイルの場所とファイルのアップロード先によっては、「ローカルでの再生に関するセキュリティ」を「ネットワークにのみアクセスする」に設定して SWF ファイルをコンパイルするか、Flash® Player のセキュリティ設定を更新してこのファイルのネットワークアクセスを許可する必要がある場合もあります。アップロードサーバーがリモートで、この例をデスクトップコンピューターから実行する場合、サーバーには "crossdomain.xml" ファイルが必要です。
select
event.
FileReferenceList
object,
iterates over each selected file, and outputs their names.
// ask the user to choose an image file for upload var fileRef = new FileReference(); if (fileRef.browse(["Images", "jpg;gif;png", "Flash Movies", "swf"])) { trace("Opened " + fileRef.name); } else { trace("User canceled"); }
Flash Player 10 以降では、このメソッドの呼び出しは、マウスのクリックやキー入力などのユーザーイベントに応じてイベントハンドラーで呼び出した場合にのみ成功します。それ以外の場合は、このメソッドを呼び出すと、Flash Player から例外がスローされます。
このメソッドが呼び出されて、ユーザーが正常にファイルを選択すると、この FileReferenceList オブジェクトの
どのファイルをダイアログボックスに表示するかを決定するために、
FileReferenceList オブジェクトでは、一度に 1 つの
fileList
property.
NetworkInfo オブジェクトの
ハードウェアアドレスは、通常、ネットワークアダプターまたはインターフェイスカードの MAC (Media Access Control) アドレスです。
このインターフェイスがサブインターフェイスである場合、このインターフェイスが親を持つ場合があります。このインターフェイスが親を持たない場合、
サブインターフェイスは仮想インターフェイスの場合がよくあります。このインターフェイスがサブインターフェイスを持たない場合、
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、一部のテレビ用 AIR デバイスではサポートされません。また、モバイルデバイスではサポートされません。
SSL/TLS プロトコルによって、証明書を使用してホストの ID を認証するためのメカニズムが提供されます。また、ソケット経由の暗号化通信も利用できるようになります。SSLv3 および TLSv1 がサポートされます。サーバー証明書の検証は、信頼ストアとクライアントプラットフォームの証明書検証サポートを使用して実行されます。
SecureSocket クラスは、信頼できる有効な証明書を備えたサーバーにのみ接続します。サーバーの証明書に問題がある場合には、そのサーバーへの接続を選択することはできません。例えば、サーバーの証明書の有効期限が切れていたり、信頼できるルート証明書にサーバーの証明書がチェーンしていない場合、その証明書が有効であっても接続はできません。
SecureSocket クラスは、信頼できるサーバーに対して暗号化通信を行う場合に役立ちます。その他の点では、SecureSocket オブジェクトは、通常の Socket オブジェクトと同様に動作します。
SecureSocket クラスのメソッドを使用するには、まず
重要:OCSP(Online Certificate Status Protocol)は、一部のオペレーティングシステムではサポートされません。また、ユーザーは、個々のコンピューターで OCSP チェックを無効にすることができます。OCSP がサポートされていないか無効になっていて、さらに、CRL(証明書失効リスト)を使用して行われる失効確認に必要な情報が証明書に含まれていない場合、証明書失効の確認は行われません。失効以外の内容が有効であれば、証明書は受け入れられます。その結果、失効した証明書の使用をサーバーが許可するおそれがあります。
サーバー証明書を検証できない場合、送出されるエラーイベントは IOError です。この場合は、
SecureSocket インスタンスを作成する前に、
ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。
セキュアソケットは、すべてのプラットフォームでサポートされているわけではありません。新しい SecureSocket インスタンスを作成する前に、このプロパティをチェックします。
ソケットがサーバーに接続しようと試みるまでは、ステータスは
注意:いったん証明書が検証されるか拒否された後は、次に
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。
TCP サーバーはリモートクライアントからの受信接続を待機します。クライアントが接続しようとすると、ServerSocket が
注意:アプリケーションは、クライアント Socket·オブジェクトへの参照を維持します。維持を行わない場合、このオブジェクトはガベージコレクションの対象となり、警告を表示せずにランタイムによって破棄される可能性があります。
ServerSocket オブジェクトを待機状態にするには、
TCP 接続は永続的であり、接続の一端が閉じられるまで(あるいは重大なネットワークエラーが発生するまで)維持されます。この接続を経由して送信されるデータは、伝送可能なパケットに分割され、接続の終端でもう一度組み立てられます。すべてのパケットは妥当な範囲で到着することが保証され、消失パケットは再送信されません。 通常、TCP プロトコルによる利用可能なネットワーク帯域幅の管理は UDP プロトコルよりも優れています。ソケット通信を必要とするほとんどの AIR アプリケーションは、DatagramSocket クラスではなく ServerSocket および Socket クラスを使用しているはずです。
ServerSocket クラスは Adobe AIR アプリケーションでのみ使用でき、アプリケーションセキュリティサンドボックスでのみ使用できます。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
閉じたソケットを再び開くことはできません。代わりに新しい ServerSocket インスタンスを作成します。
FileFilter インスタンスは次の 2 つの方法で使用できます。
これら 2 つの形式を browse メソッドの 1 回の呼び出しの中に混在させることはできません。 どちらか一方を使用する必要があります。
次の例のように、browse メソッドには 1 つ以上の FileFilter インスタンスを渡すことができます。
AIR アプリケーションでは次のようになります。
ローカルファイルシステムのサンドボックスの SWF ファイルは、ネットワーク上のサンドボックス内のリソースからデータを読み込んだり、リソースにデータを書き込んだりしないことがあります。
デフォルトで、呼び出し元の
ただし、Adobe AIR では、アプリケーションセキュリティサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)は、これらのセキュリティ制限による制限を受けません。Adobe AIR で実行中のコンテンツの場合、アプリケーションセキュリティサンドボックス内のファイルは、次のいずれかの URL スキームを使って URL にアクセスできます。
アプリケーションセキュリティサンドボックスにない、
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
この例を実行するには、XMLFile.xml というファイルを SWF ファイルと同じディレクトリに配置します。
以下の認証メソッドがサポートされています。
注意:
注意:
デフォルト値は
注意:
POST リクエストを送信する場合、
Flash Player 10 以降では、"multipart/form-data" などのマルチパート Content-Type にアップロードが含まれていると(アップロードが含まれているかどうかは POST ボディ内の "content-disposition" ヘッダーの "filename" パラメーターで示されます)、そのアップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
このプロパティは
URLRequest API は、ストリング以外に、バイナリ
データが使用される方法は、使用されるオブジェクトの型によって異なります。
このデータは、
注意:
この例のハイライトは、次のとおりです。
注意:この例を実行するには、この例のリモートアプリケーションの URL を実際の URL に置き換える必要があります。さらに、URLVariables オブジェクトの Flash Player で捕捉した情報を処理するためのサーバーコードが必要です。
ダイジェストは、SHA-256 メッセージダイジェストアルゴリズム(16 進数形式で 64 文字長)に基づきます。
例えば、Flex SDK は Flex フレームワークの SWZ を含みます(また、その SWZ ファイルのダイジェストストリングを提供します)。この SWZ を Web サーバーにポストし、それを URLLoader オブジェクトの
URLRequest オブジェクトの
注意:
アイドルタイムアウトとは、接続が確立された後、要求が廃棄されるまでの間、クライアントがサーバーからの応答を待機する時間です。
注意:
Mac OS では、cookie は Safari と共有されます。Mac OS でクッキーを消去するには:
Windows でクッキーを消去するには:
この例のハイライトは、次のとおりです。
注意:この例を実行するには、この例のリモートアプリケーションの URL を実際の URL に置き換える必要があります。さらに、URLVariables オブジェクトの Flash Player で捕捉した情報を処理するためのサーバーコードが必要です。
URLRequest パラメーターを受け取るメッソドすべてが
ブラウザーの制限により、カスタム HTTP リクエストヘッダーは
Uniform Resource Locator 仕様で危険と説明されている文字(http://www.faqs.org/rfcs/rfc1738.html を参照)や、URLRequest オブジェクトの URL スキームで予約されている文字(予約されている目的以外に使用する場合)は、必ずエンコードしてください。例えば、パーセント(%)記号の場合は
デフォルトで、URL は呼び出し元のファイルと同じドメインにある必要があります。ただし、コンテンツが
注意:IPv6(Internet Protocol version 6)は
rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]:1935/test
注意:
デフォルト値は、Flash Player で使用されるユーザーエージェントストリングと同じです。これは、Macintosh、Linux、Windows で異なります。
注意:HTMLLoader オブジェクトの
IPv4 アドレスの場合、これはサブネットマスクです。8(255.0.0.0)、16(255.255.0.0)および 24(255.255.255.0)など、IPv4 値のプレフィックス長の例。128(::1/128)および 32(2001:db8::/32)など、IPv6 値のプレフィックス長の例。
注意:このアドレスのプレフィックス長が利用できない場合、
デフォルトではすべての機能が無効で、ピアーツーピアー接続が許可されています。
P2P 接続が無効の場合(このプロパティを TRUE に設定)、P2P 警告ダイアログボックスが表示されません。この場合、ネイバー接続を確立することができず、グループメンバーがアップストリーム帯域幅を使用できません。このようにして P2P 接続を無効にすることは、通常、マルチキャストストリームを純粋な IP マルチキャスト経由で受信する場合にのみ有用です。
サーバーがグループメンバーにサポート機能を提供するには、サーバーへのチャンネルを開く必要があります。サーバーの設定に応じて、サポート機能がこのチャンネル経由で提供されたり、提供されなかったりします。
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムおよびすべてのテレビ用 AIR デバイスでサポートされますが、モバイルデバイスではサポートされません。
注意:テレビ用 AIR デバイスでは、AIR アプリケーションの SWF ベースのコンテンツ間でのみ通信がサポートされます。
ローカル接続では、SWF ファイル間のこの種の通信は
ActionScript 3.0 で作成された LocalConnection オブジェクトは、ActionScript 1.0 または 2.0 で作成された LocalConnection オブジェクトと通信できます。また、その逆も可能です。ActionScript 1.0 または 2.0 で作成された LocalConnection オブジェクトは、ActionScript 3.0 で作成された LocalConnection オブジェクトと通信できます。Flasn Player では、このようなバージョンの異なる LocalConnection オブジェクト間の通信が自動的に処理されます。
LocalConnection オブジェクトにコールバックメソッドを追加するには、次の 3 つの方法があります。
各ファイルで使用されるコマンドを確認することで、2 つのファイル間で通信を行うための LocalConnection オブジェクトの使用方法が理解しやすくなります。一方のファイルを受信側ファイルと呼びます。呼び出されるメソッドが含まれるファイルです。受信側ファイルには、LocalConnection オブジェクトと
同じドメインの場合:この場合は、同じドメイン内の LocalConnection オブジェクト間だけで通信を許可します。同一ドメイン通信はデフォルトで許可されているので、これは LocalConnection オブジェクトの最も簡単な使用方法です。 同じドメインにある 2 つの ファイル間で通信を行う場合は、特別なセキュリティ対策を実装する必要はありません。
予測可能なドメイン名を持つ異なるドメインの場合:異なるドメインに存在する 2 つの SWF ファイル間で通信を行う場合は、
予測不可能なドメイン名を持つ異なるドメインの場合:受信側の LocalConnection オブジェクトを含むファイルをドメイン間で移植しやすくしたい場合があります。
Flash Player から AIR アプリケーション:AIR アプリケーションサンドボックスで作成された LocalConnection オブジェクトでは特別なストリングが使用されます。これはドメイン名ではなく接続接頭辞だからです。ストリングのフォームは
注意: AIR アプリケーションが AIR アプリケーションサンドボックス外で SWF をロードする場合、その SWF とローカル接続を確立する際の規則は、Flash Player で実行されている SWF との接続を確立する規則と同じです。
AIR アプリケーションから Flash Player:AIR アプリケーションが、Flash Player ランタイムで実行されている SWF と通信するときは、
AIR アプリケーションから他の AIR アプリケーション:2 つの AIR アプリケーション間を通信するには、
LocalConnection オブジェクトを使用して、1 つのファイル内でデータを送受信することもできますが、これは一般的な方法ではありません。
LocalConnectionSenderExample SWF ファイルでは LocalConnection インスタンスが作成され、ボタンが押されると
LocalConnectionReceiverExample SWF ファイルでは LocalConnection インスタンスが作成され、
注意:この例をテストするには、両方の SWF ファイルを同じコンピューター上に同時にロードする必要があります。
The following file sends the request to the first file.
このメソッドを使用して、セキュアでないプロトコルでホストされているファイルから、セキュアなプロトコル(HTTPS)を使用してホストされているファイルへのアクセスを許可することはできません。この場合は、
場合によっては、このメソッドを使用して、ドメインの異なる子ファイルから親ファイルへの LocalConnection 呼び出しを、子ファイルの最終的なドメインが不明な状態でも実行できるようにしたいことがあります。 例えば、ロードバランシングリダイレクトやサードパーティー製サーバーを使用する場合などです。このような場合、ロードに使用される LoaderInfo オブジェクトの
また、これとは反対に、ドメインの不明な親からの LocalConnection 呼び出しを子ファイルに受け入れさせたい場合もあります。この場合は、ドメインパラメーターが、ロードされたファイルの
このメソッドを使用するときは、Flash Player セキュリティモデルを考慮してください。デフォルトでは、LocalConnection オブジェクトはそれを作成したファイルのサンドボックスに関連付けられ、LocalConnection オブジェクトのクロスドメイン呼び出しは、受信側ファイルで
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
注意:
デフォルトでは、HTTPS プロトコルを使用してホストされたファイルは、HTTPS プロトコルを使用してホストされた他のファイルにのみアクセスできます。 この実装方法により、HTTPS プロトコルが提供する整合性が保たれます。
このメソッドでデフォルトの動作を変更することはお勧めできません。デフォルトの動作を変更すると、HTTPS のセキュリティが損なわれます。ただし、デフォルトの動作を変更せざるをえない場合もあります。例えば、Flash Player 9 以降用にパブリッシュされた HTTPS SWF ファイルに対して、Flash Player 6 以前のバージョン用にパブリッシュされた HTTP SWF ファイルからのアクセスを許可しなければならない場合などです。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
競合状況を避けるため、このメソッドを呼び出す前に、受信側の LocalConnection オブジェクトに関連付けられるメソッドを定義します(LocalConnection クラスの例を参照)。
デフォルトでは、
Adobe AIR の
またデフォルトでは、受信側 LocalConnection オブジェクトは、接続名が
同じドメインのファイル間のみの通信を実装する場合は、先頭がアンダースコア(_)でなくドメイン名を含まないストリングを
異なるドメイン内のファイル間の通信を実装する場合は、アンダースコア(_)で始まるストリングを
詳細については、クラスの概要の説明、
注意:コロンは、
このメソッドを使用するときは、
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
このコマンドにパラメーターとして渡すことができるデータの量は 40 KB に制限されます。シンタックスが正しいにもかかわらず、
注意:受信側 LocalConnection オブジェクトの
このメソッドを使用するときは、
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
Adobe AIR の
Flash Player 9 以降用にパブリッシュされた SWF ファイルでは、ファイルのサブドメインを含む正確なドメインを示すストリングを返します。 例えば、現在のファイルが www.adobe.com にある場合は、
現在のファイルが、Flash Player で実行されているクライアントコンピューター上のローカルファイルである場合は、
このプロパティの最も一般的な使用方法としては、送信側 LocalConnection オブジェクトのドメイン名を、受信側 LocalConnection オブジェクトで呼び出すメソッドのパラメーターとして組み込みます。あるいは、
NetStream クラスを使用して、次の操作を行います。
注意:同じ NetStream オブジェクトでは、ストリームを再生およびパブリッシュできません。
Adobe AIR および Flash Player 9.0.115.0 以降のバージョンでは、標準の MPEG-4 コンテナ形式から派生したファイルがサポートされます。H.264 ビデオまたは HE-AAC v2 エンコードオーディオ、あるいはその両方が含まれている場合、このようなファイルには F4V、MP4、M4A、MOV、MP4V、3GP および 3G2 があります。H.264 では、Sorenson または On2 の同じエンコードプロファイルと比較して、低いビットレートで高品質のビデオが配信されます。AAC は、MPEG-4 ビデオ標準で定義された標準オーディオ形式です。AAC の拡張である HE-AAC v2 は、スペクトルバンドレプリケーション(SBR)およびパラメトリックステレオ(PS)技法を使用して、低いビットレートでのコーディング効率を向上させます。
サポートされているコーデックおよびファイル形式について詳しくは、以下を参照してください。
Flash Media Server ストリーム、プログレッシブ F4V ファイル、またはプログレッシブ FLV ファイルからデータを受け取る
Flash Media Server、F4V ファイル、および FLV ファイルは、ストリーミング中または再生中に特定のデータポイントで、データが含まれているイベントオブジェクトを送信できます。再生中は、2 つの方法でストリームまたは FLV ファイルからのデータを処理できます。
注意:MP3 などのオーディオファイルでデータを送信するには、Sound クラスを使用してオーディオファイルと Sound オブジェクトを関連付けます。次に、
この例では、Video オブジェクトと NetStream オブジェクトを作成し、
NetDataEvent は次のメッセージのために送出されます。
注意:このイベントは、Android および Blackberry Tablet OS 上のブラウザー内の Flash Player で実行しているコンテンツ、または iOS 上の AIR で実行しているコンテンツからは送出されません。
注意:このコールバック内からの
DRMStatusEvent オブジェクトには、コンテンツがオフラインでも使用可能になっているか、またはバウチャーの期限が切れたときにコンテンツを表示できなくなるかなど、バウチャーに関連する情報が含まれています。
NetStream オブジェクトの
DRMContentData オブジェクトには、DRM で保護されたメディアファイルの再生に求められるバウチャーを取得するために必要な情報が含まれています。DRMManager クラスを使用して、この情報でバウチャーをダウンロードします。
このイベントでは、次のプロパティが指定された情報オブジェクトを返すことができます。
関連付けられたイベントリスナーは、
次のタイプのキューポイントをビデオファイルに埋め込むことができます。
最初にビデオファイルをエンコードするとき、または Flash オーサリングツールでビデオの読み込みウィザードを使用してビデオクリップを読み込むときに、ビデオファイルにキューポイントを定義できます。
一般に、コードで特定のキューポイントの発生時に応答するには、
関連付けられたイベントリスナーは、
onTextData イベントオブジェクトには、テキストデータごとに 1 つのプロパティが含まれます。
コード中の場所
カスタムクラスを使用してイメージデータやテキストデータを処理することもできます。詳細および例については、記事「
関連付けられたイベントリスナーは、
onImageData イベントオブジェクトは、イメージデータを AMF0 データチャンネルを介して送信されるバイト配列として格納します。
コード中の場所
カスタムクラスを使用してイメージデータやテキストデータを処理することもできます。詳細および例については、記事「
Flash Video Exporter ユーティリティ(バージョン 1.1 以降)は、ビデオの継続時間、作成日付、データレート、その他の情報をビデオファイルに埋め込みます。各ビデオエンコーダーは、それぞれ異なるメタデータのセットを埋め込みます。
関連付けられたイベントリスナーは、
多くの場合、ストリームメタデータに埋め込まれた継続期間の値は実際の継続時間に近似したものになりますが、正確な値ではありません。つまり、再生ヘッドがビデオストリームの末尾にある場合、FLV メタデータに埋め込まれた継続期間の値は
onMetaData イベントハンドラーに渡されるイベントオブジェクトには、各データに 1 つのプロパティが含まれています。
関連付けられたイベントリスナーは、
ほとんどの場合、
このパラメーターをコンストラクターのステートメントに含めて
このメソッドを呼び出して、
バイトパーサーは、ヘッダー付きの FLV ファイルを認識します。ヘッダーが解析された後、
NetStream オブジェクトには、
FLV タグが完全になるまで、
注意:バイトパーサーは、以降の
このメソッドを Flash Media Server で使用し、ライブオーディオをサーバーに送信します。このメソッドは、
var nc:NetConnection = new NetConnection(); nc.connect("rtmp://server.domain.com/app"); var ns:NetStream = new NetStream(nc); var live_mic:Microphone = Microphone.get(); live_mic.rate = 8; live_mic.setSilenceLevel(20,200); var soundTrans:SoundTransform = new SoundTransform(); soundTrans.volume = 6; live_mic.soundTransform = soundTrans; ns.attachAudio(live_mic); ns.publish("mic_stream","live")
オーディオを聞くには、
このメソッドは、Flash Media Server で使用することを目的としています。詳細については、クラスの説明を参照してください。
ビデオソースのアタッチ後に、
この
例えば、5 分ごとにスナップショットを 1 枚撮り、合計で 100 枚のスナップショットを撮るとします。この操作を行うには、次の 2 つの方法があります。
どちらの手法でも、同じ 500 個のフレームがキャプチャされます。どちらのアプローチも有用ですが、使用するアプローチは、主に再生要件によって異なります。例えば、後者の場合、始めから最後までオーディオを録音し続けることができます。また、どちらの場合もファイルサイズはほとんど同じです。
このメソッドでは、Flash Media Server バージョン 3.5.3 以降が必要です。
このメソッドを使用して ストリームの再接続を実装するには、
このメソッドを使用して負荷分散を実装するには、以下の手順を実行します。
Flash Media Server を使用している場合、パブリッシュしているストリームから
ピアーの発行者がこのメソッドを実装していない場合、すべてのピアーはパブリッシュされたすべてのコンテンツを再生できます。
Flash Player 9.0.115.0 以降、Flash Player では、
注意:後方互換性を確保する目的で現在も
1 回の一時停止の場合、
ヒント:例えば、コードで
このメソッドは、
動的ストリーミング
Flash Media Server 3.5 以降でサポートされる動的ストリーミングにより、マルチビットレートで暗号化されたストリームを使用できます。ビューアーのネットワーク状態の変化に伴って、最適な表示エクスペリエンスを提供するビットレートを受信します。
Adobe では、NetStream クラスを拡張する DynamicStream と呼ばれるカスタム ActionScript クラスを作成しました。DynamicStream クラスを使用すると、ネットワーク状態を検出するための独自のコードを作成する代わりに、アプリケーションでダイナミックストリーミングを実装できます。 独自のダイナミックストリーミングコードの作成を選択した場合でも、DynamicStream クラスを参照実装として使用してください。
ストリームの再接続
Flash Media Server 3.5.3 以降でサポートされるストリームの再接続を使用すると、接続が失われたときも、メディアの中断が発生しません。ActionScript ロジックが Flash Media Server に再接続を試みる間、メディアはバッファーを使用して再生を続けます。再接続後、新しい NetConnection で同じ NetStream オブジェクトを使用するために
ローカルファイルの再生
メディアファイルの場所。引数には、String、
アプリケーションセキュリティサンドボックス内の AIR コンテンツの場合、メディアファイルに指定するパスは、SWF ファイルのディレクトリに相対します。ただし、SWF ファイルのディレクトリより上位に移動することはできません。AIR でパスを相対パスとして処理するため、完全なパスは指定しないでください。
Flash Media Server からのメディアファイルの再生
次の表に記載されているファイル形式を再生できます。構文は、ファイル形式によって異なります。
データ生成モードの有効化
「データ生成モード」を有効にするには、
サポートされているコーデックおよびファイル形式について詳しくは、以下を参照してください。
ファイルまたはライブストリームを再生するためのワークフロー
ローカルディレクトリまたは Web サーバーからファイルを再生するには、null を渡します。
記録されたファイルまたはライブストリームを Flash Media Server から再生するには、Flash Media Server アプリケーションの URI を渡します。
ライブストリームを再生するには、
記録されたファイルを再生するには、ファイル名を渡します。
注意:サンプルコードを確認するには、このページの下部の例にスクロールしてください。
データ生成モードの有効化
「データ生成モード」を有効化するには、
Flash Media Server を使用しないでこのメソッドを使用する場合、セキュリティに関する考慮事項があります。信頼できるローカルのサンドボックスまたはネットワークアクセスを許可されたローカルのサンドボックスのファイルは、リモートサンドボックスからビデオファイルをロードおよび再生することができますが、URL ポリシーファイルで明示的な許可が与えられていない限り、リモートファイルのデータにアクセスできません。
オフライン再生に必要な DRM バウチャーをダウンロードおよびキャッシュする際に最初の手順として
DRM バウチャーをプリロードする手順には、次のものが含まれます。
メタデータをプリロードする新しい NetStream オブジェクトを作成します。
注意:メタデータのプリロードとコンテンツの再生の両方で同じ NetStream オブジェクトを使用するには、プリロード操作が生成する
ダウンロードされたバウチャーは、ローカルキャッシュに保存されます。オンラインでコンテンツを再生すると、バウチャーのダウンロードおよびキャッシュを行うことができます。DRM で保護されたコンテンツファイルが表示されると、キャッシュされたバウチャーはローカルストアから自動的に取得されます。DRMManager を使用すると、バウチャーキャッシュを管理します。
注意:HTTP、HTTPS または RTMP 接続を使用した DRM メタデータのプリロードはサポートされていません。ファイルシステム上に保存されたファイルからのみメタデータのプリロードは可能です。
次の表に示す形式でファイルを記録できます(
パブリッシュ中に、FLV または F4V 形式でファイルを記録できます。ファイルを F4V 形式で記録した場合は、分割・統合ツールを使用して編集するか、別のアプリケーションでファイルを再生する必要があります。ツールのダウンロード方法については、
注意:このメソッドを使用してストリームを再生しないでください。ストリームを再生するには、
ストリームをパブリッシュするためのワークフロー
注意: NetStream で可能なのはストリームのパブリッシュまたは再生のいずれかです。両方を行うことはできません。ストリームをパブリッシュしてサーバーから再生を表示するには、2 つの NetStream オブジェクトを作成します。複数の NetStream オブジェクトを 1 つの NetConnection オブジェクトに送信できます。
Flash Media Server では、ストリームの記録時にファイルが作成されます。デフォルトでは、
次の例では、同じアプリケーションの「monday」インスタンスに接続します。/applications/lectureseries/streams/monday ディレクトリに lecture.flv というファイルが記録されます。
この例を実行するには、コンピューターに接続されているカメラが必要です。さらに、Button コンポーネントと Label コンポーネントをライブラリに追加する必要があります。
アプリケーションには、アプリケーションが正常にサーバーに接続された場合にのみ、ストリームをパブリッシュする(Flash Media Server に送信する)ボタンがあります。アプリケーションは、ストリームが正常にパブリッシュされた場合にのみ、サーバーから配信されたそのストリームを再生します。
FPS パラメーターに値を渡してビデオのフレームレートを制限すると、Flash Media Server は、ビデオの完全性を維持する一方で、フレームを減らそうとします。2 つのキーフレームごとに、目的のレートを満たすために必要なフレームの最小数がサーバーから送信されます。I フレーム(または中間フレーム)を連続して送信する必要があります。そうしないと、ビデオは破損します。したがって、キーフレームに続いて、必要な数のフレームが直ちに連続的に送信されます。フレームは均等には配信されないので、待機により中断されたセグメントにおいてもモーションはスムーズに表示されます。
このメソッドを使用するのは、Flash Media Server から再生されるユニキャストストリームのみです。このメソッドは、RTMFP マルチキャストストリーム、または
アプリケーションで、保護されたコンテンツにユーザーがアクセスできる media rights server から必要なバウチャーを再ダウンロードする必要があります。この関数の呼び出しは、DRMManager オブジェクトの
通常、ビデオストリームは、キーフレーム(または I フレーム)と P フレームの 2 種類のフレームでエンコードされます。キーフレームにはイメージ全体が格納されています。一方、P フレームは、キーフレーム間の追加のビデオ情報を提供する中間フレームです。通常、ビデオストリームには 10 ~ 50 フレームごとにキーフレームがあります。
Flash Media Server には、強化されたシークとスマートシークなど、各種のシーク動作が用意されています。
強化されたシーク
強化されたシークは、デフォルトで有効になっています。強化されたシークを無効にするには、Flash Media Server で
強化されたシークが有効になっている場合、サーバーは前のキーフレームとすべての中間 P フレームに基づいて、
強化されたシークが無効になっている場合、サーバーは一番近いキーフレームからストリーミングを開始します。例えば、ビデオ内の 0 秒と 10 秒の時点にキーフレームがあるとします。4 秒に対してシークを実行すると、0 秒のキーフレームを使用して 4 秒から再生が開始されます。10 秒の位置にある次のキーフレームに到達するまで、ビデオはフリーズされたままになります。シークの操作性を向上するには、キーフレームの間隔を短くする必要があります。通常のシークモードでは、キーフレーム間の位置からビデオを開始することはできません。
スマートシーク
スマートシークを有効にするには、
スマートシークを使用すると、Flash Player で既存の巻き戻し用バッファーおよび早送り用バッファー内をシークできるようになります。スマートシークが無効になっている場合、
データ生成モードのシーク
データ生成モードの NetStream に対して
データキーフレームが追加される前のライブストリームにサブスクライブしているクライアントは、データキーフレームが追加されるとすぐにそのキーフレームを受信します。データキーフレームが追加された後のライブストリームにサブスクライブしているクライアントは、サブスクライブするときにキーフレームを受信します。
Flash Media Server に送信するライブストリームにメタデータのキーフレームを追加するには、次の例に示すように、
このメソッドは、データが Flash Media Server 3.5.3 以降からストリーミングされ、
このメソッドは、
部分信頼性をサポートしていないネットワークプロトコルでプロパティを FALSE に設定しようとすると、この試行は無視され、プロパティは TRUE に設定されます。
このプロパティは、データが Flash Media Server 3.5.3 以降のストリーミングの場合にのみ使用可能です。Flash Media Server について詳しくは、このクラスの説明を参照してください。
以前に表示されたデータをどれだけキャッシュするかを指定するには、
データがキャッシュされるのを防ぐために、
このプロパティは、Flash Media Server 3.5.3 以降でデータをストリーミングする場合にのみ使用できます。Flash Media Server について詳しくは、このクラスの説明を参照してください。
このプロパティを使用すると、既に表示されたデータをもう一度サーバーから取得することがないので、巻戻し操作のパフォーマンスが向上します。 その代わり、ストリームはバッファーから再生を開始します。再生中、データはバッファーがいっぱいになるまでストリーミングを続けます。
巻戻し位置がキャッシュ内のデータよりも前の場合、バッファーはフラッシュされ、データは要求された位置でサーバーからストリーミングを開始します。
このプロパティを使用するには、
再生の遅延の程度(
デフォルト値は 0.1(1/10 秒)です。バッファー内の現在の秒数を調べるには、
サーバーサイド再生リストを再生するには、
記録されているコンテンツ 記録されている(ライブではない)コンテンツをストリーミングするときにひずみが生じないようにするには、
ライブコンテンツ ライブコンテンツをストリーミングする場合は、
Flash Player 9.0.115.0 以降、Flash Player では、
1 回の一時停止の場合、
ヒント:例えば、コードで
一時停止の新しい動作の詳細については、
Flash Media Server。バッファーの動作は、パブリッシュするストリームまたはサブスクライブするストリームにバッファー時間が設定されているかどうかによって異なります。パブリッシュするストリームの場合、
サブスクライブするストリームの場合、
記録されたストリームを再生するときに、
このプロパティを
ロードしているビデオに対するピクセルレベルのアクセスが必要ない場合は、このプロパティを true に設定しないでください。ポリシーファイルを確認すると、ネットワーク帯域幅が消費されるため、ダウンロードの開始が遅れる場合があります。
どのような場合も、
サーバーサイド HTTP リダイレクトを使用する URL からファイルをダウンロードする場合は、
ポリシーファイルについて詳しくは、『ActionScript 3.0 開発ガイド』の「Web サイトのコントロール(ポリシーファイル)」および Flash Player デベロッパーセンターのトピック:
データがストリームを通るとき、または再生中、データイベントオブジェクト(この場合は
データがストリームを通るとき、または再生中、データイベントオブジェクト(この場合は
部分信頼性をサポートしていないネットワークプロトコルでプロパティを FALSE に設定しようとすると、この試行は無視され、プロパティは TRUE に設定されます。
Flash Media Server 3.5.3 および Flash Player 10.1 は連携してスマートシークをサポートします。スマートシークは、サーバー内のデータを要求せずに、巻き戻しと再生用のバッファーを使用します。標準のシークでは、バッファー済みのデータをフラッシュし、シーク時間に基づいて新しいデータを送信するようにサーバーに要求します。
スマートシークにより、サーバーの負荷が減少し、シークのパフォーマンスが向上します。
このプロパティは、主に Flash Media Server などのサーバーで使用することを目的としています。詳細については、クラスの説明を参照してください。
このプロパティの値を取得して、ストリームの転送品質を大まかに判断し、それをユーザーに伝えることができます。
この値を設定しない場合は、デフォルトの 60 秒または各一時停止の
この値を大きくすると、ピアーツーピアーメッシュ内の負荷バランスと公平性が向上しますが、利用可能な
このプロパティの値は、ローカルストリームかリモートストリームかによって異なります。
接続されていない場合にこのプロパティを読み取ろうとするか、このプロパティを変更しようとすると、アプリケーションにより例外がスローされます。
Flash Media Server サブスクライブするストリームの場合、ストリームを再生した秒数です。パブリッシュするストリームの場合、ストリームをパブリッシュした秒数です。この数値は、小数点以下 3 桁までの精度があります。この数値に 1000 を掛けると、ストリームを再生したミリ秒単位の時間数になります。
サブスクライブするストリームでは、サーバーがデータの送信を停止してもストリームが開いたままになっている場合、
再生リストの要素間でストリームを切り替えても、
部分信頼性をサポートしていないネットワークプロトコルでプロパティを FALSE に設定しようとすると、この試行は無視され、プロパティは TRUE に設定されます。
NetMonitor クラスを使用して、アプリケーションで使用中の NetStream オブジェクトの現在のリストを取得します。このクラスのインスタンスは、新しい NetStream オブジェクトが作成されるたびに、
NetMonitor クラスを使用すると、どのビデオプレーヤーを使用中であるかを問わず、ビデオ再生および関連するイベントを追跡できます。この機能はメディアの測定、分析および使用状況追跡ライブラリを実装する際に役立ちます。
例のビデオの一時停止と再開にはスペースバーを使用し、30 秒送りまたは 30 秒戻しには右向き矢印と左向き矢印を使用して、送出されたイベントに対するこれらの操作の影響を確認できます。
注意:NetStream 監視機能が現在のプラットフォームでサポートされていない場合、
NetStream オブジェクトのリストのキャッシュを回避します。
注意:NetStream 監視機能が現在のプラットフォームでサポートされていない場合、この関数によって返されるリストは常に空です。
記録されたストリーミングやプログレッシブダウンロードでは、システム CPU のリソースが十分でない場合、高品質または高解像度で高ビットレートのビデオの、1 秒あたりに必要なフレーム数をデコードする際に、デコーダの動作が遅くなることがあります。ライブストリーミングでは、待ち時間が長すぎる場合、バッファーはビデオフレームを脱落させます。このプロパティでは、脱落して正常には存在していないフレームの数を指定します。
注意:このプロパティは Android および Blackberry Tablet OS 上のブラウザー内の Flash Player、または iOS 上の AIR では、常に
注意:このプロパティは Android および Blackberry Tablet OS 上のブラウザー内の Flash Player、または iOS 上の AIR では、常に
注意:このプロパティは Android および Blackberry Tablet OS 上のブラウザー内の Flash Player、または iOS 上の AIR では、常に
注意:このプロパティは Android および Blackberry Tablet OS 上のブラウザー内の Flash Player、または iOS 上の AIR では、常に
メッセージサイズが最大転送単位(MTU)よりも小さい場合、この値はネットワークパケット消失率に対応します。
このプロパティは、RTMFP ストリームに対してのみ有効な値を返します。RTMP ストリームの場合、0 の値を返します。詳しくは、
注意:このプロパティは Android および Blackberry Tablet OS 上のブラウザー内の Flash Player、または iOS 上の AIR では、常に
URLStream の読み取り操作で、ブロッキングは発生しません。つまり、読み取るデータが十分にあるかどうかを
すべてのバイナリデータは、ビッグエンディアン形式がデフォルトのエンコーディングです。ビッグエンディアンでは、最上位バイトが最初になります。
URLStream クラスでダウンロードしている URL に適用されるセキュリティルールは、URLLoader オブジェクトに適用されるルールと同一です。ポリシーファイルは、必要に応じてダウンロードされます。ローカルファイルのセキュリティルールが適用され、必要に応じてセキュリティ警告が発生します。
例を実行するために、URLStreamExample.swf という名前のファイルを SWF ファイルと同じディレクトリに配置してください。
URLStream オブジェクトに
注意:ロード中のファイルに ASCII 文字以外の文字(英語以外の多くの言語に存在する)が含まれている場合は、ASCII のような非 Unicode 形式ではなく UTF-8 または UTF-16 エンコーディング形式でファイルを保存することをお勧めします。
ロード処理がすぐに失敗すると、エラーについて説明する IOError または SecurityError(ローカルファイルのセキュリティエラーを含む)例外がスローされます。その他に、URL ダウンロードでダウンロードが正常に開始した場合は
デフォルトで、呼び出し元の SWF ファイルおよびロードする URL は同じドメインに置かれている必要があります。例えば、www.adobe.com に置かれている SWF ファイルは www.adobe.com に置かれているソースからのみデータをロードできます。 異なるドメインからデータをロードするには、データをホストするサーバーに URL ポリシーファイルを配置します。
Flash Player では、一般的な予約ポートへは接続できません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
Flash Player では、SWF ファイルがこのメソッドを使用しないようにすることができます。そのためには、SWF コンテンツを含んでいる HTML ページに
Flash Player 10 以降および AIR 1.5 以降では、"multipart/form-data" などのマルチパート Content-Type にアップロードが含まれていると(アップロードが含まれているかどうかは POST ボディ内の "content-disposition" ヘッダーの "filename" パラメーターで示されます)、そのアップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
これらのルールは、アプリケーションサンドボックス内にない AIR コンテンツにも適用されます。ただし、Adobe AIR では、アプリケーションサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)は、これらのセキュリティ制限による制限を受けません。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:
AIR では、URLRequest オブジェクトを
返される値は -128 ~ 127 の範囲です。
返される値は -2147483648 ~ 2147483647 の範囲です。
注意:
返される値は -32768 ~ 32767 の範囲です。
返される値は 0 ~ 255 の範囲です。
返される値は 0 ~ 4294967295 の範囲です。
返される値は 0 ~ 65535 の範囲です。
共有オブジェクトを使用して次の操作を行います。
ローカル共有オブジェクトを作成するには、
アプリケーションを閉じると、共有オブジェクトが保存されます。つまり、ディスクに書き込まれます。また、
ローカルディスク領域についての考慮事項。 ローカル共有オブジェクトには、アプリケーションを設計する際に考慮が必要な、いくつかの制限があります。SWF ファイルでローカル共有オブジェクトの書き込みが許可されない場合があります。ローカル共有オブジェクトに格納されているデータが、わからないうちに削除される場合もあります。Flash Player のユーザーは、個々のドメインまたはすべてのドメインで使用できるディスク領域を管理できます。ユーザーが使用可能なディスク領域の量を減らすと、一部のローカル共有オブジェクトが削除される可能性があります。Flash Player のユーザーには、サードパーティードメイン(現在のブラウザーのアドレスバーにあるドメイン以外のドメイン)によるローカル共有オブジェクトの読み取りまたは書き込みを防止できるプライバシーコントロール機能もあります。
注意:リモートサーバーではなくローカルコンピューターに格納および実行される SWF ファイルは、常にサードパーティーの共有オブジェクトをディスクに書き込むことができます。サードパーティーの共有オブジェクトの詳細については、Flash Player のヘルプの「
ディスク領域の量とユーザーのプライバシーコントロールに関する失敗についてチェックすることをお勧めします。
SWF ファイルでローカル共有オブジェクトを作成または変更しようとする場合、SWF ファイルの幅が最低でも 215 ピクセル、高さが最低でも 138 ピクセルあることを確認してください。このサイズは、ダイアログボックス(ローカル共有オブジェクトの記憶域制限を増やすかどうかをユーザーに確認する)を表示するための最小の大きさです。SWF ファイルがこの大きさよりも小さく、記憶域制限を増やす必要がある場合、
リモート共有オブジェクト。 Flash Media Server では、アプリケーションに接続しているすべてのクライアントがリアルタイムで共有する、リモート共有オブジェクトを作成および使用できます。あるクライアントがリモート共有オブジェクトのプロパティを変更すると、接続しているすべてのクライアントのプロパティが変更されます。リモート共有オブジェクトを使用すると、例えば、マルチプレーヤーゲームのユーザーなどのクライアントを同期できます。
各リモート共有オブジェクトに
クライアント、サーバー、またはその両方のリモート共有オブジェクトを永続化できます。デフォルトでは、サイズが最大 100K の永続的なリモート共有オブジェクトがローカルに保存されます。大きなオブジェクトを保存しようとすると、ローカル記憶領域ダイアログボックスが表示されます。このダイアログボックスでは、ユーザーが共有オブジェクト用のローカル記憶域の使用を許可または拒否できます。ステージのサイズは必ず 215 × 138 ピクセル以上に設定してください。これは、ダイアログボックスを表示するために必要な最小サイズです。
ユーザーが「許可」をクリックすると、サーバーに共有オブジェクトが保存され、
Flash Media Server で使用されるリモート共有オブジェクトの場合、
リモート共有オブジェクトに対する操作を行う前に、
次の例は、
注意:サードパーティードメイン(現在のブラウザーのアドレスバーにあるドメイン以外のドメイン)の共有オブジェクトのディスクへの書き込みを許可していない場合でも、ローカルコンテンツでは、常にサードパーティードメインの共有オブジェクトをディスクに書き込むことができます。
このメソッドが
例えば、共有オブジェクトのサイズが、最初は小さくても最大 500 バイトまで大きくなると予想される場合には、
ユーザーがこのダイアログボックスに応答すると、このメソッドがもう一度呼び出されます。
~ % & \ ; : " ' , < > ? #
SWF ファイルが HTTPS 以外の接続で配信された場合、このパラメーターを
次の図に、
次のコードでは、返された共有オブジェクトの参照の変数への割り当て方法を示します。
注意:ユーザーがこのドメイン用のローカル記憶域を許可していない場合は、
名前のコンフリクトを避けるために、共有オブジェクトを作成している SWF ファイルの位置が考慮されます。例えば、www.myCompany.com/apps/stockwatcher.swf にある SWF ファイルが
共有オブジェクトへのアクセスを誤って制限してしまうのを避けるには、
このメソッドを使用するときは、次のセキュリティモデルを考慮してください。
ローカルファイル(ローカルにインストールされた SWF ファイルまたは EXE ファイル)として再生する SWF ファイルコンテンツをパブリッシュし、複数のローカル SWF ファイルから特定の共有オブジェクトにアクセスする必要があるとします。この状況では、ローカルファイルでは共有オブジェクトの保存に 2 つの異なる場所が使用されることがあるので注意してください。使用されるドメインは、共有オブジェクトを作成したローカルファイルに付与されるセキュリティ許可によって変わります。ローカルファイルには、次の 3 つの異なる許可レベルを設定できます。
ローカルファイルシステムへのアクセス権を持つローカルファイル(レベル 1 または 3)は、共有オブジェクトを 1 つの場所に格納します。ローカルファイルシステムへのアクセス権を持たないローカルファイル(レベル 2)は、共有オブジェクトを別の場所に格納します。
SWF ファイルがこのメソッドを使用しないようにするには、SWF コンテンツを含んでいる HTML ページに
詳細については、Flash Player デベロッパーセンターのトピック:
~ % & \ ; : " ' , > ? ? #
注意:ユーザーがこのドメイン用のローカル記憶域を許可していない場合は、永続性のローカルパスが指定されていても、オブジェクトはローカルに保存されません。詳細については、クラスの説明を参照してください。
次に示すように、リモート共有オブジェクトを作成するために
共有オブジェクトのローカルおよびリモートコピーを同期させるには、
現在のクライアントでのみ利用できる共有オブジェクトを作成するには、
注意:関数名には予約語を使用しないでください。例えば、
リモート共有オブジェクトの詳細については、
注意:
永続的なオブジェクトの場合は、共有オブジェクトの
注意:共有オブジェクトの
ローカル共有オブジェクトの属性を削除するには、
共有オブジェクトのプライベート値(オブジェクトの使用中にそのクライアントインスタンスでのみ利用でき、閉じるときにオブジェクトと共に保存されない値)を作成するには、
共有オブジェクトには次のデータが含まれます。
サーバーで使用されるリモート共有オブジェクトの場合、共有オブジェクトに接続しているすべてのクライアントが
ローカル共有オブジェクトとリモート共有オブジェクトのエンコードの違いを含む、オブジェクトエンコードの詳細については、
SWF ファイルで作成したすべての共有オブジェクトに対してではなく、オブジェクトごとにオブジェクトエンコードを設定するには、ローカル共有オブジェクトの
オブジェクトエンコードは、共有オブジェクトがローカルかリモートかによって、処理方法が異なります。
すべてのデータプロパティを順に確認することによって、共有オブジェクトのサイズが計算されます。オブジェクトが持つデータプロパティが多いほど、サイズの計算に時間がかかります。オブジェクトのサイズを調べる処理は非常に時間がかかる場合があるので、特に必要がない限り、このメソッドの使用は避けてください。
クライアントとサーバー間のトラフィック量を制限する場合に、このメソッドを使用します。例えば、クライアントとサーバー間の接続が比較的遅い場合は、
注意:
このモードを使用して、最初から再生リストを作成したり、切断された接続が回復した後に再生リストを再度作成することができます。新しい再生リストの場合、
この移行モードは、最初のストリームから直ちに再生を開始する
このモードでは、Flash Media Server は
このモードでは、再生中のストリームはフラッシュされ、
このモードは
このモードを使用するのは、切り換えるストリームが互いに無関係でコンテンツや長さが異なる場合です。 例えば、ユーザーの追跡調査およびコマーシャル視聴統計に基づいて、あるコマーシャルを別のコマーシャルに取り換える場合にこのモードを使用します。
あるストリームから、同じコンテンツの別のストリームに切り換えるには、代わりに
このモードは、同じコンテンツでビットレートまたは解像度が異なるストリームに切り替えるときに使用します。例えば、アプリケーションがストリームを再生リストに置くか、特定のビットレートで単一のストリームを再生しているときにこのモードを使用すると、利用できる帯域幅または CPU 能力がストリームが必要とするより高いか低いかを判断します。すると、アプリケーションはビットレートの高いまたは低いストリームに更新することができます。
このモードで、Flash Media Server は
再生リストがキューに置かれ、
あるストリームから、コンテンツの異なる別のストリームに切り換えるには、代わりに
コンテンツとデータを Flash Player および AIR にロードする際のセキュリティ情報については、以下を参照してください。
このクラスのコールバックメソッドを記述するには、クラスを拡張してサブクラスでコールバックメソッドを定義するか、
この例では、Video オブジェクトと NetStream オブジェクトを作成し、
connect()
.
アプリケーションが Flash Player 9 以前にリリースされたサーバーと通信する必要がある場合は、NetConnection オブジェクトの
次のコードでは、NetConnection オブジェクトを作成します。
var nc:NetConnection = new NetConnection();
Flash Media Server では、
一般的な予約ポートには接続できません。遮断されたポートの詳しいリストについては、『ActionScript 3.0 開発ガイド』の「ネットワーク API の制限」を参照してください。
このメソッドは、接続上で実行されているすべての NetStream オブジェクトを切断します。キューに未送信のデータはすべて破棄されます。(接続を閉じずにローカルまたはサーバーストリームを終了するには、
Flash Media Server では、クライアントからサーバーへの接続が不要になったときは
この接続タイプには次の制限があります。
同じ LAN 上のピアーのみが相互に検出できます。
Flash Player は、IP マルチキャストを使用してストリームを受信できますが、送信することはできません。
Flash Player および AIR はピアーツーピアーグループでストリームを送受信できますが、ピアーは、IP マルチキャストを使用して同じ LAN 上で検出されなければなりません。
このテクニックは 1 対 1 の通信には使用できません。
サーバーがインストールされているホストからファイルが提供されている場合は、
(Flash Player 10.1 または AIR 2 以降)ピアーツーピアーアプリケーションを作成するには、
次のセキュリティモデルを考慮してください。
ただし、Adobe AIR では、
セキュリティについて詳しくは、Adobe Flash Player デベロッパーセンターの「
トンネル接続ではない場合、またはネイティブ SSL 接続である場合、値は
HTTP 経由のトンネル接続である場合、値は
HTTPS 経由のトンネル接続である場合、値は"
プロキシサーバーを通じて CONNECT メソッドを使用するトンネル接続の場合、値は
デフォルト値は
オブジェクトのエンコードを(アプリケーション全体に対してではなく)個別に設定するには、NetConnection オブジェクトの
詳細については、
この値は、発行者接続とサブスクライバ接続で違いはありません。ピアー接続が存在するときにこの値を減らす場合は、その新しい値は新しい受信接続だけに影響します。既存の接続は中断されません。
すべての NetConnection インスタンスは一意の
他の Flash Player インスタンスまたは Adobe AIR インスタンスは、このクライアントとの新しい NetStream 接続の
バイナリデータにオブジェクトを書き込むかバイナリデータからオブジェクトを読み取るときに、データの直列化に使用される AMF(Action Message Format)のバージョンが
アプリケーションが Flash Player 9 以前にリリースされたサーバーと通信する必要がある場合は、このプロパティを理解することが重要です。次の 3 つのシナリオが可能です。
NetConnection インスタンスが接続されたら、その
サーバーへの接続に誤ったエンコーディングを使用した場合は、NetConnection オブジェクトにより
"best"
; if this value
is not changed, native SSL sockets are used by default, and a fallback
to other methods is used if necessary.
有効な値は、
ネイティブ SSL を使用するには、プロパティに
プロパティが
このプロパティは RTMP、RTMPS、または RTMPTを使用している場合にのみ適用できます。