FMOD中的简单声音播放

时间:2012-01-24 15:54:29

标签: c++ audio fmod

我开始使用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);

有谁知道出了什么问题?或者也许还有另一种方式。

2 个答案:

答案 0 :(得分:6)

首先确保检查所有功能的返回代码,确保它是FMOD_OK。

其次,您需要定期调用System :: update,每帧一次调用FMOD内容。

关于你的问题,你在哪个平台? 噼啪声通常意味着硬件无法跟上,修复它可以增加FMOD的缓冲量。这是通过System :: setDSPBufferSize控制的,尝试增加numBuffers计数。您可以使用System :: getDSPBufferSize确定当前值,还要确保在System :: init之前调用System :: setDSPBufferSize以使新值生效。

答案 1 :(得分:1)

我不知道如果你正在调用FMOD :: System :: Update()..你需要每帧至少调用一次