c++ - SDL Mix_LoadMUS 未加载 .mp3
问题描述
所以显然我一直在尝试使用 SDL_mixer 加载 .mp3。但是,这不起作用,与 libsdl wiki 不同:SDL_mixer Mix_LoadMUS
我希望它能够工作,但是在加载和播放文件时,我的控制台应用程序中弹出以下错误:
Mix_LoadMUS: Unrecognized audio format
Mix_PlayMusic: music parameter was NULL
就我而言,我一直在尝试通过以下方式加载test.mp3 :
Mix_Music * m_mainMusic;
m_mainMusic = Mix_LoadMUS("test.mp3");
if (m_mainMusic != nullptr)
printf("Loaded the file\n");
else
printf("Mix_LoadMUS: %s\n", Mix_GetError());
if (Mix_PlayMusic(m_mainMusic, -1) == -1)
printf("Mix_PlayMusic: %s\n", Mix_GetError());
我显然已经初始化了 SDL 子系统。
解决方案
在上述解释的帮助下,我试图重现您的问题,而导致类似问题的唯一原因是缺少运行时库。确保所有必需的库在运行时可用(将它们复制到可执行文件的文件夹中或设置环境变量或使用静态链接。)随 SDL_mixer 分发的运行时库如下:libmpg123-0、libmodplug-1、 libFLAC-8、libogg-0、libopus-0、libopusfile-0、libvorbis-0、libvorbisfile-3 和 SDL2_mixer。
推荐阅读
- html - 我们可以在剪辑 css 中使用百分比吗?
- c++ - 如何使函数线程安全
- c++ - return 语句中使用的局部变量不会隐式转换为 r 值以匹配转换运算符
- python - 如何在 Python 中删除未知字符串部分
- android - return@methodName - 该语法的含义?
- google-sheets - Google 表格 - 拆分数据
- php - 如何在 html 文件中创建变量范围
- angular - npm run build:ssr 抛出了几个关于nestjs的警告
- c++ - C++ 中的可迭代指定初始化器替代方案
- c# - 如何从项目内部获取某些内容到目录?(C#)