c++ - FMOD 中的简单声音播放

标签 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);

有人知道哪里出了问题吗?或者也许还有另一种方法。

最佳答案

首先确保检查所有函数的返回码,确保它是 FMOD_OK。

其次,您需要定期调用 System::update,每帧调用一次以进行 FMOD 内务处理。

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

关于c++ - FMOD 中的简单声音播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989826/

相关文章:

c++ - 如果析构函数有副作用并且对象是从另一个静态对象的析构函数访问的,如何进行静态反初始化?

c++11/regex - 搜索精确的字符串,转义

cakephp - cakephp2.4中的音频上传

audio - Web浏览器的声音衰减

c# - 使用FMOD查找以Hz为单位的频率

c++ - RVO 在这种情况下会起作用吗?

c++ cout 而不是 fstream

windows - 每次按下按钮时播放音频 - flutter

c# - readData 用于 24 位 FLAC 和 WAV 文件

c++ - 尽管使用浮点运算,仍从 fmod 或类似的方法获得预期结果