1

我一直在开发我的第一个 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()

我的假设是在检索文件时出现了可怕的错误,但我不知道如何去纠正它。任何帮助深表感谢。

4

0 回答 0