小编DS2*_*830的帖子

即使安装了 libmpg123,SDL_Mixer 2.0.4“MP3 支持不可用”

我是编程初学者,正在尝试制作一个简单的控制台 MP3 播放器作为一个项目。为此,我需要一种播放.mp3文件的方法。SDL Mixer 提供了此功能,但需要libmpg123安装在系统上。

即使我安装了所需的依赖项“libmpg123”,调用“Mix_Init()”总是失败。我没有对其他格式的依赖,例如 FLAC、OGG、MOD 和 MIDI(如果有的话)。

我在笔记本电脑上运行 Ubuntu 18.04,并且 SDL2 版本 2.0.9、SDL_Mixer 2.0.4 都是从源代码构建的(尽管我已经尝试了通过包管理器提供的版本apt)。我还libmpg123安装了我也是从源代码构建的(同样,我也尝试了通过包管理器提供的版本)。

我用两种方式编译了代码:

g++ Mix_Init.cpp -lSDL2 -lSDL2_mixer

g++ Mix_Init.cpp -lSDL2 -lSDL2_mixer -lmpg123

我不知道哪一个是正确的,但都不能解决问题。

#include<SDL2/SDL.h>
#include<SDL2/SDL_mixer.h>
#include<iostream>

int main(int argc, char** argv)
{
    if(SDL_Init(SDL_INIT_AUDIO))
        std::cerr << "SDL_Init() Error: " << SDL_GetError() << std::endl;

    else {
        int result {0};
        if(!((result = Mix_Init(MIX_INIT_MP3)) && MIX_INIT_MP3)){
            std::cerr << Mix_GetError() << std::endl;
            std::cerr << "Mix_Init() returns " << result << std::endl; …
Run Code Online (Sandbox Code Playgroud)

c++ mp3 sdl-mixer sdl-2

3
推荐指数
1
解决办法
1441
查看次数

标签 统计

c++ ×1

mp3 ×1

sdl-2 ×1

sdl-mixer ×1