有没有办法让fmod根据声音名称播放声音?我可以使用以下代码循环声音名称:
for (int subsoundindex = 0; subsoundindex < numsubsounds; subsoundindex++)
{
FMOD::Sound *subsound = NULL;
char name[256] = {0};
result = fsb->getSubSound(subsoundindex, &subsound);
ERRCHECK(result);
result = subsound->getName(name, 256);
ERRCHECK(result);
NSLog(@"SOUND NAME %s.", name);
}
但要播放它我想知道在这样的代码中注入声音名称的位置:
result = fsb->getSubSound(row, &subsound);
ERRCHECK(result);
result = system->playSound(FMOD_CHANNEL_FREE, subsound, false, &channel);
ERRCHECK(result);
答案 0 :(得分:1)
无法按名称获取FSB,您必须始终使用索引。但是,有几种选择。
您可以创建名称列表,然后查找名称以获取索引(这可能比扫描每个子句更快。
您可以使用include标头,FSBankLib可以生成一个头文件,该文件是从进入FSB的名称生成的,您可以将其用作子索引的宏。
您可以使用FMOD Designer,而不是声音,使用事件,可以按名称查找这些事件。