Android AudioRecord剪辑

时间:2017-01-23 14:24:02

标签: android audio audio-recording

我正在尝试使用AudioRecord从麦克风录制一些音频。 录音工作,但音量很大,我得到了可怕的剪辑。 我尝试使用AutomaticGainControl,但它在我的设备上不可用。 有没有其他方法可以自动或手动降低音量?

这是我正在使用的代码:

sampleRate = 44100
channel = AudioFormat.CHANNEL_IN_MONO
encoding = AudioFormat.ENCODING_PCM_16BIT

audioRecord =new AudioRecord(MediaRecorder.AudioSource.DEFAULT, //also tried VOICE_RECOGNITION
            sampleRate, channel, encoding,
            bufferSize)

audioRecord.startRecording()

1 个答案:

答案 0 :(得分:1)

原来我听到的不是由卷引起的剪辑,而是由错误的字节顺序引起的。剪辑是用little-endian录制的,我用big-endian重播它。由于较低的音量值刚被放大并且不受影响,因为最高有效位均为0,但是当音量较高时,MSB不为0且整体值被破坏为白噪声。