ムービーグラフィックの動画の再生を開始する
PlayMovieToGraph GraphHandle
int GraphHandle : ムービーグラフィックハンドル
(プラグイン / モジュール : DxLibW)
LoadGraph 関数で取得したムービーグラフィックハンドルが
持っているムービーファイルの再生を開始します。
ムービーグラフィックについては LoadGraph 関数の説明書きを
参照して下さい。
ムービーグラフィックハンドルによるムービーの再生
百聞は一見にしかず、まず次のプログラムを見てください。
int MovieGraphHandle ;
MovieGraphHandle = LoadGraph( "??.mpg" ) ;
PlayMovieToGraph( MovieGraphHandle ) ;
while( ProcessMessage() == 0 )
{
DrawGraph( 0 , 0 , MovieGraphHandle , FALSE ) ;
WaitTimer( 10 ) ;
}
このプログラムを実行すると ??.mpg という動画ファイルを
再生し、画面に表示します。
まず LoadGraph 関数で動画ファイルをロードし、その
ムービーを示すムービーグラフィックハンドルを変数 MovieGraphHandle に
保存します、そして次の行の PlayMovieToGraph 関数でロードした
ムービーを再生状態にします。
次が肝です、1ループごとに DrawGraph 関数で MovieGraphHandle
変数の示すムービーを描画し、その後10ミリ秒停止しています。
この DrawGraph 関数では何が描画されるかといいますとずばり
ムービー映像が描画されます。
つまり、画像ファイルをロードして得ることが出来るグラフィック
ハンドルでは決まったグラフィックが常に描画されるわけですが、
ムービーグラフィックハンドルの場合は描画されるグラフィックが
ムービーファイルのデータに応じて次々に変更されるということです。
説明がわかりにくいので次のサンプルプログラムを見てイメージを
つかんでください。
ちなみに動画の再生のみを行う場合は PlayMovie 関数を使用すること
をお勧めします。こちらのほうがムービー再生のみであれば低負荷、
高画質で処理することが出来るからです。
<<注意>>
動画の再生処理は非同期で行われますので、
この関数から出てきた時点で動画の再生が確実に開始されていることや、
動画の再生が GetNowCount で取得できる時刻通りに正確に行われ続ける保証はありません。
なのでもし動画の映像に合わせて何かを行う処理をする場合は TellMovieToGraph
を使用して動画の再生時間に合わせて処理を行う必要があります。
<<余談>>
ムービーの『ロード』といっていますが、動画ファイルは容量が
大きいので、実際にはメモリにすべてロードしているわけではありません。
正しくはムービーの『オープン』です。
戻り値:
0:成功
| プラグイン / モジュール | DxLibW |
| バージョン | 3.24f |
| 作成日 | 2026/04/12 |
| 著作者 | DxLib: Takumi Yamada / HSP binding: IronHSP Project |
| URL | https://dxlib.xsrv.jp/ |
| 備考 | hspdxlib.as をインクルードして使用 |
| タイプ | DxLib ゲームライブラリ |
| グループ | DxLib その他 |
| 対応環境 |
|
| hs ファイル | hsphelp\hspdxlib.hs |