2012-05-04 46 views
1

我工作的錄音機應用程序,並希望添加增益控制,但我不知道該怎麼做。我可以訪問音頻緩衝區,但我不知道如何使聲音更大或更慢。 我看到另一個應用程序有一個seekBar從特定範圍內選擇分貝。Android - 如何在錄製時添加增益控制

aRecorder.read(buffer, 0, buffer.length); 
fWriter.write(buffer); // Write buffer to file 

請告訴我該怎麼做才能在我的應用中實現增益控制。

謝謝。

回答

1

更改音量很簡單,只需將所有樣本乘以某個分數即可。 +/- 3dB(分貝)的變化分別對應於乘以2或0.5(見http://en.wikipedia.org/wiki/Decibel)。爲防止輸出中的不連續性,請確保您從開始到結束順利地改變乘法因子。

見AudioSampleBuffer :: applyGainRamp()@http://www.rawmaterialsoftware.com/api/classAudioSampleBuffer.html

+0

謝謝,我會努力實現你的建議。請告訴我是否有一些公式可以從分貝變化中得到分數(例如:3dB:2和(-3)dB:0.5)。 –

+0

scale = std :: pow(10,分貝/ 20.0) –

+0

非常感謝。 –