Platform SDK: DirectX |
通常、Microsoft Software Synthesizer やその他のシンセサイザは、出力ウェーブ データを DirectSound バッファのストリームに入れる。DirectMusic では、特別な操作を必要とせずに、DirectSound へのリンクの詳細をすべて処理することができる。DirectSound オブジェクトを作成したりリンクするときに、DirectMusic はプライマリ バッファ フォーマットを、すべての DirectMusic ポート間で最高のフォーマットに一致させる。
サウンドトラックでミュージック ファイルのみを使い、ウェーブ ファイルやリソースの演奏に DirectSound を必要としないアプリケーションの場合、通常は DirectMusic のパフォーマンスが初期化されるときに DirectSound オブジェクトが作成される。次に例に示す。pPerf は IDirectMusicPerformance インターフェイスへのポインタである。
pPerf->Init(NULL, NULL, hwnd);
この例では、最初の NULL は内部で作成および管理される DirectMusic オブジェクトを指定し、2 番目の NULL は同様の DirectSound オブジェクトを指定する。hwnd は、DirectSound の制御ウィンドウのハンドルを表す。
注 : DirectMusic に DirectSound オブジェクトを作成するように要求するときに、最上位レベル アプリケーション ウィンドウのハンドルを提供するのは良い考えである。IDirectMusicPerformance::Init および IDirectSound::SetCooperativeLevel の「注意」を参照すること。
サウンドトラックでミュージック ファイルのみを使い、ウェーブ ファイルやリソースの演奏に DirectSound を必要としないアプリケーションの場合、一般的には DirectMusic のパフォーマンスが初期化されるときに DirectSound オブジェクトが作成される。次に例を示す。Perf は、DirectMusicPerformance オブジェクトである。
Perf.Init(Nothing, hwnd);
この例では、Nothing は DirectSound オブジェクトが内部的に作成され管理されることを表す。hwnd は DirectSound の制御ウィンドウのハンドルである。
注 : DirectMusic に DirectSound オブジェクトを作成するように要求するときに、最上位レベル アプリケーション ウィンドウのハンドルを提供するのは良い考えである。DirectMusicPerformance.Init およびDirectSound.SetCooperativeLevel の「注意」を参照すること。
詳細については、次のトピックを参照すること。