我正在尝试使用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文件。
我认为问题与我如何链接库有关,尽管我尝试了一些操作,但似乎无法修复。有人对我的问题可能是什么原因/如何解决这些问题有任何建议吗?