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 を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。
リターン コード | 説明 |
---|---|
|
ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects は 、SetPosition を呼び出す前に呼び出されませんでした。 |
|
SetEndOfStream は、以前のオーディオ処理パスで明示的または暗黙的に呼び出されました。 GetBuffer がオーディオ処理パス内で呼び出されない場合 、SetEndOfStream はシステムによって暗黙的に呼び出されます (ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects と ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects の呼び出しの間)。 |
|
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 |