我开始使用 FMOD API,但我在播放声音时遇到了问题。我使用了本网站的教程:http://glasnost.itcarlow.ie/~powerk/audio/AddFMODtoaproject.html只是觉得我听到的是声音。
这是我在 OpenGL 初始化函数中使用的代码:
FMOD::System_Create(&system);// create an instance of the game engine
system->init(32, FMOD_INIT_NORMAL, 0);
system->createSound("sound.wav", FMOD_HARDWARE, 0, &sound1);
sound1->setMode(FMOD_LOOP_OFF);
system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0);
有人知道哪里出了问题吗?或者也许还有另一种方法。
最佳答案
首先确保检查所有函数的返回码,确保它是 FMOD_OK。
其次,您需要定期调用 System::update,每帧调用一次以进行 FMOD 内务处理。
关于您的问题,您使用的是什么平台? 噼啪声通常意味着硬件跟不上,要修复它,您可以增加 FMOD 的缓冲量。这是通过 System::setDSPBufferSize 控制的,尝试增加 numBuffers 计数。您可以使用 System::getDSPBufferSize 确定当前值,同时确保在 System::init 之前调用 System::setDSPBufferSize 以使新值生效。
关于c++ - FMOD 中的简单声音播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989826/