how to output a .wav file?


Playsound is ok,but how to output a .wav file?


Depending on what you want to do, it could be as easy as using the output mode FMOD_OUTPUTTYPE_WAVWRITER, or you could make your own DSP to manually output data to a file.


Thanks for your reply!

Now I have successfully outputed a .wav file,but I failed to convert the .wav file to a .amr file.

Any solution to this issue?

Thanks in advance.


You would need to use a library or program to do convert the file, as FMOD does not do this.


I tried to use opencore-amr to do this,but failed.When the program ran into “SkipToPCMAudioData(fpwave)” ,it looped at

fread(&chunk, 1, sizeof(XCHUNKHEADER), fpwave);
if ( !memcmp(chunk.chChunkID, “data”, 4) )
bDataBlock = 1;

	fseek(fpwave, chunk.nChunkSize, SEEK_CUR);

and never break. Any solutions?


I found out that the fmt Subchunk1Size of the outputed .wav file is 40 ,it should be 16 or 18, I think this is reason for the question mentioned above , maybe there is something wrong in the .wav file or I outputed the wav file in a wrong way?Yet,the .wav file can play properly and I can hear the sound.

What’s the reason for this?Any ideas? Thanks.


The subChunkSize will be the size of WAVE_FORMATEXTENSIBLE, which has a size of 40, although this should not be an issue as you are able to use the size to determine the position of the next chunk.