I’m using FMODEx 4.03.09.
I’ve set the number of channels to 32.
The ouput type is DSOUND and FMOD reports 64 HW and 64 SW channels.
I’m creating all sounds using (FMOD_3D|FMOD_SOFTWARE).
I’ve set up filesystem callbacks to support our engine’s virtual file system using the proposed default chunk size of 2048.
For environmental sounds i’m creating them using FMOD_CREATESAMPLE.
For speech i’m creating them using FMOD_CREATESTREAM.
Each emitter is played using FMOD_CHANNEL_REUSE and using their own channel handle with samples sharing their Sound instances and streams using unique Sound instances.
As long as I only play either type (sample or stream), everything works fine.
Once I start playing both, all streams that are started after the first sample has been played only play for a tiny duration (roughly 2/3 of a second in my case) and then ‘hang’.
Those channels all return FMOD_OK when calling Channel::isPlaying, Channel::isPaused and Channel::getCurrentSound.
Channel::isPlaying returns ‘true’ and Channel::isPaused returns ‘false’ for each of them.
Calls to Channel::getCurrentSound still returns the stream that’s supposed to play. However, their position always remains the same once they’re past a certain duration.
I’ve tried switching to different formats (WAV, MP3, OGG), but the problem persist.
Any hint on what might cause this behaviour would be appreciated.
- SmoCoder asked 10 years ago
Please login first to submit.