Platform SDK: DirectX |
ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectSound C/C++ チュートリアル」を参照すること。
DirectSound アプリケーションの主なオブジェクトは、DirectSound クラスのインスタンスである。アプリケーションは、DirectSound オブジェクトのメソッドを使ってサウンド環境を設定し、オーディオ データを保持するバッファを作成する。
このオブジェクトは、すべての DirectX for Visual Basic アプリケーションの核であるグローバルな DirectX7 オブジェクトを作成した後に、DirectX7.DirectSoundCreate メソッドを呼び出すことで取得される。
以下のグローバル宣言は、DirectX7 オブジェクト、および DirectSound オブジェクトと 2 つのバッファに対する変数を作成する。
Dim m_dx As New DirectX7 Dim m_ds As DirectSound Dim m_dsBuffer(2) As DirectSoundBuffer
スタートアップ コードでは、次のように DirectSound オブジェクトを作成する。
On Local Error Resume Next Set m_ds = m_dx.DirectSoundCreate("") If Err.Number <> 0 Then MsgBox "DirectSound を開始することができません。サウンド カードが適切に" & _ "インストールされているかどうか確認してください。" End End If
空の文字列を DirectSoundCreate メソッドに渡すことで、システムにデフォルトのサウンド デバイスを配置することを示す。
ここで、サウンド デバイスに協調レベルを設定しなければならない。チュートリアル 1 のサンプルでは、次のステートメントで設定している。
m_ds.SetCooperativeLevel Me.hWnd, DSSCL_PRIORITY
最初の引数は、アプリケーションへのウィンドウ ハンドルである。フォームの hWnd プロパティは、フォームが表示されるまで設定されないことに注意すること。通常、フォームはフォームの Load プロシージャが完全に実行された後に表示される。このサンプルでは、フォーム ウィンドウに対する Show がプロシージャの最初に呼び出されるため、hWnd が利用可能になる。
2 番目の引数は、多くのアプリケーションに最適な優先協調レベルを設定する。
次項 : チュートリアル 1 : ステップ 2 : ウェーブ ファイルのバッファへのロード
次項 : チュートリアル 2 : ステップ 2 : リスナーの取得