CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
[CriMana]シーク再生

サンプル内容

概要

cri4u_samples_crimana_scene05_screenshot.png

シーク再生を行うサンプルです。ランタイムスクリプトを使って、任意の位置(フレーム単位)からムービ再生を行います。
Unity Editor上で配置したCriManaMovieControllerコンポーネントに対し、ユーザ操作に応じてランタイムスクリプトからシーク再生を 行っています。
画面上のスライダーを操作することで、指定した位置からムービ再生を開始します。

シーン情報


ミドルウェア CRI Sofdec (CRI Mana)
サンプル Basicサンプル
格納場所 /cri/unity/samples/UnityProject/Assets/Scenes/crimana/basic/
シーンファイル Scene_05_Seek.unity


プログラムの解説


ムービの任意の位置から再生をするようにシーク位置を指定して再生するサンプルプログラムです。
シーク位置の指定は、ランタイムスクリプトからCriManaMovieControllerコンポーネントのAPIを利用して行います。
このサンプルでは、コンポーネントの追加自体はUnity Editor上で事前に行っています。

シーク位置の指定について

シーク再生では、再生開始前に CriMana.Player::SetSeekPosition 関数を使用してフレーム番号を指定してから再生を行います。
ムービが再生中の場合、一度 CriMana.Player::Stop 関数、または CriMana.Player::StopForSeek 関数で再生停止要求を出してからシークを位置を指定して再生を開始します。


void Update() {
if (requestedSeek && movieController.player.status == CriMana.Player.Status.Stop) {
/* Seek the movie and start the playback. */
movieController.player.SetSeekPosition(seekFrameNumber);
movieController.player.Start();
requestedSeek = false;
}
}