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语音数据的音量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸿蒙手机启动器apk下载,澪Pro启动器
- 下一篇: android 拍照换头像,Androi