CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
CriAtomExAcb类 参考

ACB、AWB数据 更多...

继承自 CriDisposable .

Public 成员函数

override void Dispose ()
 卸载ACB文件 更多...
 
bool Exists (string cueName)
 Cue存在确认(指定Cue名) 更多...
 
bool Exists (int cueId)
 Cue的存在确认(指定Cue ID) 更多...
 
bool GetCueInfo (string cueName, out CriAtomEx.CueInfo info)
 获取Cue信息(指定Cue名) 更多...
 
bool GetCueInfo (int cueId, out CriAtomEx.CueInfo info)
 获取Cue信息(指定Cue ID) 更多...
 
bool GetCueInfoByIndex (int index, out CriAtomEx.CueInfo info)
 获取Cue信息(指定Cue索引) 更多...
 
CriAtomEx.CueInfo[] GetCueInfoList ()
 获取所有Cue信息 更多...
 
bool GetWaveFormInfo (string cueName, out CriAtomEx.WaveformInfo info)
 获取音频波形信息(指定Cue名) 更多...
 
bool GetWaveFormInfo (int cueId, out CriAtomEx.WaveformInfo info)
 获取音频波形信息(指定Cue ID) 更多...
 
int GetNumCuePlaying (string name)
 获取设置了Cue限数的Cue的发声数(指定Cue名) 更多...
 
int GetNumCuePlaying (int id)
 获取设置了Cue限数的Cue的发声数(指定Cue ID) 更多...
 
int GetBlockIndex (string cueName, string blockName)
 获取块索引(指定Cue名) 更多...
 
int GetBlockIndex (int cueId, string blockName)
 获取块索引(指定Cue ID) 更多...
 
int GetNumUsableAisacControls (string cueName)
 获取可以用Cue控制的AISAC Control的数量(指定Cue名) 更多...
 
int GetNumUsableAisacControls (int cueId)
 获取可以用Cue控制的AISAC Control的数量(指定Cue ID) 更多...
 
bool GetUsableAisacControl (string cueName, int index, out CriAtomEx.AisacControlInfo info)
 获取可以用Cue控制的AISAC Control(指定Cue名) 更多...
 
bool GetUsableAisacControl (int cueId, int index, out CriAtomEx.AisacControlInfo info)
 获取可以用Cue控制的AISAC Control(指定Cue ID) 更多...
 
void ResetCueTypeState (string cueName)
 Cue类型状态的重置(指定Cue名) 更多...
 
void ResetCueTypeState (int cueId)
 Cue类型状态的重置(指定Cue ID) 更多...
 
void AttachAwbFile (CriFsBinder awb_binder, string awb_path, string awb_name)
 添加串流用AWB文件 更多...
 
void DetachAwbFile (string awb_name)
 切断串流用AWB文件 更多...
 
bool IsReadyToRelease ()
 获取ACB句柄立即释放状态 更多...
 

静态 Public 成员函数

static CriAtomExAcb LoadAcbFile (CriFsBinder binder, string acbPath, string awbPath)
 加载ACB文件 更多...
 
static CriAtomExAcb LoadAcbData (byte[] acbData, CriFsBinder awbBinder, string awbPath)
 加载ACB数据 更多...
 
static CriAtomExAcb LoadAcbData (IntPtr acbData, int dataSize, CriFsBinder awbBinder, string awbPath)
 加载ACB数据 更多...
 

详细描述

ACB、AWB数据

说明:
用于管理Cue信息的类。
获取ACB、AWB文件的加载、卸载和Cue信息等。

成员函数说明

static CriAtomExAcb LoadAcbFile ( CriFsBinder  binder,
string  acbPath,
string  awbPath 
)
inlinestatic

加载ACB文件

参数
binderBinder对象
acbPathACB文件的路径
awbPathAWB文件的路径
返回
CriAtomExAcb对象
说明:
加载ACB文件,读取Cue播放所需的信息。

为第2参数的 acbPath 指定内存播放用的ACB文件路径, 为第3参数的 awbPath 指定串流播放用的AWB文件路径。
(加载只有内存播放的ACB数据时, awbPath 中设置的值被忽略。)

将ACB文件和AWB文件打包为一个CPK文件时, 需要为第1参数( binder )指定Bind了CPK文件的CriFsBinder对象。

加载ACB文件后,将返回用于存取ACB数据的CriAtomExAcb对象 ( CriWare.CriAtomExAcb )。
对于AtomExPlayer,通过用 CriWare.CriAtomExPlayer::SetCue 函数指定ACB句柄, 以及要播放的Cue名, 可以播放ACB文件内的Cue。

