我正在尝试在我正在制作的游戏背景中播放音乐。我是第一次使用SDL2和SDL混音器。我自己编译并将文件放在程序文件夹的根目录(出于可移植性目的)。 现在,当我运行游戏时,没有声音播放,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混频器。我一定忘记了什么,但我真的不知道...... 顺便说一句,我在OSX上(并没有真正习惯)。
感谢大家的帮助!
编辑/我没有尝试使用WAV文件。