Jak uniknąć automatycznej kontroli wzmocnienia z AudioRecord?

Jak mogę robić nagrania audio za pomocąandroid.media.AudioRecord bez fantazyjnego przetwarzania sygnału zależnego od producenta smartfona, takiego jak automatyczna kontrola wzmocnienia (AGC) i / lub korekcja, tłumienie szumów, eliminacja echa, ... tylko czysty sygnał mikrofonowy?

tło

MediaRecorder.AudioSource zapewnia dziewięć stałych,

DEFAULT iMIC początkowo tam,VOICE_UPLINK, VOICE_DOWNLINK, iVOICE_CALL dodane na poziomie API 4,CAMCORDER iVOICE_RECOGNITION dodane w API 7,VOICE_COMMUNICATION dodane w API 11,REMOTE_SUBMIX dodane w API 19, ale niedostępne dla aplikacji innych firm.

Ale żaden z nich nie wykonuje czystej pracy na wszystkich smartfonach. Wydaje mi się, że raczej muszę się przekonać, które urządzenie używa jakich kombinacji bloków przetwarzania sygnałuMediaRecorder.AudioSource stały.

Byłoby miło mieć jedną dziesiątą stałąPURE_MIC dodano na poziomie API 20.

Ale o ile nie jest to możliwe, co mogę zrobić zamiast tego?

questionAnswers(4)

yourAnswerToTheQuestion