Let’s say that I am playing a 3D looping sound that has a priority of 128. While it is still playing, I play another 3D sound that is not looping with a priority of 255, and it steal’s the looping sound’s channel because all channels are in use. When the new high priority sound finishes playing, will the original looping sound be given its old channel back again and continue playing automatically? Or is it up to me to start that looping sound playing again after the high priority sound finishes?
- Claytonious asked 14 years ago
Thanks as always for your quick response, Brett!
If I am going to do that myself, how can I know that this situation has happened so that I know to call Play on the original sound again? My old looping sound still thinks it has a valid channel, but I guess that FSOUND_IsPlaying on that channel would now return false, assuming some other sound hasn’t already grabbed that channel in the mean time… in which case my old looping sound would be fooled into thinking it is still playing even though it isn’t – ugh. Don’t know how to beat that.
Would your advice be to simply avoid using looping sounds in this scenario? Maybe I am better off just manually looping them by calling play again as they finish, so that priorities will always be correct.
As for using FMOD Ex: that sounds exciting, but our project is only a couple of months from completion and we’ve already done a lot of testing on OS X, Linux, and Windows, so stability would be a real fear for us there. Do you think it’s far enough along for a project that’s nearly finished, or do you think we would be better off sticking with 3.74 for this upcoming release?
Please login first to submit.