I have a Java application where in I am trying to read Audio samples from the mic into a buffer and then write the samples back to speaker from a buffer for playing.
I have used AudioRecord and AudioTrack interfaces. Below are my configurations for the Record and Track object creation. AudioTrack(0, 8000, 2, 2, playBufSize, 1); AudioRecord(1, 8000, 2, 2, recBufSize);
Using AudioRecord interface I am able to read the samples from mic continiously (8000 sampling rate and 640 samples per read). In the similar way I am also able to write some pcm samples to the speaker from a buffer and play it continuously using the AudioTrack interface (without record).
But when I try to do both record and play simultaneously I am able to only record audio from mic but I am not able to play any samples to speaker. I am getting this error " ------- attemp playback while recording, cheat it! ----- " in the log cat.
I have given the following permissions "android.permission.RECORD_AUDIO" and "android.permission.MODIFY_AUDIO_SETTINGS" in the Manifest file. I didn't find any special permission to play the audio.
Is there anything else that I need to enable?
Thanks in advance,