3

我正在尝试在我正在开发的游戏的背景下播放音乐。我第一次使用 SDL2 和 SDL-mixer。我自己编译了它们并将文件放在我的程序文件夹的根目录下(出于可移植性目的)。现在,当我运行游戏时,没有声音播放并且 Mix_GetError() 返回此错误:

"Mixer not built with MP3 support"

我正在尝试播放 MP3 文件,但是当我尝试使用 OGG 和其他格式进行初始化时,我得到了同样的错误。

这是功能,如果它完全相关的话。

int     play_sound(void)
{
    int         mp3;
    Mix_Music   *music;

    mp3 = MIX_INIT_MP3;
    music = NULL;
    if (mp3 != Mix_Init(mp3))
        return (put_error(Mix_GetError()));
    if (Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096) == -1)
        return (-1);
    music = Mix_LoadMUS("data/music.mp3");
    Mix_PlayMusic(music, -1);
    return (0);
}

我在那个特定问题上没有找到太多,但我认为问题来自我从源代码编译 SDL2 和 SDL-mixer。我一定忘记了什么,但我真的不知道......顺便说一句,我在 OSX 上(还没有真正习惯它)。

感谢大家的帮助!

编辑/我没有尝试过使用 WAV 文件。

4

0 回答 0