ISpatialAudioObject::SetPosition メソッド (spatialaudioclient.h)

ISpatialAudioObject オーディオ データのレンダリング元となるリスナーを基準にして、3D 空間内の位置を設定します。

構文

HRESULT SetPosition(
  [in] float x,
  [in] float y,
  [in] float z
);

パラメーター

[in] x

リスナーに対するオーディオ オブジェクトの x 位置 (メートル単位)。 正の値はリスナーの右側にあり、負の値は左側にあります。

[in] y

リスナーに対するオーディオ オブジェクトの y 位置 (メートル単位)。 正の値はリスナーの上にあり、負の値は以下です。

[in] z

リスナーに対するオーディオ オブジェクトの z 位置 (メートル単位)。 正の値はリスナーの背後にあり、負の値は前面にあります。

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。

リターン コード 説明
SPTLAUDCLNT_E_OUT_OF_ORDER

ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects、SetPosition を呼び出す前に呼び出されませんでした。

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

SetEndOfStream は、以前のオーディオ処理パスで明示的または暗黙的に呼び出されました。 GetBuffer がオーディオ処理パス内で呼び出されない場合 、SetEndOfStream はシステムによって暗黙的に呼び出されます (ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjectsISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects の呼び出しの間)。

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
ISpatialAudioObject、AudioObjectType_Dynamic型ではありません。 type パラメーターを持つオーディオ オブジェクトの ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject メソッドに設定します。

注釈

このメソッドは、AudioObjectType_Dynamic型の ISpatialAudioObject でのみ呼び出すことができます。 type パラメーターを持つオーディオ オブジェクトの ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject メソッドに設定します。

位置の値は、右利きのデカルト座標系を使用します。各単位は 1 メートルを表します。 座標系はリスナーに対して相対的であり、原点 (x=0.0, y=0.0, z=0.0) はリスナーの耳の間の中心点を表します。

SetPosition が呼び出されない場合は、原点 (x=0.0、y=0.0、z=0.0) が既定の位置として使用されます。 SetPosition が呼び出されると、SetPosition の別の呼び出しで位置が変更されるまで、設定された位置がオーディオ オブジェクトに使用されます。

要件

要件
対象プラットフォーム Windows
ヘッダー spatialaudioclient.h

こちらもご覧ください

ISpatialAudioObject