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?
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?