Поделиться через


Метод ISpatialAudioObjectForHrtf::SetPosition (spatialaudiohrtf.h)

Задает положение в трехмерном пространстве относительно прослушивателя, из которого будут отображаться звуковые данные ISpatialAudioObjectForHrtf .

Синтаксис

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 был вызван явно или неявно в предыдущем проходе обработки звука. SetEndOfStream вызывается системой неявно, если GetBuffer не вызывается в рамках прохода обработки звука (между вызовами ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects и ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects).

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
ISpatialAudioObjectForHrtf не имеет типа AudioObjectType_Dynamic. Задайте тип звукового объекта с параметром typeметодом ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObjectForHrtf .

Комментарии

Этот метод можно вызывать только в ISpatialAudioObjectForHrtf типа AudioObjectType_Dynamic. Задайте для типа звукового объекта с параметром type метод ISpatialAudioObjectRenderStreamForHrtf::ActivateSpatialAudioObjectForHrtf .

Для значений позиций используется правая декартовая система координат, где каждая единица представляет 1 метр. Система координат относительно прослушивателя, где источник (x=0,0, y=0,0, z=0,0) представляет центральную точку между ушами прослушивателя.

Если SetPosition никогда не вызывается, в качестве позиции по умолчанию используется источник (x=0,0, y=0,0, z=0,0). После вызова SetPosition заданная позиция будет использоваться для звукового объекта до тех пор, пока позиция не изменится при другом вызове Метода SetPosition.

Требования

Требование Значение
Целевая платформа Windows
Header spatialaudiohrtf.h

См. также раздел

ISpatialAudioObjectForHrtf