增加录制 Android AudioRecord 的音量

Posted

技术标签:

【中文标题】增加录制 Android AudioRecord 的音量【英文标题】:Increase volume of recording Android AudioRecord 【发布时间】:2014-12-06 16:57:25 【问题描述】:

我正在使用 AudioRecord 和 lame 将麦克风输入录制到 mp3 样本中 12 秒。音频如预期的那样是录音机,但我意识到音量太低了。

有没有办法提高录音的音量?

【问题讨论】:

How to adjust microphone sensitivity while recording audio in android - Solved 的可能重复项 【参考方案1】:

audioRecord 类中没有增益设置可供播放,因此您无法控制正在录制的音频的音量。音频的低音量与硬件有关,并且因设备而异。您可以尝试以下几个选项。

1) 尝试以不同的模式打开录音,看看哪种效果最好。 检查 - http://developer.android.com/reference/android/media/MediaRecorder.Audiosource.html

2) 在音频记录中,您可以获得原始 PCM 缓冲区。您可以编写一个简单的代码/函数来将位(每个通道 8/16 位)向左或向右移动以使增益加倍或减半。 (把它想象成一个非常粗糙的音量控制)

3) 尝试在网上搜索更复杂的数字增益技术以获得更平滑的控制。 有很多实现。 (也有专有技术)

检查: How to adjust microphone sensitivity while recording audio in android

【讨论】:

【参考方案2】:

您也可以简单地增加设备的音量:

AudioManager am = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);

int previousVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);
am.setStreamVolume(AudioManager.STREAM_MUSIC, 10, 0);

... do your things ...  

am.setStreamVolume(AudioManager.STREAM_MUSIC, previousVolume, 0);

在我的情况下,这是一个简单的修复方法,它适用于应用程序的其余部分。

【讨论】:

以上是关于增加录制 Android AudioRecord 的音量的主要内容,如果未能解决你的问题,请参考以下文章

Android 音频录制-AudioRecord

Android:使用 audiorecord 类录制音频播放快进

Android 开发 AudioRecord音频录制

Android 检测 AudioRecord/在不阻塞其他应用程序的情况下录制音频的方式

无法在 Android 中播放使用 AudioRecord 录制的 pcm 文件

Android 4.4中AudioRecord用例 - 录制系统内置声音