如果因读取错误等,造成ACB文件加载失败时, 本函数将返回 null,将其作为返回值。
注意:
执行本函数前,需要事先对程序库进行初始化。

ACB句柄会在内部取得Binder( CriFsBinder )。
要加载ACB文件时, 需要对库进行初始化,以便Binder数能够满足ACB文件数。

本函数是完成返回型函数。
在不同的平台上,加载ACB文件所需的时间也会不同。
在游戏循环等需要更新画面时,如果执行本函数, 可能会以毫秒单位将处理阻断,导致发生丢帧。
要加载ACB文件时,请在场景切换等 能承受负荷变动的时候进行操作。
参见
CriAtomExPlayer::SetCue
static CriAtomExAcb LoadAcbData ( byte[]  acbData,
CriFsBinder  awbBinder,
string  awbPath 
)
inlinestatic

加载ACB数据

参数
acbDataACB数据的字节数组
awbBinderAWB用Binder对象
awbPathAWB文件的路径
返回
CriAtomExAcb对象
说明:
加载内存上配置的ACB数据,获取Cue播放所需的信息。

请为第2参数的 awbPath 分别指定串流播放用的AWB文件的路径。
(加载只有内存播放的ACB数据时, awbPath 中设置的值被忽略。)

将AWB文件打包为CPK文件时, 需要为第2参数( binder )指定Bind了CPK文件的CriFsBinder对象。

加载ACB数据后,将返回用于存取ACB数据的CriAtomExAcb对象 ( CriWare.CriAtomExAcb )。
对于AtomExPlayer,通过用 CriWare.CriAtomExPlayer::SetCue 函数指定ACB句柄, 以及要播放的Cue名, 可以播放ACB文件内的Cue。

如果因读取错误等,造成ACB文件加载失败时, 本函数将返回 null,将其作为返回值。
注意:
执行本函数前,需要事先对程序库进行初始化。

ACB句柄会在内部取得Binder( CriFsBinder )。
要加载ACB文件时, 需要对库进行初始化,以便Binder数能够满足ACB文件数。

本函数是完成返回型函数。
在不同的平台上,加载ACB文件所需的时间也会不同。
在游戏循环等需要更新画面时,如果执行本函数, 可能会以毫秒单位将处理阻断,导致发生丢帧。
要加载ACB文件时,请在场景切换等 能承受负荷变动的时候进行操作。
参见
CriAtomExPlayer::SetCue
static CriAtomExAcb LoadAcbData ( IntPtr  acbData,
int  dataSize,
CriFsBinder  awbBinder,
string  awbPath 
)
inlinestatic

加载ACB数据

参数
acbData指向被固定的 ACB 数据的指针
dataSizeACB 的数据大小
awbBinderAWB用Binder对象
awbPathAWB文件的路径
返回
CriAtomExAcb对象
说明:
加载配置在内存中的ACB数据,,读取Cue播放所需的信息。

第2参数的 awbPath 应指定用于串流播放用的AWB文件路径。
(加载用于内存播放的ACB数据时,awbPath 中设置的值会被忽略。)

如果AWB文件被打包在CPK文件中,则需要为第2参数(binder)指定绑定了CPK文件的CriFsBinder对象。

加载ACB文件后,将返回用于访问ACB数据的CriAtomExAcb对象( CriWare.CriAtomExAcb )。
对于AtomExPlayer,通过使用 CriWare.CriAtomExPlayer::SetCue 函数指定ACB句柄和要播放的Cue名, 可以播放ACB文件内的Cue。

如果因读取错误等,造成ACB文件加载失败, 本函数将返回 null。
注意:
执行本函数前,需要事先对程序库进行初始化。

ACB句柄会在内部取得Binder( CriFsBinder )。
要加载ACB文件时, 需要对库进行初始化,以便Binder数能够满足ACB文件数。

本函数是完成返回型函数。
在不同的平台上,加载ACB文件所需的时间也会不同。
在游戏循环等需要更新画面时,如果执行本函数, 可能会以毫秒单位将处理阻断,导致发生丢帧。
要加载ACB文件时,请在场景切换等 能承受负荷变动的时候进行操作。
备注:
该方法用于指定非托管内存区域中的数据,
故对 acbData 必须指定内存地址固定的数据的指针。
使用托管内存中的字节数组时,请使用 CriAtomExAcb.LoadAcbData(byte[], CriFsBinder, string)
参见
CriAtomExPlayer::SetCue
override void Dispose ( )
inline

卸载ACB文件

