ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

DirectSoundのサンプルフレームワークを使う その2

まず、CSoundManagerを作成する。

static CSoundManager* s_pSoundManager = NULL;

void init()
{
    s_pSoundManager = new CSoundManager();
    s_pSoundManager->Initialize( DXUTGetHWND(), DSSCL_PRIORITY );
    s_pSoundManager->SetPrimaryBufferFormat( 2, 22050, 16 );
}

エラーチェックは省略している。またパラメータはサンプルプログラムの値そのまま。
CSoundManagerから再生したいwavファイルを指定してCSoundを作成する。

static CSound* s_pSound = NULL;

void load()
{
    s_pSoundManager->Create( s_pSound, TEXT("test.wav"), 0, GUID_NULL );
}

再生するときはCSoundのPlay()を使う。

s_pSound->Play( 0, 0 );

ループ再生したい場合は次の通り。

s_pSound->Play( 0, DSBPLAY_LOOPING );

停止するときはCSoundのStop()を使う。

s_pSound->Stop();
s_pSound->Reset();

Reset()で再生位置を再び先頭に戻している。