パッケージflash.media
public class Video
継承Video Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Video クラスを使用すると、SWF ファイルに埋め込むことなく、ライブストリーミングビデオをアプリケーションで表示することができます。Camera.getCamera() メソッドを使用して、ライブビデオをキャプチャして再生できます。また、Video クラスを使用して、HTTP 経由またはローカルファイルシステムから Flash® Video (FLV) ファイルを再生することもできます。詳細については、NetConnection クラスと NetStream クラスを参照してください。

Flash Player 9 では、Sorenson または On2 VP6 コーデックでエンコーディングされた FLV ファイルのパブリッシュと再生をサポートし、アルファチャンネルもサポートしています。On2 VP6 ビデオコーデックは、古いテクノロジよりも少ない帯域幅を使用し、追加の非ブロックフィルタとリンギング除去フィルタを提供します。

表示リスト上の他の表示オブジェクトと同様に、Video オブジェクトの各種プロパティを制御できます。たとえば、x および y プロパティを使用してステージ上で Video オブジェクトを移動したり、height および width プロパティを使用してサイズを変更することもできます。

ビデオストリームを再生するには、.attachCamera() メソッドまたは .attachStream() メソッドを使用してビデオを Video オブジェクトに関連付け、addChild() を使用してその Video オブジェクトを表示リストに追加します。

  1. [ライブラリ] パネルを表示していない場合は、[ウィンドウ]-[ライブラリ] を選択して表示します。
  2. [ライブラリ] パネルのタイトルバーの右側にあるオプションメニューをクリックして [新規ビデオ] を選択し、埋め込み Video オブジェクトをライブラリに追加します。
  3. Video オブジェクトをステージにドラッグし、プロパティインスペクタを使用して一意のインスタンス名 (my_video など) を設定します。"Video" という名前にはしないでください。

メモ:Video クラスは InteractiveObject クラスのサブクラスではないため、マウスイベントを送出できません。ただし、Video オブジェクトを格納した表示オブジェクトコンテナの addEventListener() メソッドを使用できます。

例の表示

関連項目

flash.media.Camera.getCamera()
flash.net.NetConnection
flash.net.NetStream
表示アーキテクチャについて
ビデオの操作


パブリックプロパティ
 プロパティ定義
 InheritedaccessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
 Inheritedalpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
 InheritedblendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
 InheritedcacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  deblocking : int
事後処理中に、デコードされたビデオに適用されるフィルタのタイプを示します。
Video
 Inheritedfilters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
 Inheritedheight : Number
表示オブジェクトの高さを示します (ピクセル単位)。
DisplayObject
 InheritedloaderInfo : LoaderInfo
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
 Inheritedmask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
 InheritedmouseX : Number
マウス位置の x 座標を示します (ピクセル単位)。
DisplayObject
 InheritedmouseY : Number
マウス位置の y 座標を示します (ピクセル単位)。
DisplayObject
 Inheritedname : String
DisplayObject のインスタンス名を示します。
DisplayObject
 InheritedopaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
 Inheritedparent : DisplayObjectContainer
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedroot : DisplayObject
ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
 Inheritedrotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
 Inheritedscale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
 InheritedscaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
DisplayObject
 InheritedscaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
DisplayObject
 InheritedscrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界。
DisplayObject
  smoothing : Boolean
ビデオを拡大・縮小する際にスムージング (補間) するかどうかを指定します。
Video
 Inheritedstage : Stage
表示オブジェクトのステージ。
DisplayObject
 Inheritedtransform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
  videoHeight : int
[read-only] ビデオストリームの高さをピクセル単位で指定する整数です。
Video
  videoWidth : int
[read-only] ビデオストリームの幅をピクセル単位で指定する整数です。
Video
 Inheritedvisible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
 Inheritedwidth : Number
表示オブジェクトの幅を示します (ピクセル単位)。
DisplayObject
 Inheritedx : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
 Inheritedy : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
DisplayObject
パブリックメソッド
 メソッド定義
  Video(width:int = 320, height:int = 240)
新しい Video インスタンスを作成します。
Video
 InheritedaddEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
  attachCamera(camera:Camera):void
アプリケーションウィンドウ内の Video オブジェクトの境界内に表示するカメラからのビデオストリームを指定します。
Video
  attachNetStream(netStream:NetStream):void
アプリケーションウィンドウ内の Video オブジェクトの境界内に表示するビデオストリームを指定します。
Video
  clear():void
