我正在尝试将fmod与c ++项目一起使用并创建了一个音库。 当我尝试加载它时,没有显示错误,但它不会播放任何声音。
这是 soundengine.h:
...
static FMOD_RESULT result;
static FMOD::Studio::System * fmodStudio;
static FMOD::Studio::Bank* masterBank;
static FMOD::Studio::EventDescription * eventDesc;
static FMOD::Studio::EventInstance * engine;
...
static void loadBank();
和 soundengine.cpp
...
FMOD::Studio::System * SoundEngine::fmodStudio;
FMOD::Studio::Bank * SoundEngine::masterBank;
FMOD::Studio::EventDescription * SoundEngine::eventDesc;
FMOD::Studio::EventInstance * SoundEngine::engine;
...
void SoundEngine::initialise (void)
{
result = FMOD::Studio::System::create(&fmodStudio);
if (result != FMOD_OK) possible = false;
if (possible)result = fmodStudio->initialize(320, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL, 0);
if (result != FMOD_OK) possible = false;
//sets initial sound volume (mute)
if (possible) channel->setVolume(0.0f);
fmodStudio->update();
}
void SoundEngine::loadBank()
{
//load master bank
if (possible)result = fmodStudio->loadBankFile("EnvironmentSound.bank", FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank);
if (result != FMOD_OK) possible = false;
result = fmodStudio->getEvent("event:/StaticSounds/Engine", &eventDesc);
result = eventDesc->createInstance(&engine);
engine->start();
fmodStudio->update();
}
然后我只需在 main.cpp 中调用 SoundEngine :: loadBank(); 它运行,但没有声音。我将 EnvironmentSound.bank 放在 main.cpp 的同一文件夹中,不确定"事件:/ StaticSounds / Engine" 但是,他们。因为我只是按照fmod simple_event.cpp 的例子 谁能指出我犯的错误? 如果没有足够的信息,请告诉我。
答案 0 :(得分:0)
我知道我迟到了回答这个问题,但至少对我来说这个问题是你没有加载银行字符串,所以你找不到带有字符串“event:/ StaticSounds /”的事件引擎”。
if (possible)
result = fmodStudio->loadBankFile("EnvironmentSound.strings.bank", FMOD_STUDIO_LOAD_BANK_NORMAL, &masterBank);