I am using the AVAudioRecorder class available with the 3.0 SDK to record audio in my app. I am successfully able to record to a caf/aiff file. But I would like to record to
See:
http://developer.apple.com/iphone/library/qa/qa2008/qa1615.html
IMA is a 4:1 format, which means it will compress to 25% of the original size. It's good enough for voice, but not ideal for music.
Lossless is great for music, but usually only gets 50%.
µLaw and aLaw are older formats that compress to 50%, but are much worse than Lossless.
I haven't used iLBC.
I'd bet you'll never see an MP3 encoder made available to third-party apps due to licensing issues.
From all I can find on the API documentation, you can't change the encoder. The only encoder settings I could find that you can change are:
AVEncoderAudioQualityKey;
AVEncoderBitRateKey;
AVEncoderBitDepthHintKey;
As for transferring the file, a typical approach would be to email the file.
You'll have to include your own MP3 encoder. And you might not be able to do the encoding in real-time. Sad, but there it is.