次の方法で共有


IDirectSound3DListener8::SetPosition

SetPosition メソッドは、リスナーの位置を設定します。

HRESULT 
SetPosition(
  D3DVALUE x,
  D3DVALUE y,
  D3DVALUE z,
  DWORD dwApply
);

パラメータ

  • x
    リスナーの位置ベクトルの x 座標を指定する値です。浮動小数点のオーバーフローを防ぐために、この値が調整される場合があります。D3DVALUE は、float として定義されています。

  • y
    リスナーの位置ベクトルの y 座標を指定する値です。浮動小数点のオーバーフローを防ぐために、この値が調整される場合があります。D3DVALUE は、float として定義されています。

  • z
    リスナーの位置ベクトルの z 座標を指定する値です。浮動小数点のオーバーフローを防ぐために、この値が調整される場合があります。D3DVALUE は、float として定義されています。

  • dwApply
    設定を適用するタイミングを指定する値です。次の値のいずれかでなければなりません。

    説明
    DS3D_DEFERREDアプリケーションが CommitDeferredSettings メソッドを呼び出すまで、設定は適用されません。これにより、複数の設定を変更した後に、1 回の再計算でそれらを適用できます。
    DS3D_IMMEDIATE設定が直ちに適用され、すべての 3D サウンド バッファーの 3D 座標が再計算されます。

戻り値

成功した場合は、DS_OK を返します。失敗した場合は、DSERR_INVALIDPARAM を返します。

解説 

デフォルトの計測単位はメートルですが、SetDistanceFactor メソッドを呼び出して変更することができます。

要件

ヘッダー: DSound.h 宣言

ライブラリ: Dsound3d.dll 内容

関連項目

IDirectSound3DListener8