次の方法で共有


DirectSoundFullDuplexCreate8

DirectSoundFullDuplexCreate8 関数は DirectSound オブジェクトと DirectSoundCapture オブジェクトを作成し、IDirectSoundFullDuplex8 インターフェイスを返します。この関数を使うには Microsoft Windows XP が必要です。全二重は他のオペレーティング システムに実装できますが、キャプチャー デバイスとレンダリング デバイスは個別に作成する必要があります。

HRESULT 
DirectSoundFullDuplexCreate8(
  LPCGUID pcGuidCaptureDevice,
  LPCGUID pcGuidRenderDevice,
  LPCDSCBUFFERDESC pcDSCBufferDesc,
  LPCDSBUFFERDESC pcDSBufferDesc,
  HWND hWnd,
  DWORD dwLevel,
  LPDIRECTSOUNDFULLDUPLEX * ppDSFD,
  LPDIRECTSOUNDCAPTUREBUFFER8 * ppDSCBuffer8,
  LPDIRECTSOUNDBUFFER8 * ppDSBuffer8,
  LPUNKNOWN pUnkOuter
);

パラメータ

  • pcGuidCaptureDevice
    サウンド キャプチャー デバイスを識別する GUID のアドレスです。このパラメーターの値は DirectSoundCaptureEnumerate が返す GUID のいずれか、デフォルトのデバイスを指定する NULL、または次のいずれかの値である必要があります。

    説明
    DSDEVID_DefaultCapture システム全体の既定のオーディオ キャプチャー デバイスです。
    DSDEVID_DefaultVoiceCapture 既定の音声キャプチャー デバイスです。
  • pcGuidRenderDevice
    全二重出力用のサウンド レンダリング デバイスを識別する GUID のアドレスです。DirectSoundEnumerate が返す GUID のいずれか、デフォルトのレンダリング デバイスを指定する NULL、または次の値のいずれかである必要があります。

    説明
    DSDEVID_DefaultPlayback システム全体の既定のオーディオ再生デバイスです。
    DSDEVID_DefaultVoicePlayback 既定の音声再生用デバイスです。
  • pcDSCBufferDesc
    キャプチャー バッファーの特性を指定する DSCBUFFERDESC 構造体のアドレスです。

  • pcDSBufferDesc
    レンダリング バッファーの特性を指定する DSCBUFFERDESC 構造体のアドレスです。

  • hWnd
    アプリケーション ウィンドウへのハンドルです。

  • dwLevel
    デバイスの協力型レベルです。詳細については、「IDirectSound8::SetCooperativeLevel」を参照してください。

  • ppDSFD
    IDirectSoundFullDuplex8 インターフェイス ポインターを受け取る変数のアドレスです。

  • ppDSCBuffer8
    キャプチャー バッファーの IDirectSoundCaptureBuffer8 インターフェイスを受け取る変数のアドレスです。

  • ppDSBuffer8
    レンダリング バッファーの IDirectSoundBuffer8 インターフェイスを受け取る変数のアドレスです。

  • pUnkOuter
    COM 集成に対する制御オブジェクトの IUnknown インターフェイスのアドレスです。集成はサポートされていないので、NULL にする必要があります。

戻り値

成功した場合は DS_OK を返します。失敗した場合、戻り値は以下のいずれかになる場合があります。

リターン コード
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_NODRIVER
DSERR_OUTOFMEMORY

解説 

Windows:  Windows Vista に関する重要な情報

Windows Vista を使っている場合、DirectSound API を経由して Windows XP アコースティック エコー キャンセル (AEC) 機能にアクセスする既存のアプリケーションは AEC を使用できなくなります。これらのアプリケーションは引き続き動作できますが、AEC 仕様の DirectSound API 呼び出しを行ってもキャプチャーされたオーディオに変化はありません。

Windows Vista で AEC を使用する方法については、Windows SDK の「Windows Vista AEC」トピックを参照してください。

要件

ヘッダー: DSound.h 宣言

ライブラリ: Dsound.lib 内容

関連項目

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