是否有添加效果和导出到 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 实现目标的一种方法的基本概述。
是否有添加效果和导出到 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 实现目标的一种方法的基本概述。