Android AudioRecord 剪辑
Android AudioRecord clipping
我正在尝试使用 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()
原来我听到的不是音量引起的削波,而是错误的字节顺序。剪辑是用小端录制的,我用大端重播。因为较低的音量值只是被放大而没有受到其他影响,因为最高有效位都是 0,但是当音量较高时,MSB 不为 0,并且整体值被破坏为白噪声。
我正在尝试使用 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()
原来我听到的不是音量引起的削波,而是错误的字节顺序。剪辑是用小端录制的,我用大端重播。因为较低的音量值只是被放大而没有受到其他影响,因为最高有效位都是 0,但是当音量较高时,MSB 不为 0,并且整体值被破坏为白噪声。