My game Realms uses FMOD and has been working perfectly on all Pocket PC 2002 devices. Today, I tried loading the same version of Realms onto an iPAQ h2215 (which uses Windows Mobile 2003) and my game functions fine but FMOD no longer plays.
I’m using the stripped version of v3.6 in Realms. I also tried using the stripped version of 3.63 today but it didn’t fix the problem.
I found the problem but I don’t know how to fix it.
I tested your examples and they worked which led me to the problem. Realms loads sounds in from memory not from a file, so when I tried loading one of the sounds in my game from a file it worked.
I still need to be able to load sounds using FMOD from memory. Why would loading sounds from memory not work on Windows Mobile 2003?
The iPAQ h2215 I’m using has 25MB of free program memory.
FMOD in Realms works fine on all Pocket PC 2002 devices. I’ve even tested this on a Casio E125 and the sound works. It’s just when I try using it on this device with Windows Mobile 2003.
Do you have any samples that load sound from memory that I could try?
The example worked. I realized I was still using 3.6 something in Realms so I switch over to 3.7 and sound has returned to Realms, but now it’s acting strangely.
At certain places, when the sound is loading the game with just exit back to windows. I had this same problem before when I ran a program using STLport compiled for Pocket PC 2002 on Windows Mobile 2003. At certain places when using STLport the program would just exit back to windows. When I recompiled the program in eVC4 for ARMV4 the problem was solved.
Do you have any dll’s that are compiled for ARMV4 in eVC4?
I’ve been testing out my code all day and I know the problem is with FMOD, I just can’t figure out what it is. This is very frustrating, since everything has been working fine for the past six months.
I don’t think it would be a waste of time for you to create a version of FMOD for Windows Mobile 2003 anyway, since this is a new operating system.
Even if you did this and it still didn’t work I would at least know the problem lies with me.
Thanks for doing that! I was able to use the Pocket PC 2003 emulator, which helped a lot in debugging.
I got it working, but I’m not sure why. The problem was occurring when I was calling FSOUND_Sample_Load(…), but it would only happen for some of the samples.
I checked to make sure I was giving FMOD good data, and inputting the correct size, which I was. I finally got it working by just multiplying the size of the data variable by 2.
Did you change anything in 3.7 that might make it necessary to do this? The other version on Pocket PC 2002 uses FMOD 3.61.
Here’s the code I’m using to initialize FMOD:
FSOUND_Init(22050, 12, 0);
Then I call this to load a sample from memory:
FSOUND_Sample_Load(FSOUND_FREE, (char *)data, FSOUND_LOADMEMORY, 0, size);
Am I doing this right? Like I said above I just replaced size with size*2 and it worked.
Anyway, I really appreciate your quick replies.
Please login first to submit.