Android AudioRecorda quais configurações para gravar chamadas

Eu uso a classe AudioRecord para gravar a voz durante uma chamada.

Estou intererested para gravar apenas a voz da pessoa que possui o telefone (do microfone). Durante a gravação eu gostaria de fazer algum processamento de áudio, mas isso é offtopic por enquanto.

O Android tem as seguintes opções de AudioSources:

MediaRecorder.AudioSource.VOICE_CALLMediaRecorder.AudioSource.MICMediaRecorder.AudioSource.VOICE_UPLINKMediaRecorder.AudioSource.VOICE_DOWNLINK

Você pode explicar quais são as diferenças entre eles? Ok MIC é óbvio, mas VOICE_CALL vs VOICE_UPLINK vs VOICE_DOWNLINK?

Também devo escolher uma taxa de amostragem (8000Hz, 16000Hz, 2250Hz, 44100Hz). Você pode por favor me dizer qual taxa de amostragem para escolher e por quê?

Para formato de áudio, escolhi AudioFormat.ENCODING_PCM_16BIT, mas também tem: - AudioFormat.ENCODING_DEFAULT - AudioFormat.ENCODING_INVALID - AudioFormat.ENCODING_PCM_8BIT

Finalmente, quantos canais devo usar e por quê? (AudioFormat.CHANNEL_IN_STEREO ou AudioFormat.CHANNEL_IN_MONO)

questionAnswers(3)

yourAnswerToTheQuestion