キャプチャー デバイス オブジェクトの作成
キャプチャー デバイス オブジェクトは、DirectSoundCaptureCreate8 関数または DirectSoundFullDuplexCreate8 関数を呼び出すことで作成できます。これらの関数はどちらも、IDirectSoundCapture8 インターフェイスへのポインターを取得します。
DirectSoundCaptureCreate に渡す lpcGUID パラメーター、または DirectSoundFullDuplexCreate8 に渡す pcGuidRenderDevice パラメーターには、列挙により取得した GUID か、次のいずれかの定義済み GUID を指定できます。
GUID | 説明 |
---|---|
DSDEVID_DefaultCapture | デフォルトのシステム キャプチャー デバイスです。このデバイスは、GUID の代わりに NULL ポインターを渡すことによっても指定できます。 |
DSDEVID_DefaultVoiceCapture | デフォルトのボイス コミュニケーション キャプチャー デバイスです。通常、マイクロフォン付き USB ヘッドセットなどのセカンダリ デバイスがこれにあたります。 |
デバイス ドライバーが存在しない場合、呼び出しは失敗します。
オブジェクトの作成には CoCreateInstance 関数も使用できます。手順は、デバイス オブジェクトの作成手順と同様です。「Creating the Device Object」を参照してください。CoCreateInstance を使用した場合、オブジェクトは、ユーザーがコントロール パネルで選択したデフォルトのキャプチャー デバイスに対して作成されます。
再生デバイス オブジェクトとキャプチャー デバイス オブジェクトを共存させる場合は、キャプチャー デバイス オブジェクトよりも先に再生デバイス オブジェクトの作成と初期化を行うか、または DirectSoundFullDuplexCreate8 関数を使用する必要があります。
オーディオ デバイスによっては、デフォルトが全二重オーディオ構成になっていないものがあります。再生デバイス オブジェクトとキャプチャー デバイス オブジェクトの両方をアプリケーションで正しく作成および初期化できない場合は、ユーザーにオーディオ デバイスのプロパティをチェックするよう依頼して、全二重が有効になっていることを確認してください。