9.16. 数字音量(DIGITAL_VOL)
概述
提供数字音量的使用流程
audio_config.c
文件, 可配置以下参数:
const int config_digital_fade_step = 1; //单位采样点音量变化量
const int config_digital_vol_max = 100; //最大音量
用户自定义音量表参考如下:
static const u16 user_dig_vol_table[] = {
0 , //0
93 , //1
111 , //2
132 , //3
158 , //4
189 , //5
226 , //6
270 , //7
323 , //8
386 , //9
462 , //10
552 , //11
660 , //12
789 , //13
943 , //14
1127, //15
1347, //16
1610, //17
1925, //18
2301, //19
2751, //20
3288, //21
3930, //22
4698, //23
5616, //24
6713, //25
8025, //26
9592, //27
11466,//28
15200,//29
16000,//30
16384 //31
};
9.16.1. 使用流程
1.打开解码服务后,在调用cmd
AUDIO_DEC_OPEN
时候传递参数(解码服务打开流程详情查看音频解码
章节)
/*中间省略其他参数*/
req.dec.cmd = AUDIO_DEC_OPEN;
req.dec.effect = AUDIO_EFFECT_DIGITAL_VOL;
err = server_request(__this->dec_server, AUDIO_REQ_DEC, &req);
获取音效处理句柄,调用cmd
AUDIO_DEC_GET_EFFECT_HANDLE
, 返回的req.dec.get_hdl
就是音效处理句柄, 此时可以选择设置用户自定义音量表(可选),不设置的话默认用库里面的音量表
req.dec.cmd = AUDIO_DEC_GET_EFFECT_HANDLE;
req.dec.effect = AUDIO_EFFECT_DIGITAL_VOL;
err = server_request(__this->dec_server, AUDIO_REQ_DEC, &req);
user_audio_digital_set_volume_tab(req.dec.get_hdl, user_dig_vol_table, ARRAY_SIZE(user_dig_vol_table)); //自定义音量表(可选)
调节数字音量
调节数字音量, 可以单独调节当前解码器,当前音频的声音大小, 不影响到另外一个解码器, 常常用在混音、叠音中。
user_audio_digital_volume_set(req.dec.get_hdl, volume, fade_en);
获取数字音量
int get_volume = user_audio_digital_volume_get(req.dec.get_hdl);
重置数字音量
user_audio_digital_volume_reset_fade(req.dec.get_hdl);
9.16.2. API参考
Warning
doxygenfile: Cannot find file “digital_vol.h