CRIWARE Unity Plugin Manual
Last Updated: 2024-07-12
[CriMana]多语言播放
范例描述
概要
本范例演示视频的多语言播放。
多语言播放可以通过使用带有多个副音轨和字幕通道的数据来实现。
您可以使用屏幕右侧的按钮在副音轨和字幕频道之间切换。
在屏幕底部会显示与字幕通道相应的字幕内容。
场景描述
中间件
CRI Sofdec (CRI Mana)
范例
Basicサンプル
存储路径
/CRIWARE/SDK/unity/samples/UnityProject/Assets/Scenes/crimana/basic/
场景文件
Scene_08_Multilingual.unity
程序描述
设置从 CriManaMovieController.player 属性获取的 CriMana.Player 的副音轨和字幕通道。
关于副音轨
您可以使用 CriMana.Player.SetSubAudioTrack 指定副音轨。
但是,仅当视频停止时才能指定副音轨。
在范例代码中,视频在停止播放并指定副音轨后再次播放。
/* call Stop and wait until the player stops */
/* subaudio track can be changed when player-state is "Stop" */
player.Stop();
while
(
true
)
{
if
(player.status == CriMana.Player.Status.Stop)
break
;
yield
return
null;
}
/* set subaudio track and restart */
player.SetSubAudioTrack(track);
player.Start();
关于字幕的获取
可以通过使用 CriMana.Player.OnSubtitleChange 回调获取字幕信息。
字幕内容切换时回调事件会被调用。
/* add a listener to observe subtitle changes */
player.OnSubtitleChanged += UpdateSubtitle;
/* method called from player.OnSubtitleChange event */
void
UpdateSubtitle(
System
.IntPtr ptr)
{
text.text =
System
.Runtime.InteropServices.Marshal.PtrToStringAnsi(ptr);
}
获取字幕时,需要将作为回调参数传递的指针中的字幕信息转换为字符串。
在范例代码中,数据的字幕信息被以UTF-8编码转换。
在实际应用中,应该根据数据的字符代码将其适当地转换为字符串。
详细信息请参阅
带字幕视频
。
关于字幕通道
字幕通道可以通过 CriMana.Player.SetSubtitleChannel 指定。
注意指定通道的字幕会在下一次切换字幕时获取。
Copyright (c) CRI Middleware Co., Ltd. 1.8.10