Video オブジェクトに現在表示されているイメージをクリアします。
Video
 InheriteddispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
EventDispatcher
 InheritedgetBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
DisplayObject
 InheritedgetRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
DisplayObject
 InheritedglobalToLocal(point:Point):Point
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
DisplayObject
 InheritedhasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedhitTestObject(obj:DisplayObject):Boolean
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
DisplayObject
 InheritedhitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedlocalToGlobal(point:Point):Point
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
DisplayObject
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedremoveEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
 InheritedwillTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
 Inheritedactivate Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。DisplayObject
 Inheritedadded 表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
 Inheriteddeactivate Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。DisplayObject
 InheritedenterFrame 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
 Inheritedremoved 表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
 Inheritedrender 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
プロパティの詳細
deblockingプロパティ
deblocking:int  [read-write]

事後処理中に、デコードされたビデオに適用されるフィルタのタイプを示します。デフォルト値の 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  [read-write]

ビデオを拡大・縮小する際にスムージング (補間) するかどうかを指定します。スムージングを行うには、Flash Player が高品質モードである必要があります。デフォルト値は false (スムージングなし) です。

実装
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
videoHeightプロパティ 
videoHeight:int  [read-only]

ビデオストリームの高さをピクセル単位で指定する整数です。ライブストリームの場合、この値はビデオストリームをキャプチャしている Camera オブジェクトの Camera.height プロパティと同じです。FLV ファイルの場合、この値は FLV として書き出されたファイルの高さになります。

このプロパティは、ステージ上の実際の Video オブジェクトのサイズとは関係なく、キャプチャしたのと同じサイズでユーザーに対してビデオを表示する場合などに使用します。

実装
    public function get videoHeight():int

関連項目

videoWidthプロパティ 
videoWidth:int  [read-only]

ビデオストリームの幅をピクセル単位で指定する整数です。ライブストリームの場合、この値はビデオストリームをキャプチャしている Camera オブジェクトの Camera.width プロパティと同じです。FLV ファイルの場合、この値は FLV ファイルとして書き出されたファイルの幅になります。

このプロパティは、ステージ上の実際の Video オブジェクトのサイズとは関係なく、キャプチャしたのと同じサイズでユーザーに対してビデオを表示する場合などに使用します。

実装
    public function get videoWidth():int

関連項目

コンストラクタの詳細
Video()コンストラクタ
public 関数 Video(width:int = 320, height:int = 240)

新しい Video インスタンスを作成します。width パラメータと height パラメータの値が指定されていない場合は、デフォルト値が使用されます。Video オブジェクトの初期構築後に、Video.widthVideo.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

アプリケーションウィンドウ内の Video オブジェクトの境界内に表示するカメラからのビデオストリームを指定します。

パラメータ
camera:Camera — ビデオデータをキャプチャする Camera オブジェクトです。Video オブジェクトへの接続を閉じるには、null を渡します。

関連項目

attachNetStream()メソッド 
public function attachNetStream(netStream:NetStream):void

アプリケーションウィンドウ内の Video オブジェクトの境界内に表示するビデオストリームを指定します。ビデオストリームは、NetStream.play() コマンドを使用して表示される FLV ファイル、Camera オブジェクト、または null のいずれかになります。netStream パラメータの値に null を指定すると、オブジェクト内でビデオが再生されなくなります。

FLV ファイルにオーディオしか含まれない場合は、このメソッドを使用する必要はありません。FLV ファイルのオーディオは、NetStream.play() メソッドが呼び出されると自動的に再生されます。FLV ファイルに関連付けられたオーディオを制御するには、NetStream オブジェクトの soundTransform プロパティを使用します。このオブジェクトは、FLV ファイルを再生します。

パラメータ
netStream:NetStream — NetStream オブジェクトです。Video オブジェクトへの接続を閉じるには、null を渡します。

関連項目

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

Video オブジェクトに現在表示されているイメージをクリアします。このメソッドは、Video オブジェクトを非表示にせずにスタンバイ情報を表示したい場合に便利です。

関連項目


次の例では、Video オブジェクトを、FLV ファイルをロードして再生する NetConnection クラスと NetStream クラスと一緒に使用して、FLV ファイルをロードおよび再生します。この例を実行するには、 このFLV ファイルは、videoURL に渡される変数と、ファイル名および場所が一致する必要があります。 この場合は、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 {
            var stream:NetStream = 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.
        }
    }
 }




 

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

現在のページ: http://livedocs.adobe.com/flex/2_jp/langref/flash/media/Video.html