我有一个读取麦克风的应用程序。具体来说,我检测到对麦克风吹气;)它不适用于很多 HTC 设备。我拿起了 HTC Droid Eris 和 HTC Droid Incredible。除了那些我有很多朋友的报告之外,他们的 HTC 设备也遇到了这个问题,包括相对较新的 HTC Thunderbolt。
因此,调试应用程序表明,星巴克的环境房间噪音记录在 4000-11000 之间。一旦我对着麦克风吹气,输入音量就会下降到 4000 秒:每次,一直。
任何人都知道这是否可以通过编程方式禁用?
这就是我阅读输入的方式...
int minBufferSize = AudioRecord.getMinBufferSize(8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize);
short[] buffer = new short[minBufferSize];
audioRecord.startRecording();
audioRecord.read(buffer, 0, minBufferSize);
int i = 0;
for (short sample : buffer) {
inputVolume = Math.abs(sample);
maxVolumeIn = (inputVolume > maxVolumeIn) ? inputVolume : maxVolumeIn;
if (inputVolume >= micSensitivity) {
Log.d(TAG, "Blowing Detected. Volume Level: " + inputVolume);
break;
}
}