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

标签 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);

希望你能帮我!

谢谢

最佳答案

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

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

关于android - Fmod:读取音频文件,添加效果,然后将结果int保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6971043/

相关文章:

javascript - 如何使用JavaScript控制embed标签中的音频

android - 如何在 Remix OS 的终端仿真器中保存和退出 Vi

javascript - 将手机号码保存到 WP 联系人 wird cordova 联系人插件

android - ViewModelProviders 实例失败,因为无法解析 "of"

android - 如何在 Android 中将文件上传到 GCS 时显示进度

Android,如何初始化录音机?

java - 是否可以在Java程序(如Soundflower)上进行编码?

android - 在 Android 中设置 textIsSelectable(true) 后软键盘无法打开

Android:无法实例化 Activity ComponentInfo

javascript - 如何让浏览器显示 "save as dialog"以便用户可以将字符串的内容保存到他系统上的文件中?