CRI ADX  Last Updated: 2024-07-17 10:48 p
播放HCA-MX

示例目录

/cri/pc/samples/criatomex/hca_mx_playback

示例描述

播放HCA-MX数据的示例。
播放HCA-MX数据时,必须预先以相同的采样率创建所有的音频数据。
此外,运行时必须执行以下设置用于播放HCA-MX。
  1. 初始化程序库时执行HCA-MX的输出设置。
  2. 创建Voice池用于播放HCA-MX。
关于初始化程序库
播放HCA-MX数据时,必须在初始化程序库时进行设置用于播放HCA-MX。
具体来说,关于初始化程序库时指定的::CriAtomExHcaMxConfig构件,必须正确设置以下项目。

CriAtomExHcaMxConfig构件的主要设置项目

要指定的参数 说明
num_mixers 指定要使用的混音器数量。通常指定1。
如果不使用HCA-MX,请指定0。
max_voices 指定要创建为Voice池的Voice的总数。
如果不使用HCA-MX,请指定0。
max_sampling_rate
output_sampling_rate
指定要使用的音频数据的采样率。
max_input_channels
output_channels
指定要使用的音频数据的最大频道数量。
注意
如果不使用机型特定的初始化程序库函数,而是使用::criAtomEx_Initialize函数执行程序库的初始化时,则必须执行::criAtomExHcaMx_Initialize函数。
关于创建Voice池
播放HCA-MX数据时,必须为播放HCA-MX创建不同于常规的Voice池(非标准Voice池)。
具体来说,必须使用::criAtomExVoicePool_AllocateHcaVoicePool函数创建可播放HCA-MX的Voice池。
另外,在创建Voice池时,必须为::CriAtomExHcaMxVoicePoolConfig 构件的player_config::max_sampling_rate设置与要播放的音频数据相同的采样率。
/* 创建HCA-MX Voice池 */
pool_config.player_config.max_sampling_rate = 48000; // 设置与要播放的音频数据相同的值
app_obj->hca_mx_pool = criAtomExVoicePool_AllocateHcaMxVoicePool(&pool_config, NULL, 0);
CriAtomExVoicePoolHn criAtomExVoicePool_AllocateHcaMxVoicePool(const CriAtomExHcaMxVoicePoolConfig *config, void *work, CriSint32 work_size)
Create an HCA-MX Voice Pool
#define criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool(p_config)
Assign the default values to the configuration structure used to create a HCA-MX Voice Pool
Definition: cri_le_atom_ex.h:618
Configuration structure used when creating a HCA-MX Voice Pool
Definition: cri_le_atom_ex.h:3321
CriAtomHcaMxPlayerConfig player_config
Definition: cri_le_atom_ex.h:3324
CriSint32 max_sampling_rate
Maximum sampling rate
Definition: cri_le_atom.h:1869
注意
如果不使用ACB文件,而是使用AWB文件和单个文件执行HCA-MX播放,则必须添加以下设置。
  • 将要使用::criAtomExPlayer_SetFormat函数播放的音频种类设置为HCA-MX( CRIATOMEX_FORMAT_HCA_MX )。
  • 指定要使用::criAtomExPlayer_SetSamplingRate函数播放的音频数据的采样率。