CRIWARE Unity Plugin Manual
Last Updated: 2024-07-12
[CriMana] 从CPK文件中播放
范例描述
概述
该范例播放一个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
;
}
Copyright (c) CRI Middleware Co., Ltd. 1.8.10