I've been researching this for quite a while, and still no joy.
I know that MediaRecorder will read an audio source and write straight to a file, in one of several formats. And I also know that AudioRecord will read an audio source and let you process the raw data, but is there any way to write the data from your app?
For example, I want to read audio, filter it in some simple way, and then write to a .3gp file. Is there any way to do this? Searching for examples, I was only able to find a way to generate .wav files by manually writing the header.
Have you checked out the MediaCodec classes?
http://developer.android.com/reference/android/media/MediaCodec.html