Can you please elaborate on cdAudioSourceDidFinishPlaying not being reliable? Is this only when the device is put in standby or does it happen in other situations as well.
Hi Steve,
I have rebuilt my project from scratch using the Cocos2d release candidate and Xcode 4, and still see this behavior in my app. I've been testing with an iPhone 4, and an iPod Touch current generation, one is running 4.2.x and the other 4.3. Putting the device into standby prevents cdAudioSourceDidFinishPlaying from being called, at least as I have it coded, and multi-tasking to other apps behaves in the same way. Background music audio resumes perfectly but my CDLongAudioSource objects don't resume play and thus don't trigger a DidFinishPlaying event.
My whole understanding of delegation is pretty flimsy, so maybe I'm the problem... but I don't know how to troubleshoot it. The only console message that seems relevant is the logged line: "AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved." Which I get whenever first invoking the sound engine of course, if that helps?
I'm considering just killing multi-tasking support in the 1.0 release of my app while I work on this issue more / learn more about, well, everything. Thank you so much for CocosDenshion though - this is a very audio driven app, and it's turned out to be fantastic, I hope to do very well on the App Store next month, and owe you no small debt of gratitude.