When a sound naturally finishes my delegate audioPlayerDidFinishPlaying is called, but when I manually call [myPlayer stop], the delegate is never called.
I'm guessing just a design decision on Apple's part. They probably figured that if you're manually calling stop, then you don't need the delegate method since you're controlling when it's stopping.