-
Notifications
You must be signed in to change notification settings - Fork 5
Class.VideoOverlay
VideoOverlay クラスは、MPEG I や WMV、H.264、theora などを表示するため表示領域を作成するクラスです。吉里吉里のレイヤに表示を行うこともできます。
1.3.0以前は WMV/MPEG I を再生するときは、吉里吉里実行可能ファイルと同じ場所に、krmovie.dll が必要になります。
1.3.0以降は krmovie.dll が本体に統合されたため、別途添付する必要はなくなりました。theora を再生するには krdstheora.dll が必要になります。
レイヤでの再生を除き、オーバーレイによる再生では、VideoOverlay クラスの表示領域は、すべてのレイヤよりも手前に表示され、透過することはできません。
レイヤでの再生は、オーバーレイでの再生に比べ、再生時のプロセッサの負荷は高くなる傾向にあります。
- position
- frame
- loop
- width
- height
- left
- top
- visible
- fps
- numberOfFrame
- totalTime
- layer1
- layer2
- mode
- playRate
- segmentLoopStartFrame
- segmentLoopEndFrame
- periodEventFrame
- audioBalance
- audioVolume
- numberOfAudioStream
- enabledAudioStream
- mixingMovieAlpha
- mixingMovieBGColor
- contrastRangeMin
- contrastRangeMax
- contrastDefaultValue
- contrastStepSize
- contrast
- brightnessRangeMin
- brightnessRangeMax
- brightnessDefaultValue
- brightnessStepSize
- brightness
- hueRangeMin
- hueRangeMax
- hueDefaultValue
- hueStepSize
- hue
- saturationRangeMin
- saturationRangeMax
- saturationDefaultValue
- saturationStepSize
- saturation
- originalWidth
- originalHeight
- open
- play
- stop
- pause
- rewind
- prepare
- setSegmentLoop
- cancelSegmentLoop
- close
- setPeriodEvent
- cancelPeriodEvent
- setPos
- setSize
- setBounds
- selectAudioStream
- setMixingLayer
- resetMixingLayer
コンストラクタ
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
window |
|
このレイヤを保有することになるウィンドウ ( Window クラスの オブジェクト ) を指定します。 |
解説
VideoOverlay クラスのオブジェクトを構築します。
イベント
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
status |
|
ステータス文字列を表します。 以下のいずれかです。 "**unload**" : メディアが開かれてない "**ready**" : メディアの準備が完了している "**play**" : メディアは再生中である "**stop**" : メディアは停止中である "**pause**" : メディアは一時停止中である |
解説
このオブジェクトのステータスが変更されたときに発生します。
ready は、vomMFEVR モードの時のみ発生します。
イベント
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
type |
|
Periodイベントのタイプを表します。 以下のいずれかです。 **perLoop** : (通常の)ループの終端に達した **perSegLoop** : セグメントループの終端に達した **perPeriod** : setPeriodEvent メソッドで指定されたフレームに達した **perPrepare** : prepare メソッドによる再生準備が完了した |
解説
ループの終端や、 setPeriodEventによって指定されたフレームに達した場合、または prepare メソッドにより再生準備が完了した場合に呼び出されるメソッドです。
ループの終端や、 setPeriodEvent によって指定されたフレームに達した場合にこのイベントが呼ばれる時点では、再生状況によっては、すでに再生位置が指定された位置を超えている場合があります。現在の実際の再生位置を取得するには frame プロパティを参照してください。
関連: VideoOverlay.setPeriodEvent / VideoOverlay.prepare / VideoOverlay.frame
イベント
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
frame |
|
ビデオのフレーム番号 |
解説
ビデオフレームが更新された後に呼び出されるメソッドです。
引数であるframeは現在表示されているビデオフレームと完全に一致しているとは限りません。
レイヤ描画モード、ミキサーモード時のみ利用可能です。
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
storage |
|
指定されたメディアを開きます。 |
解説
指定されたメディアを開きます。
現バージョンで再生可能なのは MPEG I (拡張子 .mpeg または .mpg または .mpv)、WMVです。
ビデオのみの (オーディオとマルチプレクシングされていない) MPEG I ストリームの拡張子は .mpv にしてください。
メソッド
解説
メディアの再生を開始します。
メソッド
解説
メディアの再生を停止します。
メソッド
解説
メディアの再生を一時停止します。
メソッド
解説
メディアの再生位置を先頭に移動します。
メソッド
解説
メディアの1フレーム目を指定されているレイヤーに描画し、描画終了時にonPeriodイベントを発生させます。 prepareメソッド コール後の再生は、onPeriodイベントを待機してから行ってください。
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
comeFrame |
|
ループ移動先フレーム(ループの始端フレーム)。再生がgoFrameに達したとき、再生ヘッドはこのフレームに移動します。 |
goFrame |
|
ループ終点フレーム(ループの終端フレーム)。このフレームの1つ前のフレームの表示が終了した時、再生ヘッドはcomeFrameへ移動します。 |
解説
指定されたフレーム間でループ処理を行います。
ループ終端(goFrame)では、onPeriodイベントが発生します。
comeFrameのフレームにはムービーファイルにキーフレームを設定しておく必要があります。
設定されていない場合は、 ループ終点から始点へ移動時に指定されたフレームに最も近いキーフレームへ再生位置が移動することになります。
関連: VideoOverlay.cancelSegmentLoop / VideoOverlay.onPeriod / VideoOverlay.segmentLoopStartFrame / VideoOverlay.segmentLoopEndFrame
メソッド
解説
setSegmentLoopメソッドで指定したセグメント間ループを解除します。
関連: VideoOverlay.setSegmentLoop
メソッド
解説
メディアを閉じます。
メディアを再生するために確保されていたリソースなどもすべて解放します。
関連: VideoOverlay.setSegmentLoop
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
eventFrame |
|
onPeriodイベントを発生させるフレームを指定します。 |
解説
指定したフレームでonPeriodイベントを発生させます。
onPeriodイベントは、一度発生すると解除されます。再び発生させたい場合は再度このメソッドで設定してください。
関連: VideoOverlay.cancelPeriodEvent / VideoOverlay.onPeriod
メソッド
解説
setPeriodEventメソッドで設定したイベント発生を解除します。
関連: VideoOverlay.setPeriodEvent
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
left |
|
メディアを再生するための矩形領域の左端位置を指定します。 |
top |
|
メディアを再生するための矩形領域の上端位置を指定します。 |
解説
メディアを再生するための矩形領域の左上位置を指定します。
座標は、ウィンドウのクライアント ( レイヤを表示可能な領域 ) 内での座標で、ピクセル単位で 指定します。
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
width |
|
メディアを再生するための矩形領域の横幅を指定します。 |
height |
|
メディアを再生するための矩形領域の縦幅を指定します。 |
解説
メディアを再生するための矩形領域のサイズをピクセル単位で指定します。
現バージョンでは、レイヤ再生時にはこのメソッドを使用することはできません。
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
left |
|
メディアを再生するための矩形領域の左端位置を指定します。 |
top |
|
メディアを再生するための矩形領域の上端位置を指定します。 |
width |
|
メディアを再生するための矩形領域の横幅を指定します。 |
height |
|
メディアを再生するための矩形領域の縦幅を指定します。 |
解説
メディアを再生するための矩形領域の位置とサイズを指定します。
座標は、ウィンドウのクライアント ( レイヤを表示可能な領域 ) 内での座標で、ピクセル単位で 指定します。
現バージョンでは、レイヤ再生時にはこのメソッドで指定できるのは位置だけで、サイズは無視されます。
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
streamNumber |
|
音声ストリーム番号を指定します。 |
解説
指定した音声ストリーム番号を有効にします。
音声ストリームを複数含まないビデオでは使用できません。
関連: VideoOverlay.numberOfAudioStream / VideoOverlay.enabledAudioStream
メソッド
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
layer |
|
レイヤー |
解説
指定したレイヤーとビデオのミキシングを行います。
ミキシングはこのメソッドが呼び出された時のレイヤー画像と行われます。
レイヤー画像の更新を反映するには、再度このメソッドを呼び出す必要があります。
VideOverlay.OnFrameUpdate を使用して、
レイヤー画像が更新されたことを調べてこのメソッドを呼び出すようにすれば、自動的に更新が反映されるようになります。
onFrameUpdateで毎フレームこのメソッドを呼び出した場合、かなり負荷がかかりますのでそれは避けた方が良いです。
ミキサーモードでのみ利用可能です。
メソッド
解説
ビデオとレイヤーのミキシングを解除します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r/w
解説
メディアの再生位置を ms 単位で表します。値を設定することもできます。
関連: VideoOverlay.frame / VideoOverlay.totalTime
プロパティ / アクセス: r/w
解説
メディアの再生位置をフレーム単位で表します。値を設定することもできます。
関連: VideoOverlay.position / VideoOverlay.numberOfFrame
プロパティ / アクセス: r/w
解説
ループ再生の有効無効を表します。値を設定することもできます。
真ならばループ、偽ならば非ループです。
プロパティ / アクセス: r/w
解説
再生矩形の横幅を表します。値を設定することもできます。
このプロパティは、現バージョンではレイヤ再生時は使用できません(常にサイズはビデオのサイズと同じになります)。
関連: VideoOverlay.height / VideoOverlay.setSize
プロパティ / アクセス: r/w
解説
再生矩形の縦幅を表します。値を設定することもできます。
このプロパティは、現バージョンではレイヤ再生時は使用できません(常にサイズはビデオのサイズと同じになります)。
関連: VideoOverlay.width / VideoOverlay.setSize
プロパティ / アクセス: r/w
解説
再生矩形の左端位置を表します。値を設定することもできます。
関連: VideoOverlay.top / VideoOverlay.setPos
プロパティ / アクセス: r/w
解説
再生矩形の上端位置を表します。値を設定することもできます。
関連: VideoOverlay.left / VideoOverlay.setPos
プロパティ / アクセス: r/w
解説
再生領域が可視かどうかを指定します。値を設定することもできます。
真ならば可視、偽ならば不可視です。
プロパティ / アクセス: r
解説
フレームレート(フレーム/秒)を表します。
プロパティ / アクセス: r
解説
全フレーム数を表します。
プロパティ / アクセス: r
解説
合計時間をms単位で表します。
プロパティ / アクセス: r/w
解説
レイヤ描画モード時、描画するレイヤを表します。値を設定することもできます。
layer1 プロパティと layer2 プロパティを異なるレイヤに設定することにより、同時に2つのレイヤに同じ動画を表示させることができます。
プロパティ / アクセス: r/w
解説
レイヤ描画モード時、描画するレイヤを表します。値を設定することもできます。
プロパティ / アクセス: r/w
解説
オーバーレイモードであるか、レイヤ描画モードであるか、ミキサーモードであるかを表します。値を設定することもできます。
オーバーレイモードの場合は vomOverlay、レイヤ描画モードの場合は vomLayer 、ミキサーモードの場合は vomMixer、Media Foundation モードの場合は vomMFEVR となります。
vomMFEVR モードは 1.2.0 以降でのみ使用できます。
プロパティ / アクセス: r/w
解説
メディアの再生速度を設定します。
1.0 を指定すると通常の再生速度、0.5 では半分の再生速度、2では2倍の再生速度となります。
設定可能値はDirectShowのフィルタによって決まります。
参考 : 音声付のMPEGファイルの場合、0.0より大きい値から2.0までの値が設定可能です。音声なしのMPEGファイルの場合、0.0より大きい値からdoubleの範囲内(たぶん)で設定可能ですが、実際の再生速度は処理速度によって上限が決まります。
プロパティ / アクセス: r
解説
セグメントループの始端フレームです。
関連: VideoOverlay.setSegmentLoop / VideoOverlay.cancelSegmentLoop
プロパティ / アクセス: r
解説
セグメントループの始端フレームです。
関連: VideoOverlay.setSegmentLoop
プロパティ / アクセス: r/w
解説
periodイベントを発生させるフレームです。
未設定の場合は負の値となります。
プロパティ / アクセス: r/w
解説
パン (音像位置) を表します。値を設定することもできます。
音の聞こえる左右の位置を指定することができます。
-100000 ~ 0 ~ 100000 の数値で指定し、 -100000 が 完全に左、0 が中央、100000 が完全に右になります。
ステレオのソースを再生する場合は、パンは、左右どちらかのチャンネルを減衰させることで実現されます(0を指定すると両チャンネルが出力され、-100000を指定すると左チャンネルのみが出力される)。
プロパティ / アクセス: r/w
解説
再生する音量を表します。値を設定することもできます。
0 ~ 100000 の数値で指定し、 0 が完全ミュート、100000 が 100% の音量となります。
プロパティ / アクセス: r
解説
MPEGファイルのみで利用可能です。 オーディオストリーム数を取得できます。
関連: VideoOverlay.selectAudioStream / VideoOverlay.enabledAudioStream
プロパティ / アクセス: r
解説
MPEGファイルのみで利用可能です。 再生対象のオーディオストリーム番号を取得できます。 オーディオストリームが見付からない場合は-1を返します。
関連: VideoOverlay.selectAudioStream / VideoOverlay.numberOfAudioStream
プロパティ / アクセス: r/w
解説
0.0(完全に透明)~1.0(完全に不透明)の範囲でビデオの透明度を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r/w
解説
ビデオの背景色を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
コントラストの幅の最小値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
コントラストの幅の最大値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
コントラストの既定値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
contrastRangeMin から contrastRangeMax への有効な増分を表します。
この値の単位でコントラストを変更できます。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r/w
解説
ビデオのコントラストを表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
輝度の幅の最小値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
輝度の幅の最大値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
輝度の既定値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
brightnessRangeMin から brightnessRangeMax への有効な増分を表します。
この値の単位で輝度を変更できます。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r/w
解説
ビデオの輝度を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
色相の幅の最小値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
色相の幅の最大値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
色相の既定値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
hueRangeMin から hueRangeMax への有効な増分を表します。
この値の単位で色相を変更できます。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r/w
解説
ビデオの色相を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
彩度の幅の最小値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
彩度の幅の最大値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
彩度の既定値を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
saturationRangeMin から saturationRangeMax への有効な増分を表します。
この値の単位で彩度を変更できます。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r/w
解説
ビデオの彩度を表します。
ミキサーモードでのみ利用可能です。
プロパティ / アクセス: r
解説
格納されているビデオの幅です。
プロパティ / アクセス: r
解説
格納されているビデオの高さです。