ステップ 1 : オーディオ システムの設定
このサンプル アプリケーションでは、次のオブジェクト変数を宣言する。
Private dx As New DirectX8
Private dml As DirectMusicLoader8
Private dmp As DirectMusicPerformance8
Private seg As DirectMusicSegment8
これらのオブジェクトのうち、宣言時に初期化できるのは、DirectX8 オブジェクトだけである。DirectMusicLoader8 および DirectMusicPerformance8 は、次のように、このオブジェクトのメソッドを使って作成する必要がある。
Set dml = dx.DirectMusicLoaderCreate
Set dmp = dx.DirectMusicPerformanceCreate
作成したパフォーマンスは初期化しなければならない。DirectMusicPerformance8.InitAudio メソッドは、次のタスクを実行する。
- DirectSound8 オブジェクトを作成する。通常、このオブジェクトに変数は必要ない。DirectSound パラメータとして Nothing を渡すか、このパラメータを省略することができる。
- アプリケーション ウィンドウを DirectSound に関連付ける。通常、メイン アプリケーション ウィンドウのハンドルは、hwnd パラメータとして渡される。
- 標準タイプのデフォルトのオーディオパスを設定する。このチュートリアルでは、音楽に適した DMUS_APATH_SHARED_STEREOPLUSREVERB 型のパスを要求する。
- パフォーマンス チャンネルの数をオーディオパスに割り当てる。ウェーブ ファイルに必要なパフォーマンス チャンネルは 1 つだけである。MIDI ファイルは 16 個のチャンネルを必要とする。DirectMusic Producer で作成したセグメントは、さらに多くのチャンネルを使用する場合がある。余分のチャンネルを要求しても問題は生じない。
- シンセサイザの機能およびリソースを指定する。これは、次の 2 つの方法で行うことができる。フラグを設定するか、DMUS_AUDIOPARAMS 型で詳細な情報を指定する。ほとんどのアプリケーションは、DMUS_AUDIOF_ALL フラグを設定して、DirectMusic によってデフォルトのパラメータ設定のシンセサイザが作成されるようにしている。DMUS_AUDIOPARAMS 型をメソッドに渡す必要があるが、DMUS_AUDIOPARAMS 型サンプルにあるように、これを空白にしておくことができる。
サンプル アプリケーションでは、非常に簡単な方法で InitAudio を呼び出している。
dmp.InitAudio Me.hWnd, DMUS_AUDIOF_ALL, dmA, Nothing, _
DMUS_APATH_SHARED_STEREOPLUSREVERB, 64
次の「ステップ 2 : ファイルのロード」に続く。