ISpatialAudioObjectForHrtf::SetPosition 方法 (spatialaudiohrtf.h)
設定 3D 空間中相對於接聽程式的位置,從中轉譯 ISpatialAudioObjectForHrtf 音訊數據。
語法
HRESULT SetPosition(
[in] float x,
[in] float y,
[in] float z
);
參數
[in] x
音訊物件的 x 位置,以公尺為單位,相對於接聽程式。 正值位於接聽程式的右邊,而負值則位於左邊。
[in] y
音訊物件的 Y 位置,以公尺為單位,相對於接聽程式。 正值高於接聽程式,而負值則低於。
[in] z
音訊物件的 z 位置,以公尺為單位,相對於接聽程式。 正值位於接聽程式後方,負值位於前面。
傳回值
如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。
傳回碼 | Description |
---|---|
|
呼叫 SetPosition 之前未呼叫 ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects。 |
|
SetEndOfStream 在先前的音訊處理階段中明確或隱含地呼叫。 如果對ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjectS 和 ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects 和 ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObject) s 之間的 (,則系統會隱含呼叫 SetEndOfStream。 |
|
ISpatialAudioObjectForHrtf 的類型不是 AudioObjectType_Dynamic。 使用 type 參數將音訊對象的類型設定為 ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObjectForHrtf 方法。 |
備註
這個方法只能在類型為 AudioObjectType_Dynamic 的 ISpatialAudioObjectForHrtf 上呼叫。 將 具有 type 參數的音訊對象類型設定為 ISpatialAudioObjectRenderStreamForHrtf::ActivateSpatialAudioObjectForHrtf 方法。
位置值會使用右手的笛卡兒座標系統,其中每個單位都代表 1 公尺。 坐標系統相對於 (x=0.0、y=0.0、z=0.0、z=0.0) 的接聽程式代表接聽程式接聽程序之間的中心點。
如果未呼叫 SetPosition ,則會使用原點 (x=0.0、y=0.0、z=0.0) 做為預設位置。 呼叫 SetPosition 之後,設定的位置將會用於音訊物件,直到位置變更為 SetPosition 的另一個呼叫為止。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | spatialaudiohrtf.h |