当我使用Androids AudioRecord从麦克风录音时,我得到了这个讨厌的伪像。

有没有办法避免或消除这种情况?那是什么?或者是因为我在配置中做错了什么(但其他一切都很好)。
下面是我的AudioRecord配置:
sampleRateInHz = 44100;
channelConfigRec = AudioFormat.CHANNEL_IN_MONO;
audioFormat = AudioFormat.ENCODING_PCM_16BIT;
bufferSizeInBytesRec = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfigRec, audioFormat);
audioSource = AudioSource.MIC;我非常确定我的代码是正确的,因为我可以很好地记录一切,但在开始时会有这样的单击。
发布于 2012-10-11 11:13:55
尝试将audioSource设置为AudioSource.VOICE_RECOGNITION。在一些设备上,特别是HTC设备上,我发现对该来源的过滤较少。而在ICS之后,这是官方的方式,be.In,android4.0设备兼容性文档,这是正式的:
当应用程序开始使用android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION音频源录制音频流时:
必须禁用
发布于 2012-10-09 23:12:48
我认为所显示的伪像是用于处理录制的音频的数字滤波器的副作用。每个数字滤波器都有一定的延迟。例如,如果滤波器有N个系数,它的延迟是N/2。本质上,这意味着滤波器将在前N/2个音频信号样本通过后开始正常工作。这应该是您拥有工件的原因。希望这能有所帮助。
https://stackoverflow.com/questions/12693621
复制相似问题