パッケージ | flash.media |
クラス | public class Video |
継承 | Video DisplayObject EventDispatcher Object |
サブクラス | VideoPlayer |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 がミップマッピング最適化を使用します。
AIR 25 から、Android 用の新しいタグ disableMediaCodec
が app.xml に導入されました。このタグを true
に設定すると、メディアコーデックが無効になり、ビデオは OpenMax AL を使用してデコードされます。それ以外の場合、メディアコーデックは有効です。デフォルトでは、このタグの値は false
です。
表示リスト上の他の表示オブジェクトと同様に、Video オブジェクトの各種プロパティを制御できます。例えば、x
プロパティおよび y
プロパティを使用したステージ上での Video オブジェクトの移動、height
プロパティおよび width
プロパティを使用したサイズの変更などができます。
ビデオストリームを再生するには、attachCamera()
または attachNetStream()
を使用して、ビデオを Video オブジェクトに関連付けます。次に、addChild()
を使用して、Video オブジェクトを表示リストに追加します。
Flash Professional を使用する場合は、addChild()
を使用して追加するのではなく、次のようにステージに Video オブジェクトを配置することもできます。
- ライブラリパネルを表示していない場合は、ウィンドウ/ライブラリを選択して表示します。
- ライブラリパネルのタイトルバーの右側にある「オプション」メニューをクリックして「新規ビデオ」を選択し、埋め込み Video オブジェクトをライブラリに追加します。
- ビデオのプロパティダイアログボックスで、ライブラリで使用する埋め込み Video オブジェクトの名前を付け、「OK」をクリックします。
- Video オブジェクトをステージにドラッグし、プロパティインスペクターを使用して一意のインスタンス名(
my_video
など)を付けます。"Video" という名前にはしないでください。
デスクトップの AIR アプリケーションで、フルスクリーンモードでビデオを再生すると、節電機能とスクリーンセーバー機能は無効になります(オペレーティングシステムで許可されている場合)。
注意:Video クラスは InteractiveObject クラスのサブクラスではないため、マウスイベントを送出できません。ただし、Video オブジェクトを格納する表示オブジェクトコンテナで addEventListener()
メソッドを呼び出すことができます。
詳細
関連する API エレメント
attachNetStream()
flash.media.Camera.getCamera()
flash.net.NetConnection
flash.net.NetStream
flash.display.DisplayObjectContainer.addChild()
flash.display.Stage.addChild()
プロパティ | 定義元 | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。 | DisplayObject | ||
alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。 | DisplayObject | ||
blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。 | DisplayObject | ||
blendShader : Shader [書き込み専用]
前景と背景のブレンドに使用するシェーダーを設定します。 | DisplayObject | ||
cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash ランタイムにキャッシュされます。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
null 以外の場合、この Matrix オブジェクトは、cacheAsBitmap を true に設定したときの表示オブジェクトのレンダリング方法を定義します。 | DisplayObject | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
deblocking : int
事後処理中に、デコードされたビデオに適用されるフィルターのタイプを示します。 | Video | ||
filters : Array
表示オブジェクトに現在関連付けられている各フィルターオブジェクトが格納されているインデックス付きの配列です。 | DisplayObject | ||
height : Number
表示オブジェクトの高さを示します(ピクセル単位)。 | DisplayObject | ||
loaderInfo : LoaderInfo [読み取り専用]
この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | ||
mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | ||
metaData : Object
メタデータが PlaceObject4 タグによってこの DisplayObject のインスタンスと一緒に SWF ファイル内に保存されている場合に、DisplayObject インスタンスのメタデータオブジェクトを取得します。 | DisplayObject | ||
mouseX : Number [読み取り専用]
マウスまたはユーザー入力デバイスの x 軸の位置をピクセルで示します。 | DisplayObject | ||
mouseY : Number [読み取り専用]
マウスまたはユーザー入力デバイスの y 軸の位置をピクセルで示します。 | DisplayObject | ||
name : String
DisplayObject のインスタンス名を示します。 | DisplayObject | ||
opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | ||
parent : DisplayObjectContainer [読み取り専用]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | ||
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
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | ||
scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | ||
smoothing : Boolean
ビデオを拡大 / 縮小する際にスムージング(補間)するかどうかを指定します。 | Video | ||
stage : Stage [読み取り専用]
表示オブジェクトのステージです。 | DisplayObject | ||
transform : flash.geom: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 | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
deblocking | プロパティ |
deblocking:int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
事後処理中に、デコードされたビデオに適用されるフィルターのタイプを示します。デフォルト値の 0 に設定すると、ビデオコンプレッサは必要に応じて非ブロックフィルターを適用します。
ビデオの圧縮によって、好ましくない生成結果となる場合があります。deblocking
プロパティを使用して、ブロッキングと、On2 コーデックを使用して圧縮されたビデオのリンギングを低減するフィルターを設定できます。
ブロッキングとは、各ビデオフレームを構成するブロックの境界と境界の間に見られる不具合のことです。リンギングとは、ビデオイメージ内の要素の周囲が歪曲することです。
次の 2 つの非ブロックフィルターを使用できます。1 つは Sorenson コーデックにあり、もう 1 つは On2 VP6 コーデックにあります。さらに、On2 VP6 コーデックを使用する際にはリンギング除去フィルターを使用できます。フィルターを設定するには、次のいずれかの値を使用します。
- 0 - ビデオコンプレッサは必要に応じて非ブロックフィルターを適用します。
- 1 - 非ブロックフィルターを使用しません。
- 2 - Sorenson 非ブロックフィルターを使用します。
- 3 - On2 ビデオにのみ、On2 非ブロックフィルターを使用し、リンギング除去フィルターは使用しません。
- 4 - On2 ビデオにのみ、On2 非ブロックフィルターとリンギング除去フィルターを使用します。
- 5 - On2 ビデオにのみ、On2 非ブロックフィルターとパフォーマンスが向上した On2 リンギング除去フィルターを使用します。
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 Lite 4 |
ビデオを拡大 / 縮小する際にスムージング(補間)するかどうかを指定します。スムージングを行うには、ランタイムが高品質モード(デフォルト)である必要があります。デフォルト値は 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, Flash Lite 4 |
ビデオストリームの高さをピクセル単位で指定する整数です。ライブストリームの場合、この値はビデオストリームをキャプチャしている Camera オブジェクトの Camera.height
プロパティと同じです。録画済みビデオファイルの場合、この値はビデオの高さです。NetStream.Video.DimensionChange イベントは、録画済みビデオの場合に、この値が変更されると送出されます。
このプロパティは、ステージ上の実際の Video オブジェクトのサイズとは関係なく、キャプチャしたのと同じサイズでユーザーに対してビデオを表示する場合などに使用します。
実装
public function get videoHeight():int
関連する API エレメント
videoWidth | プロパティ |
videoWidth:int
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ビデオストリームの幅をピクセル単位で指定する整数です。ライブストリームの場合、この値はビデオストリームをキャプチャしている Camera オブジェクトの Camera.width
プロパティと同じです。録画済みビデオファイルの場合、この値はビデオの幅です。NetStream.Video.DimensionChange イベントは、録画済みビデオの場合に、この値が変更されると送出されます。
このプロパティは、ステージ上の実際の Video オブジェクトのサイズとは関係なく、キャプチャしたのと同じサイズでユーザーに対してビデオを表示する場合などに使用します。
実装
public function get videoWidth():int
関連する API エレメント
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 ) — ビデオの高さ(ピクセル単位)です。
|
例 ( この例の使用方法 )
var MyVideo:Video = new Video(); addChild(MyVideo); var MyNC:NetConnection = new NetConnection(); MyNC.connect(null); var MyNS:NetStream = new NetStream(MyNC); MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv"); MyVideo.attachNetStream(MyNS); //the clouds.flv video has metadata we're not using, so create //an error handler to ignore the message generated by the runtime //about the metadata MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); function asyncErrorHandler(event:AsyncErrorEvent):void { //ignore metadata error message }
attachCamera | () | メソッド |
public function attachCamera(camera:Camera):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
アプリケーション内の Video オブジェクトの境界内に表示するカメラからのビデオストリームを指定します。
このメソッドは、ユーザーがキャプチャしたライブビデオを Video オブジェクトに添付するために使用します。ライブビデオをキャプチャした同じコンピューターまたはデバイスで、ローカルにライブビデオを再生することも、Flash Media Server に送信し、サーバーを使用して、他のユーザーにストリームすることもできます。
注意:iOS AIR アプリケーションでは、アプリケーションが GPU レンダリングモードを使用している際にはカメラビデオは表示されません。
パラメーター
camera:Camera — ビデオデータをキャプチャする Camera オブジェクトです。Video オブジェクトへの接続を閉じるには、null を渡します。
|
関連する API エレメント
例
この例の使用方法
このメソッドの使用方法について詳しくは、Camera.getCamera() メソッドの例を参照してください。
attachNetStream | () | メソッド |
public function attachNetStream(netStream:NetStream):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
アプリケーション内の Video オブジェクトの境界内に表示するビデオストリームを指定します。ビデオストリームは、NetStream.play()
で再生されるビデオファイル、Camera オブジェクト、または null
です。ビデオファイルを使用する場合、ファイルはローカルファイルシステムまたは Flash Media Server に保存できます。netStream
引数の値に null
を指定すると、Video オブジェクト内でビデオが再生されなくなります。
ビデオファイルにオーディオしか含まれない場合、このメソッドを使用する必要はありません。ビデオファイルのオーディオ部分は、NetStream.play()
を呼び出すと自動的に再生されます。ビデオファイルに関連付けられたオーディオを制御するには、ビデオファイルを再生する NetStream オブジェクトの soundTransform
プロパティを使用します。
パラメーター
netStream:NetStream — NetStream オブジェクトです。Video オブジェクトへの接続を閉じるには、null を渡します。
|
関連する API エレメント
clear | () | メソッド |
public function clear():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Video オブジェクトに現在表示されているイメージ(ビデオストリームではない)をクリアします。このメソッドは、現在のイメージを処理する場合に便利です。例えば、最後のイメージをクリアしたり、Video オブジェクトを非表示にせずにスタンバイ情報を表示したりできます。
関連する API エレメント
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. } } }
Tue Jun 12 2018, 10:34 AM Z