PCM音频数据增大或减小的原理主要是,将采样的数据乘上一个数字或者是除以一个数字,但要注意溢出处理。具体实现如下
C语言实现
#define OLD_FILE_PATH "file.pcm"
#define VOL_FILE_PATH "vol.pcm"
int volume_adjust(short * in_buf, short * out_buf, float in_vol)
{
int i, tmp;
// in_vol[0, 100]
float vol = in_vol - 98;
if(-98<vol && vol<0)
vol = 1/(vol*(-1));
else