CRI ADX  Last Updated: 2024-07-17 10:48 p
关于CriAtomExVoicePool
CriAtomExVoicePool是管理Voice的模块。
根据要播放的音频优先级控制发声数。
Atom运行库使用"Voice"解码音频数据并输出音频。
使用AtomExPlayer播放音频时,必须预先将要播放的音频数据相对应的音频创建为"Voice池"

创建Voice池

根据要播放的音频编解码器的类型,CRI提供了几个创建Voice池的函数。
例如,如果要创建在ADX播放的Voice池时,则必须使用::criAtomExVoicePool_AllocateAdxVoicePool 函数,如果要创建在HCA-MX播放的Voice池,则必须使用criAtomExVoicePool_AllocateHcaMxVoicePool 函数。
创建Voice池时,必须指定用于确定Voice池规格的配置构件和工作内存。
关于Voice池的具体创建方法,请参照教程
[备注]
创建Voice池时的配置构件可以省略。
(省略时按照预设设置创建Voice池。)

如果成功创建Voice池,则返回Voice池句柄( CriAtomExVoicePoolHn )作为函数的返回值。
使用此句柄来检查Voice池中的声音使用情况和释放Voice池。
Voice池在创建的同时即可使用。
如果在创建Voice池后用AtomExPlayer播放音频,则使用创建的Voice池中的Voice执行音频播放。
[注意]
如果AtomExPlayer播放的音频数据格式与Voice池的格式不同,则无法播放。
此外,如果要播放的音频数据的频道数量和采样率大于Voice池的频道数量和采样率,也无法执行播放。
创建Voice池时,必须在配置构件中指定足够的规格以播放目标音频数据。

丢弃Voice池

可以使用::criAtomExVoicePool_Free 函数丢弃不再需要的Voice池。
通过丢弃Voice池,可以将创建Voice池时设置的工作内存用于其他用途或释放内存。