3

作業中のゲームのバックグラウンドで音楽を再生しようとしています。SDL2 と SDL-mixer を初めて使用しています。私はそれらを自分でコンパイルし、ファイルをプログラム フォルダーのルートに配置しました (移植性のため)。ゲームを実行すると、サウンドが再生されず、Mix_GetError() が次のエラーを返します。

"Mixer not built with MP3 support"

MP3 ファイルを再生しようとしていますが、OGG やその他の形式で初期化しようとすると同じエラーが発生します。

関係がある場合は、ここに関数があります。

int     play_sound(void)
{
    int         mp3;
    Mix_Music   *music;

    mp3 = MIX_INIT_MP3;
    music = NULL;
    if (mp3 != Mix_Init(mp3))
        return (put_error(Mix_GetError()));
    if (Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096) == -1)
        return (-1);
    music = Mix_LoadMUS("data/music.mp3");
    Mix_PlayMusic(music, -1);
    return (0);
}

その特定の問題についてはあまり見つけていませんが、問題はソースからSDL2とSDL-mixerをコンパイルしたことにあると思います。私は何かを忘れたに違いありませんが、よくわかりません...ちなみに、私はOSXを使用しています(まだあまり慣れていません)。

助けてくれてありがとう!

編集/ WAV ファイルは試していません。

4

0 に答える 0