Microsoft DirectX 8.0 (C++)

DirectSoundCapture オブジェクトの作成

DirectSoundCapture オブジェクトを作成するには、DirectSoundCaptureCreate8 または DirectSoundFullDuplexCreate8 関数を呼び出す。これらの関数はいずれも、IDirectSoundCapture8 インターフェイスへのポインタを取得する。

DirectSoundCaptureCreate に対する lpcGUID パラメータや、DirectSoundFullDuplexCreate8 に対する pcGuidRenderDevice パラメータには、列挙によって取得される GUID または次のいずれかの定義済み GUID を指定できる。

DSDEVID_DefaultCapture
デフォルトのシステム キャプチャ デバイス。デバイスの GUID パラメータで NULL ポインタを渡すことによって、このデバイスを指定することもできる。
DSDEVID_DefaultVoiceCapture
デフォルトの音声通信キャプチャ デバイス。これは、通常、USB マイク付きヘッドセットなどのセカンダリ デバイスである。

デバイス ドライバが存在しない場合は、この呼び出しは失敗する。

CoCreateInstance 関数を使ってオブジェクトを作成することもできる。その手順は、DirectSound オブジェクトを作成する手順と同様である。「DirectSound オブジェクトの作成」を参照すること。CoCreateInstance を使う場合、コントロール パネルでユーザーが選択したデフォルトのキャプチャ デバイスに対応するオブジェクトが作成される。

DirectSound オブジェクトと DirectSoundCapture オブジェクトを共存させたい場合は、DirectSoundCapture オブジェクトの作成と初期化を行う前に、DirectSound オブジェクトの作成と初期化を行うか、DirectSoundFullDuplexCreate8 を使う。

オーディオ機器によっては、デフォルトで全二重オーディオ構成になっていないものもある。DirectSound オブジェクトと DirectSoundCapture オブジェクトの作成と初期化の際に問題が発生した場合は、ユーザーに対してオーディオ デバイス プロパティのチェックと、全二重オーディオが有効になっていることの確認を求めなければならない。