Microsoft DirectX 8.0 (C++) |
アプリケーションで 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 : ファイルのロード」に続く。