我正在尝试使用 SDL 混音器在我的游戏中播放 .ogg 文件。它似乎已正确安装,它在此过程中输出:
checking vorbis/vorbisfile.h usability... yes
checking vorbis/vorbisfile.h presence... yes
checking for vorbis/vorbisfile.h... yes
checking for ov_open_callbacks in -lvorbisfile... yes
-- dynamic libvorbisfile -> libvorbisfile.dylib
如果我没记错的话,这似乎表明 .ogg 文件应该可以工作并且库已正确链接。
但是,当我玩游戏时,.ogg 音乐文件无法播放。它向终端提供以下输出:
Could not load music: Error -
此输出是从以下代码行生成的:
std::cout << "Could not load music: ERROR - " << Mix_GetError() << std::endl;
有趣的是,Mix_GetError() 似乎没有产生任何输出,即使有错误。
此外,如果我尝试尝试使用 .wav 歌曲文件,它确实可以工作,因此问题似乎特定于 .ogg 文件。
我认为问题与我如何链接库有关,但我已经尝试了一些事情,但我似乎无法修复它。有没有人对我的问题可能是什么原因/我如何解决它们有任何建议?