1. 问题
按照上一篇文档的步骤编译之后,发现mp3格式的背景音乐无法播放。通过直接执行vcmiclient
可以看到在控制台中输出如下信息:
1Warning: Cannot open Music/MainMenu: Unrecognized audio format
2Unable to play music (music parameter was NULL)
原因是我本地环境使用的sdl2_mixer
是通过brew安装的,当时无法按照官方文档介绍通过brew install sdl2_mixer --with-smpeg2
进行安装。
因为发现无法播放mp3音乐,所以我对这个库进行了一些了解,发现brew官方的版本屏蔽了mp3格式的支持。查看brew官方的源码可以看到:
1def install
2 inreplace "SDL2_mixer.pc.in", "@prefix@", HOMEBREW_PREFIX
3
4 args = %W[
5 --prefix=#{prefix}
6 --disable-dependency-tracking
7 --disable-music-flac
8 --disable-music-flac-shared
9 --disable-music-midi-fluidsynth
10 --disable-music-midi-fluidsynth-shared
11 --disable-music-mod-mikmod-shared
12 --disable-music-mod-modplug-shared
13 --disable-music-mp3-mpg123
14 --disable-music-mp3-mpg123-shared
15 --disable-music-mp3-smpeg
16 --disable-music-ogg-shared
17 --enable-music-mod-mikmod
18 --enable-music-mod-modplug
19 --enable-music-ogg
20 ]
21
22 system "./configure", *args
23 system "make", "install"
24 end
可以看到有关mp3的选项都被disabled掉了。