Platform SDK: DirectX |
次の図は、DirectSound と他のシステム オーディオ コンポーネントとの関係を示している。
DirectSound 関数と Windows 標準のウェーブフォーム オーディオ関数を使うと、サウンド機器のウェーブフォーム オーディオ部分へのパスに選択肢が与えられる。1 つのデバイスでは、一度にアクセスを提供するパスは 1 つである。ウェーブフォーム オーディオ ドライバがあるデバイスを割り当てた場合、DirectSound での同デバイスへの割り当ては失敗する。同様に、DirectSound が 1 つのデバイスを割り当てた場合、ウェーブフォーム オーディオ ドライバでのデバイスの割り当ては失敗する。
2 つのサウンド デバイスがシステムにインストールされている場合、アプリケーションはDirectSound 関数とウェーブフォーム オーディオ関数のどちらかを使って、それぞれのデバイスに独立してアクセスできる。
注 : Microsoft Video for Windows は現在、ウェーブフォーム オーディオ関数を使用して、avi (audio visual interleaved、オーディオ ビデオ インターリーブ) ファイルのオーディオ トラックを再生する。したがって、アプリケーションが DirectSound を使用しているときに、ユーザーが同時に avi ファイルを再生しようとしても、そのオーディオ トラックを聞くことはできない。同様に、avi ファイルの再生と DirectSound オブジェクトの作成を同時に行おうとすると、作成関数はエラーを返す。
現在のところ、アプリケーションが DirectSound オブジェクトを解放するためには、avi ファイルを再生する前に C++ の IDirectSound::Release を呼び出すか、Visual Basic の DirectSound オブジェクトを Nothing に設定する。アプリケーションは、ビデオの再生終了後にオブジェクトとそのバッファ オブジェクトの作成と初期化をもう一度行える。