说明:
卸载已加载的ACB文件。
备注:
执行本函数后, 参照要卸载的ACB文件的Cue将会全部停止。
(执行本函数后,ACB句柄创建时使用的工作区以及 ACB数据所在的区域将不会被参照。)
注意:
执行本函数后,将会在程序库内执行搜索处理,检查是否有参照了 想要丢弃的ACB数据的AtomPlayer。
因此,如果在本函数执行过程中在其他线程创建/丢弃了AtomPlayer, 则可能会引起存取错误或死锁等异常。
参见
CriAtomExAcb::LoadAcbData, CriAtomExAcb::LoadAcbFile
bool Exists ( string  cueName)
inline

Cue存在确认(指定Cue名)

参数
cueNameCue名
返回
Cue是否存在(已存在:True,不存在:False)
说明:
获取所指定的名称的Cue是否存在。
存在时返回True。
bool Exists ( int  cueId)
inline

Cue的存在确认(指定Cue ID)

参数
cueIdCue ID
返回
Cue是否存在(已存在:True,不存在:False)
说明:
获取所指定的ID的Cue是否存在。
存在时返回True。
bool GetCueInfo ( string  cueName,
out CriAtomEx.CueInfo  info 
)
inline

获取Cue信息(指定Cue名)

参数
cueNameCue名
infoCue信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue名,获取Cue信息。
如果指定的名称的Cue不存在,则将会返回False。
参见
CriAtomExAcb::GetCueInfoByIndex
bool GetCueInfo ( int  cueId,
out CriAtomEx.CueInfo  info 
)
inline

获取Cue信息(指定Cue ID)

参数
cueIdCue ID
infoCue信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue ID,获取Cue信息。
如果指定的ID的Cue不存在,则将会返回False。
参见
CriAtomExAcb::GetCueInfoByIndex
bool GetCueInfoByIndex ( int  index,
out CriAtomEx.CueInfo  info 
)
inline

获取Cue信息(指定Cue索引)

参数
indexCue索引
infoCue信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue索引,获取Cue信息。
如果指定的索引的Cue不存在,将会返回False。
参见
CriAtomExAcb::GetCueInfo
CriAtomEx.CueInfo [] GetCueInfoList ( )
inline

获取所有Cue信息

返回
Cue信息数组
说明:
获取ACB中包含的所有Cue的信息。
参见
CriAtomExAcb::GetCueInfo
bool GetWaveFormInfo ( string  cueName,
out CriAtomEx.WaveformInfo  info 
)
inline

获取音频波形信息(指定Cue名)

参数
cueNameCue名
info音频波形信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue名,获取用该Cue播放的音频波形的信息。
如果用该Cue播放的音频有多个, 则将会获取第一个的音轨的第一个播放音频波形的信息。
如果指定的名称的Cue不存在,则将会返回false。
bool GetWaveFormInfo ( int  cueId,
out CriAtomEx.WaveformInfo  info 
)
inline

获取音频波形信息(指定Cue ID)

参数
cueIdCue ID
info音频波形信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue ID,获取用该Cue播放的音频波形的信息。
如果用该Cue播放的音频有多个, 则将会获取第一个的音轨的第一个播放音频波形的信息。 如果指定的ID的Cue不存在,则将会返回False。
int GetNumCuePlaying ( string  name)
inline

获取设置了Cue限数的Cue的发声数(指定Cue名)

参数
nameCue名
返回
发声数(如果指定了未设置Cue限数的Cue,则将会返回-1)
说明:
指定Cue名,获取设置了Cue限数的Cue的发声数。
如果指定的名称的Cue不存在,或者指定了未设置Cue限数的Cue,则将会返回-1。
int GetNumCuePlaying ( int  id)
inline

获取设置了Cue限数的Cue的发声数(指定Cue ID)

参数
idCue ID
返回
发声数(如果指定了未设置Cue限数的Cue,则将会返回-1)
说明:
指定Cue ID,获取设置了Cue限数的Cue的发声数。
如果指定的ID的Cue不存在,或者指定了未设置Cue限数的Cue,则将会返回-1。
int GetBlockIndex ( string  cueName,
string  blockName 
)
inline

获取块索引(指定Cue名)

参数
cueNameCue名
blockName块名
返回
块索引
说明:
从Cue名和块名获取块索引。
如果指定的名称的Cue不存在时或块名不存在, 则将会返回0xFFFFFFFF。
int GetBlockIndex ( int  cueId,
string  blockName 
)
inline

获取块索引(指定Cue ID)

参数
cueIdCue ID
blockName块名
返回
块索引
说明:
从Cue ID和块名获取块索引。
如果指定的ID的Cue不存在,或者块名不存在, 则将会返回0xFFFFFFFF。
int GetNumUsableAisacControls ( string  cueName)
inline

