キャプチャー デバイス オブジェクトの作成

キャプチャー デバイス オブジェクトは、DirectSoundCaptureCreate8 関数または DirectSoundFullDuplexCreate8 関数を呼び出すことで作成できます。これらの関数はどちらも、IDirectSoundCapture8 インターフェイスへのポインターを取得します。

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

GUID 説明
DSDEVID_DefaultCapture デフォルトのシステム キャプチャー デバイスです。このデバイスは、GUID の代わりに NULL ポインターを渡すことによっても指定できます。
DSDEVID_DefaultVoiceCapture デフォルトのボイス コミュニケーション キャプチャー デバイスです。通常、マイクロフォン付き USB ヘッドセットなどのセカンダリ デバイスがこれにあたります。

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

オブジェクトの作成には CoCreateInstance 関数も使用できます。手順は、デバイス オブジェクトの作成手順と同様です。「Creating the Device Object」を参照してください。CoCreateInstance を使用した場合、オブジェクトは、ユーザーがコントロール パネルで選択したデフォルトのキャプチャー デバイスに対して作成されます。

再生デバイス オブジェクトとキャプチャー デバイス オブジェクトを共存させる場合は、キャプチャー デバイス オブジェクトよりも先に再生デバイス オブジェクトの作成と初期化を行うか、または DirectSoundFullDuplexCreate8 関数を使用する必要があります。

オーディオ デバイスによっては、デフォルトが全二重オーディオ構成になっていないものがあります。再生デバイス オブジェクトとキャプチャー デバイス オブジェクトの両方をアプリケーションで正しく作成および初期化できない場合は、ユーザーにオーディオ デバイスのプロパティをチェックするよう依頼して、全二重が有効になっていることを確認してください。