CRI ADX  Last Updated: 2024-07-17 10:48 p
关于句柄
Atom运行时库在操作Player和Voice池等对象时,使用"句柄"进行操作。
操作对象时,通常需要指示“对哪个对象”“执行什么操作”
Atom运行时库使用"句柄"来指示对象,使用"函数"来指示操作内容。

关于句柄

句柄是与对象关联的唯一标识符。
句柄在创建对象时作为返回值返回。
对于已创建对象的操作全部使用此句柄进行。
例如在创建作为Player对象的AtomExPlayer时,代码如下。
// AtomExPlayer句柄(保持句柄的变量类型)
// AtomExPlayer的创建
// 备注)句柄作为返回值返回。
player = criAtomExPlayer_Create(…);
CriAtomExPlayerObj * CriAtomExPlayerHn
Player handle
Definition: cri_le_atom_ex.h:3622
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
Create an AtomEx player


[备注]
在Atom运行时库中,句柄的变量类型取决于要创建的对象,但必须在末尾加上“Hn”。
例如AtomExPlayer句柄的类型是 CriAtomExPlayerHn

关于句柄操作

句柄的操作内容取决于要执行的函数。
例如,如果要停止Player,请使用Stop函数指示停止操作。
在Atom运行时库使用模块名将作为函数名的前缀。
因此,在AtomExPlayer上运行的函数始终带有criAtomExPlayer_ 的前缀。 执行停止处理操作时,对上述Stop函数执行带有criAtomExPlayer_ 前缀的 criAtomExPlayer_Stop 函数。
// AtomExPlayer句柄(保持句柄的变量类型)
// AtomExPlayer的创建
// 备注)句柄作为返回值返回。
player = criAtomExPlayer_Create(…);
// 为AtomExPlayer设置数据
// 备注)指示作为句柄的player设置缓冲区。
criAtomExPlayer_SetData(player, buffer, buffer_size);
// 播放已设置的音频数据
// 备注)指示作为句柄的 player开始播放(Start)。
// 停止播放
// 备注)指示作为句柄的 player停止播放(Stop)。
// AtomExPlayer的丢弃
// 备注)指示作为句柄的 player丢弃 (Destroy)。
void criAtomExPlayer_Destroy(CriAtomExPlayerHn player)
Destroy an AtomEx player
void criAtomExPlayer_SetData(CriAtomExPlayerHn player, void *buffer, CriSint32 size)
Set the sound data to play (specifying in-memory data)
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
Start the playback
void criAtomExPlayer_Stop(CriAtomExPlayerHn player)
Stop the playback