Android - 如何在录音时添加增益控制

标签 android audio fft audio-recording audiorecord

我为录音机应用程序工作,想添加增益控制,但我不知道该怎么做。我可以访问音频缓冲区,但我不知道如何让声音变大或变慢。 我看到另一个应用程序有一个 seekBar 用于从特定范围内选择分贝。

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

请告诉我应该如何在我的应用中实现增益控制。

谢谢。

最佳答案

改变体积很简单,只需将所有样本乘以某个分数即可。 +/- 3dB(分贝)的变化分别对应于乘以 2 或 0.5(参见 http://en.wikipedia.org/wiki/Decibel)。为防止输出不连续,请确保从头到尾平滑地改变乘数。

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

关于Android - 如何在录音时添加增益控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449963/

相关文章:

signal-processing - 通过 Octave 快速傅立叶变换评估汽车振动

java - Chrome : A html space is replacing %20 to %2520

android - 录音机播放器 Rails 移动友好

iphone - 控制背景音乐播放

java - 如何在apache FFT中使用复系数

c++ - 与 FFT 的卷积,这是如何工作的?

android - 在同一个 Android 应用程序中使用 ARMv7 和 ARM 库

android - 使用 ACTION_IMAGE_CAPTURE 拍照并 setImageBitmap 来显示它

javascript - 设置相机宽度和高度 phonegap 相机

javascript - 如何在iOS浏览器中录制音频?