Windowsコード集 上のページ

#0003 簡易DirectMusicプレーヤー

とりあえずの、DirectMusicの第1弾です。
まだボリューム制御とかはありませんが、演奏だけを行うならこれで十分です。

0003.lzh CDMusicPlayerクラス(2KB)
//-----------------------------------------------------------------------------
// dmusicplayer.h (一部)
//-----------------------------------------------------------------------------

#include "dmusicc.h"
#include "dmusici.h"

class CDMusicPlayer{
protected:
    IDirectMusicPerformance  *m_dmPerf;
    IDirectMusicLoader       *m_dmLoader;
    IDirectMusicSegment      *m_dmSegment;
    IDirectMusicSegmentState *m_dmSegState;
public:
    CDMusicPlayer();
    ~CDMusicPlayer();
    BOOL Init(LPDIRECTSOUND ds = NULL,HWND hwnd = NULL);
    BOOL Release();
    BOOL Load(LPSTR dirname,LPSTR filename);
    BOOL CleanUp();
    BOOL Play(DWORD count = 0);
    BOOL Stop();
};


//
// 以下はCDMusicPlayerの使用例です。
//

CDMusicPlayer dm;                   // オブジェクトの生成

if(dm.Init(NULL,NULL)){             // DirectSoundと親ウィンドゥの設定(省略可)
    if(dm.Load(".","test.mid")){    // MIDIファイルのロード
        dm.Play(-1);                // 演奏開始(ループ回数を指定する)
    }
}


dm.Stop();                          // 演奏停止




上のページ