C++ FMOD_系统_初始崩溃
我试图在游戏中使用FMOD音频API,但应用程序启动后关闭。我试图调试它,程序在FMOD_System_Init函数处崩溃C++ FMOD_系统_初始崩溃,c++,fmod,C++,Fmod,我试图在游戏中使用FMOD音频API,但应用程序启动后关闭。我试图调试它,程序在FMOD_System_Init函数处崩溃 void AudioSystem::Init() { FMOD_System_Create(&sys); // FMOD_SYSTEM* sys; FMOD_System_Init(sys, 32, FMOD_INIT_NORMAL, 0); // Crash } 这里叫: int Game::MainLoop(int fpscap) {
void AudioSystem::Init() {
FMOD_System_Create(&sys); // FMOD_SYSTEM* sys;
FMOD_System_Init(sys, 32, FMOD_INIT_NORMAL, 0); // Crash
}
这里叫:
int Game::MainLoop(int fpscap) {
// ...
// Expose classes to the scripting engine
// FPS calculations
m_audiosys->Init(); // AudioSystem* m_audiosys;
// Initialize Input, Window, Main Game, etc...
// Game Loop...
// ...
}
这是fmod.log文件:
FMOD: SystemI::init : FMOD Ex Version: 00044458
FMOD: SystemI::init : maxchannels = 16, flags = 00000000, extradriverdata = 00000000
FMOD: SystemI::close :
FMOD: SystemI::close : Stop all sounds
FMOD: SystemI::close : Remove miscllaneous DSP stuff.
FMOD: SystemI::close : done.
FMOD: OutputWASAPI::enumerate : Enumerating...
FMOD: OutputWASAPI::enumerate : Initialise COM library.
FMOD: OutputWASAPI::enumerate : Found Driver: "SONY TV (Áudio do vídeo Intel(R))".
FMOD: OutputWASAPI::enumerate : Found Driver: "Alto-falantes (Dispositivo de High Definition Audio)".
FMOD: OutputWASAPI::enumerate : Found Driver: "Alto-falantes (XSplit Stream Audio Renderer)".
FMOD: OutputWASAPI::enumerate : Found Driver: "Microfone (Dispositivo de High Definition Audio)".
FMOD: OutputWASAPI::enumerate : Done.
FMOD: OutputWASAPI::initEx : Initialising...
FMOD: OutputWASAPI::initEx : Done.
FMOD: SystemI::init : Set up software engine
FMOD: Thread::initThread : Initializing FMOD (WASAPI) feeder thread. priority 0
FMOD: Thread::initThread : - Stacksize 0. Stack pointer 00000000 : usesemaphore = 0 : sleeptime = 0
FMOD: Thread::callback : * FMOD (WASAPI) feeder thread started
FMOD: Thread::initThread : done.
FMOD: OutputWASAPI::feederUpdate : WASAPI feeder thread set to 'Audio' characteristic
FMOD: Thread::initThread : Initializing FMOD mixer thread. priority 2
FMOD: Thread::initThread : - Stacksize 49152. Stack pointer 00000000 : usesemaphore = 1 : sleeptime = 0
如果我一步一步地跑,它就会起作用。它是由一堆机器代码组成的,如果我不停地跳转,程序就会启动,一切正常
我还没有尝试播放任何声音,只是暂时进行FMOD初始化
谢谢。
C和C++是不同的语言!不要为C++条件添加C标签,因为我使用的是FMOD的C API,C++的一个与MinGW不兼容。这就是为什么我把C放在那里。此外,除了OOPOk,我没有看到任何差异,这可能是一个比赛条件,但我该怎么办?它是一个封闭源代码库:/