是否有添加效果和导出到 wav 文件的演示?

Is there a demo for add effects and export to wav files?

是否有添加效果和导出到 wav 文件的演示?

我已经搜索过了,但没有找到解决方法。

将效果添加到 input.wav 文件,然后播放。然后导出一个带有效果的新 wav 文件。请帮助我。

我的代码是:

result = FMOD::System_Create(&system);
    ERRCHECK(result);

    result = system->getVersion(&version);

    if (FMOD_OK != result) {
        printf("FMOD lib version %08x doesn't match header version %08x", version, FMOD_VERSION);
    }

   // result = system->setOutput(FMOD_OUTPUTTYPE_WAVWRITER);
   // ERRCHECK(result);

    char cDest[200] = {0};
    NSString *fileName=[NSString stringWithFormat:@"%@/addeffects_sound.wav", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]];
    [fileName getCString:cDest maxLength:200 encoding:NSASCIIStringEncoding];

    result = system->init(32, FMOD_INIT_NORMAL | FMOD_INIT_PROFILE_ENABLE, cDest);
    //result = system->init(32, FMOD_INIT_NORMAL, extradriverdata);
    ERRCHECK(result);

    result = system->getMasterChannelGroup(&mastergroup);

    ERRCHECK(result);

    [self createAllDSP];

-(void)createSound:(NSString *)filename
{
    //printf("really path = %s", getPath(filename));
    result = system->createSound(getPath(filename),  FMOD_DEFAULT, 0, &sound);
    ERRCHECK(result);
    [self playSound];
}

-(void) playSound
{
    result = system->playSound(sound, 0, false, &channel);
    ERRCHECK(result);
    //result = channel->setLoopCount(1);
   // ERRCHECK(result);
}

你的问题很宽泛,我鼓励你重新关注你遇到问题的地方。

虽然要笼统地回答您的问题,您需要几个 API 来实现您的目标,您的代码中包含其中一些。

让 FMOD 系统准备好输出 .wav:

  • System_Create
  • 系统::设置输出
  • 系统::初始化

创建和准备所需的效果:

  • System::createDSPByType
  • 系统::addDSP

要创建和播放所需的声音:

  • 系统::createSound
  • 系统::播放声音

检查声音何时结束:

  • 系统::更新
  • 频道::正在播放

关闭并完成 .wav

  • 声音::释放
  • 系统::发布

这是您可以使用 FMOD 实现目标的一种方法的基本概述。