I use AudioRecord class to record the voice during a call.
I am intererested to record only the voice of the person who owns the phone ( from the microphone). During the recording I would like to do some audio processing but this is offtopic for now.
Android has the following AudioSources options:
- MediaRecorder.AudioSource.VOICE_CALL
- MediaRecorder.AudioSource.MIC
- MediaRecorder.AudioSource.VOICE_UPLINK
- MediaRecorder.AudioSource.VOICE_DOWNLINK
Can you explain what is the differences among them. Ok MIC is obvious but VOICE_CALL vs VOICE_UPLINK vs VOICE_DOWNLINK ?
Also I should choose a sample rate ( 8000Hz, 16000Hz, 2250Hz, 44100Hz ). Can you please tell me what sample rate to choose and why?
For audio format I chose AudioFormat.ENCODING_PCM_16BIT but it also has: - AudioFormat.ENCODING_DEFAULT - AudioFormat.ENCODING_INVALID - AudioFormat.ENCODING_PCM_8BIT
Finally is how many channels should I use and why? ( AudioFormat.CHANNEL_IN_STEREO or AudioFormat.CHANNEL_IN_MONO )