SDLで音楽を扱おうと思ったら「SDL_Mixer」を使うのがデファクトスタンダードになってるので、自分も使ってます。
長らくSDL_Mixerは「MP3とOgg読めるよ!^^」と
(今までは再コンパイルの必要あり)
バージョンは1.2.7以上が必要みたいです。
(この記事を書いている最新はバージョンは1.2.11)
↓ここから最新版をどうぞ
http://www.libsdl.org/projects/SDL_mixer/
【使い方】
※ゲームでは一般的に無限ループを用いているので、その記述でいきます。
また、自分はC/C++での記述をします。
(どちらかというとC寄りのコーディングなのでご了承を)
【ソース例】
※適当な場所に書いて下さい。
// 変数宣言
Mix_Music *music;
Mix_Chunk *chunk;
// SDL初期化
// ここではSDL_Mixerの初期化だけ。
// ほかの初期化も入れたい場合はパイプ文字で繋げる事!
SDL_Init(SDL_INIT_AUDIO);
// 曲ファイルをロード
// ※MP3もいけるようになった!!
music = Mix_LoadMUS("music.wav");
// 効果音ファイル1をロード
chunk = Mix_LoadWAV("se1.wav");
// 同時発声数を設定
Mix_AllocateChannels(16);
// 曲の再生スタート
// ※無限ループの前に記述する事
Mix_PlayMusic(music,-1);
// 効果音1再生
Mix_PlayChannel( -1,chunk,0 );
<無限ループ はじめ>
<無限ループ おわり>
// ロードした曲を開放
Mix_FreeMusic(music);
// ロードした効果音1を開放
Mix_FreeChunk(chunk);
// SDL_Mixerクローズ
Mix_CloseAudio();
// SDL使用終了
SDL_Quit();
0 件のコメント:
コメントを投稿