CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
[CriMana] 从CPK文件中播放

范例描述

概述

cri4u_samples_crimana_scene03_screenshot.png

该范例播放一个CPK文件(FileMajik PRO的打包文件)的视频。
有关视频播放的所有流程将于一个运行时脚本实施。

当该范例被执行时,视频播放不会立刻开始。
请使用以下步骤来开始播放。
  • (1) 点击Bind CPK File按钮来绑定CPK文件。
  • (2) 当绑定完成后,Bind CPK File按钮上的字符串开头将显示一个星号(*),接着Play按钮将在屏幕上显示。
  • (3) 点击Play按钮。视频将作为盒子上的纹理开始播放,然后Play按钮将变成Stop按钮。
  • (4) 如果你在播放途中点击Stop按钮,视频将被停止。
  • (5) 如果你点击Reset按钮,范例将返回绑定CPK文件前的初始状态。

场景信息


中间件 CRI Sofdec (CRI Mana)
范例 Basic samples(基础范例)
存储路径 /CRIWARE/SDK/unity/samples/UnityProject/Assets/Scenes/crimana/basic/
场景文件 Scene_03_PlaybackCpk.unity


程序描述

该范例程序使用运行时脚本来播放一个CPK文件中的视频。
并不会在Unity Editor中设置CriManaMovieController组件,所有视频播放相关的流程将在脚本中处理。
绑定一个CPK文件以及如何开始/停止视频播放均在Scenes/Scene_03_PlaybackCpk脚本中描述。

绑定CPK文件

绑定一个CPK文件的方式与FileMajik PRO的范例程序所用的方式相同。因此,绑定描述将在这里忽略。 如需了解详情,请查看FileMajik PRO的范例 ( " [CriFs] 加载一个CPK文件 (打包文件) ")。
该范例使用一个协同程序来绑定。如果你不想使用协同程序,你也可以使用FileMajik PRO的状态轮询。 你可以在FileMajik PRO的范例( " [CriFs] 加载文件 ")中查看这两种方法。

添加一个CriManaMovieController组件

该范例在脚本中将CriManaMovieController组件添加至一个游戏对象。

moviePlayer = movieObject.AddComponent<CriManaMovieController>();

指定绑定器以及文件名称

在播放视频前,你必须指定绑定CPK文件的绑定器,以及CPK文件中内容文件的名称。
请注意不是CPK文件的内容文件,而是打包于CPK文件中的内容文件。

/* 设定Binder和文件名 */
moviePlayer.player.SetFile(binder, movieFilename);
/* 开始播放 */
moviePlayer.player.Start();

停止播放

CriManaMovieController组件中的播放停止函数仅发送停止播放的请求。当CriManaMovieController组件的回放状态变为"Stop"时,播放才会真正停止。
如避免因等待播放停止而减缓速度,该范例周期性地查看播放状态,而非在本地循环中等待。
当状态变成"Stop"时,CriManaMovieController组件将被销毁。

switch (this.moviePlayer.player.status) {
case CriMana.Player.Status.Playing:
/* Stop按钮的流程 */
if (Scene_00_GUI.Button("Stop")) {
moviePlayer.player.Stop();
}
break;
case CriMana.Player.Status.PlayEnd:
/* 即使播放结束同样执行停止 */
moviePlayer.player.Stop();
break;
case CriMana.Player.Status.Stop:
/* 销毁 CriManaMovieController */
Destroy(moviePlayer);
break;
}