我一直在研究我的第一款SDL游戏,并且添加了声音效果。但是,当我尝试添加音乐时,Mix_LoadMus()会使程序崩溃。
if(SDL_Init(SDL_INIT_EVERYTHING) !=0)
std::cout<<"SDL_INIT failed\n"<<SDL_GetError()<<std::endl;
if( Mix_Init(MIX_INIT_OGG | MIX_INIT_MOD | MIX_INIT_FLAC | MIX_INIT_MP3) !=0 )
std::cout<< "SDL_mixer could not initialize! SDL_mixer Error\n"<<Mix_GetError()<<std::endl;
if( Mix_OpenAudio( 44100, MIX_DEFAULT_FORMAT, 2, 2048 ) < 0 )
std::cout<< "SDL_mixer could not open audio! SDL_mixer Error\n"<<Mix_GetError()<<std::endl;
Mix_Music *music = Mix_LoadMUS("music.wav");
if( music == NULL )
std::cout<<"Failed to load music! SDL_mixer Error\n"<<Mix_GetError()<<std::endl;
此崩溃没有任何输出。 继承人的回溯:
RaiseException()
SDL_LogCritical()
SDL_LogCritical()
SDL_LogCritical()
KERENEL32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()
我的假设是在检索文件时出现了可怕的错误,但我不知道如何纠正它。非常感谢任何帮助。