Can't reliably stop a sound and start another
Please Login to Remove!
I have been having a problem for the last 2 days trying to use the BlackBerry sound API. I've searched all over and can't find an answer.
I have 7 different sounds for a game I'm developing. I understand that the BlackBerry cannot play more than one sound at a time and I'm willing to live with that limitation. I have 7 different Player objects, one for each sound.
What I'm trying to do is interrupt/stop whatever sound is currently playing (if any) and play a different sound. This can happen rapidly depending on what's going on in the game.
There seems to be no reliable way to do this. If I call .stop() on whatever sound I know is currently playing, sometimes it works. Other times, it seems to play half way through the next sound even though I set the media time to 0 each time I play a new sound. Eventually sounds just stop playing altogether and I hear nothing.
I've tried every combination I could think of including adding listeners to keep track of the state of the players. If I use a listener to ensure I never try to play more than one sound at a time, it works but the game experience is not very good. I'd rather interrupt whatever is playing at the time in favor of a new sound but can't do it without weird side effects.
Anyone have a solution?
|