One alternative is to use AVAssetReader to convert all the mp3 files into uncompressed audio files, or even memory buffers if the audio is short enough. Uncompressed PCM data can then just be concatenated, mixed, or cross-faded, as needed. Then use AVAssetWriter to write the result into some compressed file format (such as aac) if needed.