1. VOICE_COMMUNICATION 의 경우 허니콤 이상 단말에서만 지원됩니다.
이전 단말을 지원하려면, 안드로이드 버젼 코드를 보고 분기하도록 해야 할 듯 합니다.
2. 재생 가능합니다. 단지 재생하는 소리가 마이크로 다시 들어가서 에코가 발생합니다.
3. samplingRate를 8000으로 잡으면, mp3의 44100, 48000 에 비해 다소 음질이 떨어지겠지만.
어지간한 단말에서는 잘 지원됩니다. 오히려 44100 48000 같은 것으로 설정하면 단말에 따라 지원하지 않을 수도 있으니. 무난할 듯 합니다.
ENCODING_PCM_16BIT는 오디오 한데이터를 16bit로 표시한다는 의미이며, 굳이 수정할 필요 없으실 듯 합니다.
CHANNEL_IN_MONO 의 경우 1채널 오디오를 사용하겠다는 것이고, 2채널 오디오를 사용하려 CHANNEL_IN_STEREO 를 사용 하시면 됩니다.
4. 해당 단말에서 channel configuration 을 지원 못한다는 의미인듯 한데. AudioFormat.CHANNEL_IN_MONO 대신 CHANNEL_IN_STEREO 로 바꿔보세요. 물론 AudioRecord에서도 CHANNEL_IN_STEREO를 넣어 주셔야 합니다.
그래도 안된다면 AudioManager.STREAM_VOICE_CALL 대신 AudioManager.STREAM_MUSIC 를 넣어보세요.