Отключить шумоподавление HTC

У меня есть приложение, которое считывает микрофон. В частности, я обнаруживаю дуновение в микрофон; )Он не работает на многих устройствах HTC. Я купил HTC Droid Eris, а также HTC Droid Incredible. В дополнение к этим у меня есть сообщения от многих друзей, у которых есть устройства HTC, также испытывающие эту проблему, включая относительно новый HTC Thunderbolt.

Итак, отладка приложения показала, что окружающий шум в помещении регистрируется от 4000 -до 11000 в Starbucks. Как только я дую в микрофон, громкость на входе падает до 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;
        }
    }
6
задан EJoshuaS - Reinstate Monica 24 August 2017 в 17:52
поделиться