Platform SDK: DirectX

ステップ 1 : DirectSound オブジェクトの作成

[C++]

ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectSound C/C++ チュートリアル」を参照すること。

[Visual Basic]

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 : リスナーの取得