I was playing around with come code on my iPhone tonight and came across a really weird situation.
Using the AudioToolbox to play sounds on the iPhone seems really finicky when it comes to mp3′s. Two mp3′s, each recorded and saved using the same program (WireTap Studio in this case). One worked fine, the other caused it to crash.
I have no idea why. A search of the web reveals that AudioServicesCreateSystemSoundID(…) at one stage did not support MP3 but considering that one of the two files played I figured that it must have been updated.
Both files where the same format, right down to bitrate and exactly the same length (2 seconds long). I really have no idea.
Anyway, problem was solved by just making all the files WAV format. Increases the filesize a lot but at least it works.