Fmod:读取音频文件,添加效果,然后将结果int保存到文件中

时间:2011-08-07 06:00:52

标签: android audio save effects fmod

我正在使用FMOD播放文件中的一些声音,我添加了一些效果。我想预览添加到它的效果,并将满意的结果保存到磁盘。 我尝试过使用SetOutput和Init,然后使用createSound,playSound 但我听不到声音,保存在磁盘中的文件似乎错了!

如果我不使用带有第4个参数0的setOutput和init系统,我可以听到声音。

附上我的代码:

result = FMOD_System_SetOutput(gSystem,FMOD_OUTPUTTYPE_WAVWRITER);
result = FMOD_System_Init(gSystem, 32,FMOD_INIT_NORMAL,"/sdcard/wav.wav");
result = FMOD_System_CreateSound(gSystem, filename, FMOD_SOFTWARE | FMOD_LOOP_NORMAL, 0, &gSound);
result = FMOD_System_PlaySound(gSystem, FMOD_CHANNEL_FREE, gSound, 0, &gChannel);

希望你能帮助我!

谢谢

1 个答案:

答案 0 :(得分:0)

如果您将setOutput与WavWriter一起使用,音频将转到文件而不是扬声器。如果这不是您想要的,也许您应该尝试使用自定义DSP捕获音频。

基本思路是你按照dsp_custom的例子,让用户创建DSP,然后在DSP读取回调中将数据写入磁盘。您还必须将进入DSP的数据复制到输出缓冲区(直接memcpy),以允许音频传递到扬声器。您可以将DSP放置在要捕获音频的DSP网络中的任何位置。如果您只对最终混音感兴趣,请使用System :: addDSP。