Метод ISpatialAudioObject::SetPosition (spatialaudioclient.h)
Задает позицию в трехмерном пространстве относительно прослушивателя, из которого будут отображаться звуковые данные ISpatialAudioObject .
Синтаксис
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 был вызван явно или неявно в предыдущем проходе обработки звука. Метод SetEndOfStream вызывается системой неявно, если Метод GetBuffer не вызывается в пределах прохода обработки звука (между вызовами ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects и ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects). |
|
ISpatialAudioObject не имеет типа AudioObjectType_Dynamic. Задайте тип звукового объекта с параметром type для метода ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject . |
Комментарии
Этот метод можно вызывать только в ISpatialAudioObject типа AudioObjectType_Dynamic. Задайте тип звукового объекта с параметром 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 |
Header | spatialaudioclient.h |