views:

320

answers:

2

I have an issue with my AVAudioPlayer in which if it is paused, I cannot get it to play again. Calling [audioPlayer play] after it is paused returns NO rather than the usual YES. Any idea what could have caused this?

Someone else has this same issue as well:

http://www.iphonedevforums.com/forum/sdk-coding-help/750-avaudioplayer-doesnt-start-back-up-after-interruption.html

+2  A: 

I had this same problem when setting currentTime before invoking the play method. Moving the property set of currentTime to after invoking play method allowed AVAudioPlayer to return YES instead of NO. I'm not sure why this is, hope it helps.

Edit: after further consultation with this issue, calling stop then play seems to work more consistently and thus allows currentTime setting before the play method. You may want to call prepareToPlay just after your stop though to queue it up again for play when you're ready to resume.

JD
Thankyou, I was having the same problem, but using MonoTouch, and your solution fixed it for me :)
NeilDurant
A: 

I occasionally experienced this when setting currentTime during active playback and then pausing.

In the end i resorted to a [stop], [setCurrentTime:], [preprareToPlay], [play] sequence which worked for me.

See my post here for a complete example.

LeoN