Obecnie piszę aplikację, która wymaga nagrywania i przetwarzania danych audio w czasie rzeczywistym. Do tego używam klasy AudioRecord. Działa to dobrze i dobrze, z wyjątkiem domyślnego ustawienia nagrywania dźwięku na moim podstawowym urządzeniu testującym, nexusie galaktyk, jest nagrywanie z tylnego głośnika. Domyślam się, że większość telefonów będzie miała źródło w tylnych lub dolnych mikrofonach, ponieważ kiedy używasz telefonu do dzwonienia, twoje usta są blisko dna.Zmiana nagrania dźwiękowego Android Domyślne wejście Źródło
Jednak moja aplikacja wymaga nagrania z głośnika z przodu telefonu, więc miałem nadzieję, że ktoś może mi pomóc programowo zmienić źródło sygnału AudioRecord. Szukałem obszernie odpowiedzi na to pytanie.
Niektóre rzeczy, jakie uważane są:
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); am.setSpeakerphoneOn(true);
AudioRecord ar = new AudioRecord(AudioSource.????, ..., ..., ..., ...);
Zauważyłem, że interfejsy API nie są zbyt szczegółowe co do formatów AudioSource, więc zastanawiałem się, czy ktoś inny zmaga się z tym problemem i może wskazać mi właściwy kierunek.
Dzięki z góry,
spróbuj tego MediaRecorder.AudioSource.VOICE_CALL .. – Sandeep
Nie używam obiektu MediaRecorder chociaż .... – lbrendanl