| パッケージ | flash.media |
| クラス | public class Video |
| 継承 | Video DisplayObject EventDispatcher Object |
| サブクラス | VideoPlayer |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Flash Media Server で使用する場合、Video オブジェクトにより、ユーザーのコンピュータからサーバーにライブビデオを送信し、サーバーから他のユーザーにブロードキャストできるようになります。これらの機能を使用することで、単純なビデオプレーヤー、あるサーバーから別のサーバーへのマルチポイントパブリッシュ機能を持つビデオプレーヤー、ユーザーコミュニティ用のビデオ共有アプリケーションなどのメディアアプリケーションを開発できます。
Flash Player 9 では、Sorenson Spark または On2 VP6 コーデックでエンコーディングされた FLV ファイルのパブリッシュと再生をサポートし、アルファチャンネルもサポートしています。On2 VP6 ビデオコーデックは、古いテクノロジよりも少ない帯域幅を使用し、追加の非ブロックフィルタとリンギング除去フィルタを提供します。ビデオ再生の詳細については、flash.net.NetStream クラスを参照してください。
Flash Player 9.0.115.0 以降のバージョンでは、実行時レンダリングの品質とパフォーマンスを最適化するミップマッピングがサポートされます。ビデオ再生では、Video オブジェクトの smoothing プロパティを true に設定すると、Flash Player がミップマッピング最適化を使用します。
表示リスト上の他の表示オブジェクトと同様に、Video オブジェクトの各種プロパティを制御できます。例えば、x プロパティおよび y プロパティを使用したステージ上での Video オブジェクトの移動、height プロパティおよび width プロパティを使用したサイズの変更などができます。
ビデオストリームを再生するには、attachCamera() または attachNetStream() を使用して、ビデオを Video オブジェクトに関連付けます。次に、addChild() を使用して、Video オブジェクトを表示リストに追加します。
Flash オーサリングツールを使用する場合は、addChild() を使用して追加するのではなく、次のようにステージに Video オブジェクトを配置することもできます。
my_video など)を付けます。 "Video" という名前にはしないでください。
注意:Video クラスは InteractiveObject クラスのサブクラスではないため、マウスイベントを送出できません。ただし、Video オブジェクトを格納する表示オブジェクトコンテナで addEventListener() メソッドを呼び出すことができます。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties この表示オブジェクトの現在のアクセシビリティオプションです。 | DisplayObject | |
![]() | alpha : Number 指定されたオブジェクトのアルファ透明度値を示します。 | DisplayObject | |
![]() | blendMode : String 使用するブレンドモードを指定する BlendMode クラスの値です。 | DisplayObject | |
![]() | blendShader : Shader [書き込み専用] 前景と背景のブレンドに使用するシェーダを設定します。 | DisplayObject | |
![]() | cacheAsBitmap : Boolean true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player または Adobe AIR にキャッシュされます。 | DisplayObject | |
![]() | constructor : Object 指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| deblocking : int 事後処理中に、デコードされたビデオに適用されるフィルタのタイプを示します。 | Video | ||
![]() | filters : Array 表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。 | DisplayObject | |
![]() | height : Number 表示オブジェクトの高さを示します(ピクセル単位)。 | DisplayObject | |
![]() | loaderInfo : LoaderInfo [読み取り専用] この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | |
![]() | mask : DisplayObject 呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | |
![]() | mouseX : Number [読み取り専用] マウス位置の x 座標を示します(ピクセル単位)。 | DisplayObject | |
![]() | mouseY : Number [読み取り専用] マウス位置の y 座標を示します(ピクセル単位)。 | DisplayObject | |
![]() | name : String DisplayObject のインスタンス名を示します。 | DisplayObject | |
![]() | opaqueBackground : Object 表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | |
![]() | parent : DisplayObjectContainer [読み取り専用] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | |
![]() | prototype : Object [静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
![]() | root : DisplayObject [読み取り専用] 読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | |
![]() | rotation : Number DisplayObject インスタンスの元の位置からの回転角を度単位で示します。 | DisplayObject | |
![]() | rotationX : Number DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | rotationY : Number DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | rotationZ : Number DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | scale9Grid : Rectangle 現在有効な拡大 / 縮小グリッドです。 | DisplayObject | |
![]() | scaleX : Number 基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scaleY : Number オブジェクトの基準点から適用されるオブジェクトの垂直スケール(percentage)を示します。 | DisplayObject | |
![]() | scaleZ : Number オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scrollRect : Rectangle 表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | |
| smoothing : Boolean ビデオを拡大 / 縮小する際にスムージング(補間)するかどうかを指定します。 | Video | ||
![]() | stage : Stage [読み取り専用] 表示オブジェクトのステージです。 | DisplayObject | |
![]() | transform : Transform 表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。 | DisplayObject | |
| videoHeight : int [読み取り専用] ビデオストリームの高さをピクセル単位で指定する整数です。 | Video | ||
| videoWidth : int [読み取り専用] ビデオストリームの幅をピクセル単位で指定する整数です。 | Video | ||
![]() | visible : Boolean 表示オブジェクトが可視かどうかを示します。 | DisplayObject | |
![]() | width : Number 表示オブジェクトの幅を示します(ピクセル単位)。 | DisplayObject | |
![]() | x : Number 親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。 | DisplayObject | |
![]() | y : Number 親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。 | DisplayObject | |
![]() | z : Number 3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 | DisplayObject | |
| メソッド | 定義元 | ||
|---|---|---|---|
新しい Video インスタンスを作成します。 | Video | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
アプリケーション内の Video オブジェクトの境界内に表示するカメラからのビデオストリームを指定します。 | Video | ||
アプリケーション内の Video オブジェクトの境界内に表示するビデオストリームを指定します。 | Video | ||
Video オブジェクトに現在表示されているイメージ(ビデオストリームではない)をクリアします。 | Video | ||
![]() | イベントをイベントフローに送出します。 | EventDispatcher | |
![]() | targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | |
![]() | シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | |
![]() | point オブジェクトをステージ(グローバル)座標から表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | |
![]() | ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | |
![]() | EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() | オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() | 表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() | 表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() | Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() | 3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。 | DisplayObject | |
![]() | point オブジェクトを表示オブジェクトの(ローカル)座標からステージ(グローバル)座標に変換します。 | DisplayObject | |
![]() | 指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() | EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() | ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() | 指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() | 指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() | 指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| deblocking | プロパティ |
deblocking:int [読み書き可能] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
事後処理中に、デコードされたビデオに適用されるフィルタのタイプを示します。デフォルト値の 0 に設定すると、ビデオコンプレッサは必要に応じて非ブロックフィルタを適用します。
ビデオの圧縮によって、好ましくない生成結果となる場合があります。deblocking プロパティを使用して、ブロッキングと、On2 コーデックを使用して圧縮されたビデオのリンギングを低減するフィルタを設定できます。
ブロッキングとは、各ビデオフレームを構成するブロックの境界と境界の間に見られる不具合のことです。リンギングとは、ビデオイメージ内の要素の周囲が歪曲することです。
次の 2 つの非ブロックフィルタを使用できます。1 つは Sorenson コーデックにあり、もう 1 つは On2 VP6 コーデックにあります。さらに、On2 VP6 コーデックを使用する際にはリンギング除去フィルタを使用できます。フィルタを設定するには、次のいずれかの値を使用します。
Sorenson コーデックの使用時にビデオに 2 より大きい値を選択すると、Sorenson デコーダはデフォルトで 2 になります。
非ブロックフィルタを使用すると、全体的な再生のパフォーマンスに影響します。高帯域幅のビデオには、通常は必要ありません。非ブロックフィルタを有効にしたビデオは、処理能力の低いシステムでは再生が困難なことがあります。
public function get deblocking():int public function set deblocking(value:int):void| smoothing | プロパティ |
smoothing:Boolean [読み書き可能] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ビデオを拡大 / 縮小する際にスムージング(補間)するかどうかを指定します。スムージングを行うには、Flash Player が高品質モードである必要があります。デフォルト値は false(スムージングなし)です。
Flash Player 9.0.115.0 以降のバージョンを使用するビデオ再生では、このプロパティを true に設定して、ミップマッピングイメージ最適化を利用します。
public function get smoothing():Boolean public function set smoothing(value:Boolean):void関連項目
| videoHeight | プロパティ |
videoHeight:int [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ビデオストリームの高さをピクセル単位で指定する整数です。ライブストリームの場合、この値はビデオストリームをキャプチャしている Camera オブジェクトの Camera.height プロパティと同じです。FLV ファイルの場合、この値は FLV として書き出されたファイルの高さになります。
このプロパティは、ステージ上の実際の Video オブジェクトのサイズとは関係なく、キャプチャしたのと同じサイズでユーザーに対してビデオを表示する場合などに使用します。
public function get videoHeight():int関連項目
| videoWidth | プロパティ |
videoWidth:int [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ビデオストリームの幅をピクセル単位で指定する整数です。ライブストリームの場合、この値はビデオストリームをキャプチャしている Camera オブジェクトの Camera.width プロパティと同じです。FLV ファイルの場合、この値は FLV ファイルとして書き出されたファイルの幅になります。
このプロパティは、ステージ上の実際の Video オブジェクトのサイズとは関係なく、キャプチャしたのと同じサイズでユーザーに対してビデオを表示する場合などに使用します。
public function get videoWidth():int関連項目
| Video | () | コンストラクタ |
public function Video(width:int = 320, height:int = 240)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
新しい Video インスタンスを作成します。width パラメータと height パラメータの値が指定されていない場合は、デフォルト値が使用されます。Video オブジェクトの初期構築後に、Video.width と Video.height を使用して幅と高さのプロパティを設定することもできます。 新しい Video オブジェクトを作成する際に、幅または高さに 0 は設定できません。0 を渡すと、デフォルト値が適用されます。
Video オブジェクトの作成後、DisplayObjectContainer.addChild() メソッドまたは DisplayObjectContainer.addChildAt() メソッドを呼び出して、親 DisplayObjectContainer オブジェクトに Video オブジェクトを追加できます。
width:int (default = 320) — ビデオの幅(ピクセル単位)です。 | |
height:int (default = 240) — ビデオの高さ(ピクセル単位)です。 |
| attachCamera | () | メソッド |
public function attachCamera(camera:Camera):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
アプリケーション内の Video オブジェクトの境界内に表示するカメラからのビデオストリームを指定します。
このメソッドを使用して、ユーザーのコンピュータのライブビデオを Video オブジェクトに関連付けます。ライブビデオをキャプチャした同じコンピュータで、ローカルにライブビデオを再生することも、Flash Media Server に送信し、サーバーを使用して、他のユーザーにストリームすることもできます。
パラメータ
camera:Camera —
ビデオデータをキャプチャする Camera オブジェクトです。Video オブジェクトへの接続を閉じるには、null を渡します。
|
関連項目
| attachNetStream | () | メソッド |
public function attachNetStream(netStream:NetStream):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
アプリケーション内の Video オブジェクトの境界内に表示するビデオストリームを指定します。 ビデオストリームは、NetStream.play() で再生される FLV ファイル、Camera オブジェクトまたは null です。 FLV ファイルを使用する場合、ファイルはローカルファイルシステムまたは Flash Media Server に保存できます。 netStream 引数の値に null を指定すると、Video オブジェクト内でビデオが再生されなくなります。
FLV ファイルにオーディオしか含まれない場合は、このメソッドを使用する必要はありません。FLV ファイルのオーディオ部分は、NetStream.play() が呼び出されると自動的に再生されます。 FLV ファイルに関連付けられたオーディオを制御するには、FLV ファイルを再生する NetStream オブジェクトの soundTransform プロパティを使用します。
パラメータ
netStream:NetStream —
NetStream オブジェクトです。Video オブジェクトへの接続を閉じるには、null を渡します。
|
関連項目
| clear | () | メソッド |
public function clear():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
Video オブジェクトに現在表示されているイメージ(ビデオストリームではない)をクリアします。このメソッドは、現在のイメージを処理する場合に便利です。例えば、最後のイメージをクリアしたり、Video オブジェクトを非表示にせずにスタンバイ情報を表示したりできます。
関連項目
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.*;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
public class VideoExample extends Sprite {
private var videoURL:String = "Video.flv";
private var connection:NetConnection;
private var stream:NetStream;
public function VideoExample() {
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("Unable to locate video: " + videoURL);
break;
}
}
private function connectStream():void {
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
var video:Video = new Video();
video.attachNetStream(stream);
stream.play(videoURL);
addChild(video);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function asyncErrorHandler(event:AsyncErrorEvent):void {
// ignore AsyncErrorEvent events.
}
}
}