I had a similar problem due to ARC. Instead of defining AVAudioPlayer in the same method that you use, you should have an instance variable somewhere else, such as a UIViewController. Therefore, ARC does not automatically release this object, and sound can be played.
source
share