获取可以用Cue控制的AISAC Control的数量(指定Cue名)

参数
cueNameCue名
返回
AISAC Control的数量
说明:
指定Cue名,获取可以用Cue控制的AISAC Control的数量。
如果指定的名称的Cue不存在,将会返回-1。
参见
CriAtomExAcb::GetUsableAisacControl
int GetNumUsableAisacControls ( int  cueId)
inline

获取可以用Cue控制的AISAC Control的数量(指定Cue ID)

参数
cueIdCue ID
返回
AISAC Control的数量
说明:
指定Cue ID,获取可以用Cue控制的AISAC Control的数量。
如果指定的ID的Cue不存在,将会返回-1。
参见
CriAtomExAcb::GetUsableAisacControl
bool GetUsableAisacControl ( string  cueName,
int  index,
out CriAtomEx.AisacControlInfo  info 
)
inline

获取可以用Cue控制的AISAC Control(指定Cue名)

参数
cueNameCue名
indexAISAC Control索引
infoAISAC Control信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue名和AISAC Control索引,获取AISAC Control信息。
如果指定的名称的Cue不存在,将会返回False。
参见
CriAtomExAcb::GetNumUsableAisacControls
bool GetUsableAisacControl ( int  cueId,
int  index,
out CriAtomEx.AisacControlInfo  info 
)
inline

获取可以用Cue控制的AISAC Control(指定Cue ID)

参数
cueIdCue ID
indexAISAC Control索引
infoAISAC Control信息
返回
获取是否成功(成功:True,失败:False)
说明:
指定Cue ID和AISAC Control索引,获取AISAC Control信息。
如果指定的ID的Cue不存在,将会返回False。
参见
CriAtomExAcb::GetNumUsableAisacControls
void ResetCueTypeState ( string  cueName)
inline

Cue类型状态的重置(指定Cue名)

参数
cueNameCue名
说明:
指定Cue名,重置Cue类型状态。
注意:
重置对象仅是所指定的Cue的状态。Cue中包含的子合成器和Cue链接目标的 状态不会被重置。
备注:
Cue类型状态是将复音类型Cue以外的播放Cue时的上次播放音轨 作为状态来管理的机制。
本函数会将状态管理区域进行重置,恢复为ACB加载后的状态。
void ResetCueTypeState ( int  cueId)
inline

Cue类型状态的重置(指定Cue ID)

参数
cueIdCue名
说明:
指定Cue名,重置Cue类型状态。
注意:
重置对象仅是所指定的Cue的状态。Cue中包含的子合成器和Cue链接目标的 状态不会被重置。
备注:
Cue类型状态是将复音类型Cue以外的播放Cue时的上次播放音轨 作为状态来管理的机制。
本函数会将状态管理区域进行重置,恢复为ACB加载后的状态。
void AttachAwbFile ( CriFsBinder  awb_binder,
string  awb_path,
string  awb_name 
)
inline

添加串流用AWB文件

参数
awb_binder包含AWB文件的Binder句柄
awb_pathAWB文件的路径
awb_nameAWB名
说明:
对于ACB句柄添加串流用的AWB文件。 为第1参数的 awb_binder 以及第2参数的 awb_path 指定串流播放用 的AWB文件。
第3参数的 awb_name 用于指定添加AWB的插槽。 因此,如更改了AtomCraft输出的AWB名(从文件名去掉了扩展名的部分) 请指定原始的AWB名。
如AWB文件添加失败,将会发生错误回调。
关于失败的理由,可以通过错误回调消息进行确认。
备注:
添加AWB文件后,程序库内部将会取得Binder( CriFsBinderHn )和 加载器( CriFsLoaderHn )。
要追加添加AWB文件时,需要通过可以取得符合追加数量的Binder和加载器的设置 对Atom运行库(或CRI File System库)进行初始化。
void DetachAwbFile ( string  awb_name)
inline

切断串流用AWB文件

参数
awb_nameAWB名
说明:
将添加在ACB句柄中的串流用AWB文件切断。 第1参数的 awb_name 请指定为与添加AWB时指定的参数相同的AWB名。
bool IsReadyToRelease ( )
inline

获取ACB句柄立即释放状态

返回
ACB的状态(True = 可立即释放、False = 有正在播放的Player)
说明:
检查是否可以立即释放ACB句柄。
如果在本函数返回 false 时执行 CriWare.CriAtomExAcb::Dispose 函数, 则将对参照ACB句柄的Player执行停止处理。
(如果是串流播放用的ACB句柄,则为了等待文件读取完成, 在 CriWare.CriAtomExAcb::Dispose 函数内,长时间处理可能会被阻断。)

该类的文档由以下文件生成: