We’ve been using fmod as the sound library in our game for over half a year, grabbing updates every now and then.
We are currently on version 4.06.22 – when we went from 4.06.12 to 4.06.19, several people in the office started getting horrible crackling and skipping of the sound on their machines. This is still a problem with 4.06.22
I finally had a bit of time to look into the problem, and I experimented with a few different machines last week. I found that if explicitly set the output type to WINMM, the problems went away and everything sounded fine. This is contrary to what the documentation says – these machines are all running windowsXP, and the docs say that for anything other than NT, DSOUND should be more robust and stable.
Is this a known issue?
Did something to do with the core playback of sound change recently?
Also, if windowsXP is considered to be in the same family as NT, than why didn’t fmod choose the WINMM output on it’s own?
- gmayer asked 11 years ago
One of the first things I did was verify that we are not mixing up .lib and .dll versions.
I just tested this again – deleting any old versions of fmod from my machine, and rebuilding "all".
With some further investigation, I have actually reproduced the problem in one of the fmod example programs.
The salient points are:
I have a .ogg file that plays fine on my machine through Winamp, or Audacity. (source .wav 44.1kHz, 16bit stereo, compressed 128kbs)
to try and get the sound as robust as possible, and working on as many different PCs as possible, I have, for now, turned the Hardware Sound Acceleration Level completely off on my machine (through dxdiag)
I changed the example program (playsound) to load and play my .ogg file, and I specified FMOD_SOFTWARE in createSound.
when I do this the sound is crackly and bad
if I specify FMOD_HARDWARE in createSound, it sounds ok?
I would have thought that FMOD_SOFTWARE would give the most reliable results.
Thanks in advance
There are no known issues like this.
Make sure you havent mixed up the libs and dll and header versions, and that they are all the same, so that you are in fact using the correct FMOD_OUTPUTTYPE enum.
XP is not ‘in the same family’ as NT, it is quite different. NT emulates dsound through a winmm layer. XP does not. You should not be using winmm output on xp, or even calling setOutput.
edit: actually just looking the enums haven’t changed at all, but you should look at what else may have changed in your code or anything relevant to do with buffersizes in revision.txt
Also verify that fmod examples don’t exhibit the same problem, then you can determine what it is in your code that is different.
Please login first to submit.