欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

android pcm调节音量,调整PCM语音数据的音量

发布时间:2023/12/4 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android pcm调节音量,调整PCM语音数据的音量 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

通过编程实现调整PCM的音量,具体做法是乘上一个固定的数,但是要考虑数据的溢出问题,代码如下:

//调节PCM数据音量

//comment : 对PCM数据的音量进行放大

//parameter :

// pData PCM数据

// nLen PCM数据的长度

// nBitsPerSample 每个Sample的位数,一般为8的整数

// multiple 放大倍数

//result : S_OK 成功

int AmplifyPCMData(BYTE* pData, int nLen, int nBitsPerSample, float multiple)

{

int nCur = 0;

if (16 == nBitsPerSample)

{

while (nCur < nLen)

{

short* volum = (short*)(pData + nCur);

*volum = (*volum) * multiple;

if (dwData < -0x8000)

{

dwData = -0x8000;

}

if (*volum > SHRT_MAX)//爆音的处理

{

*volum = SHRT_MAX;

}

*(short*)(pData + nCur) = *volum ;

nCur += 2;

}

}

else if (8 == nBitsPerSample)

{

while (nCur < nLen)

{

BYTE* volum = pData + nCur;

*volum = (*volum) * multiple;

if (*volum > 255)//爆音的处理

{

*volum = 255;

}

*pData = *volum ;

nCur ++;

}

}

return S_OK;

}

调整完后效果可以使用Audacity对比:

image.png

总结

以上是生活随笔为你收集整理的android pcm调节音量,调整PCM语音数据的音量的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。