我正在android中使用媒体录制器录制呼叫,或者使用VOICE_COMMUNICATION
&MIC
模式。RECORD_SOURCE = MediaRecorder.AudioSource.VOICE_COMMUNICATION;//RECORD_SOURCE = MediaRecorder.AudioSource.MIC;iAudioRecorder = new AudioRecord(RECORD_SOURCE, NATIVE_SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, RECORD_BUF_UNIT);
我看到,对于某些设备来说,录制的音频数据的增益远远大于(大约2/3倍)。而且MIC
捕获的背景音乐也不如VOICE_COMMUNICATION
。
为什么这两种录制模式的音频质量(如增益、响应性)不同?
最佳答案
根据对Android Developer Reference和MIC的VOICE_COMMUNICATION处理,对使用语音通信捕获的音频进行一些预处理,如回声消除、噪声抑制,从而对数据造成一些衰减。此外,在进行这种预处理时,由于这种衰减,低振幅的音频信号变得更加微弱。所以我们觉得当背景音频太低时,有些设备的背景音频会消失。
另一点是不同设备的不同特性。从this link开始,这完全取决于设备制造商,他们可以自由决定哪些预处理应在哪些模式和如何工作。