Microsoft DirectX 8.0 (C++)

ステップ 1 : 初期化

アプリケーションで DirectMusic API を使用するには、次のインクルード ファイルが必要である。Dmusici.h をインクルードすると、DirectMusic と DirectSound のその他の必要なヘッダー ファイルもインクルードされる。

#define INITGUID
#include <dmusici.h>

このチュートリアルは、3 つのインターフェイス ポインタを使用する。それらは次のように宣言される。

IDirectMusicLoader8*      g_pLoader       = NULL;
IDirectMusicPerformance8* g_pPerformance  = NULL;
IDirectMusicSegment8*     g_pSegment      = NULL;

WinMain 関数には、この簡単なアプリケーションのすべてのコードが含まれている。このアプリケーションはメイン ウィンドウを持たないため、直接、COM と 2 つのオブジェクトの作成に進む。作成するオブジェクトは、ローダーとパフォーマンスである。

INT APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, 
    LPSTR pCmdLine, INT nCmdShow )
{
    CoInitialize(NULL);
    
    CoCreateInstance(CLSID_DirectMusicLoader, NULL, 
                     CLSCTX_INPROC, IID_IDirectMusicLoader8,
                     (void**)&g_pLoader);

    CoCreateInstance(CLSID_DirectMusicPerformance, NULL,
                     CLSCTX_INPROC, IID_IDirectMusicPerformance8,
                     (void**)&g_pPerformance );

次のステップでは、パフォーマンスとシンセサイザを初期化する。IDirectMusicPerformance8::InitAudio メソッドによって次のタスクを実行する。

このチュートリアルでは、非常に簡単な方法で InitAudio を呼び出している。

    g_pPerformance->InitAudio( 
        NULL,                  // IDirectMusic インターフェイスは不要。
        NULL,                  // IDirectSound インターフェイスは不要。
        NULL,                  // ウィンドウのハンドル。
        DMUS_APATH_SHARED_STEREOPLUSREVERB,  // デフォルトのオーディオパス タイプ
        64,                    // パフォーマンス チャンネルの数。
        DMUS_AUDIOF_ALL,       // シンセサイザの機能。
        NULL                   // オーディオ パラメータにはデフォルトを使用。
    );

次の「ステップ 2 : ファイルのロード」に続く。