Compartilhar via


Método ISpatialAudioObject::SetPosition (spatialaudioclient.h)

Define a posição no espaço 3D em relação ao ouvinte, do qual os dados de áudio ISpatialAudioObject serão renderizados.

Sintaxe

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

Parâmetros

[in] x

A posição x do objeto de áudio, em metros, em relação ao ouvinte. Os valores positivos estão à direita do ouvinte e os valores negativos estão à esquerda.

[in] y

A posição y do objeto de áudio, em metros, em relação ao ouvinte. Os valores positivos estão acima do ouvinte e os valores negativos estão abaixo.

[in] z

A posição z do objeto de áudio, em metros, em relação ao ouvinte. Os valores positivos estão por trás do ouvinte e os valores negativos estão na frente.

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Descrição
SPTLAUDCLNT_E_OUT_OF_ORDER

ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects não foi chamado antes da chamada para SetPosition.

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

SetEndOfStream foi chamado explicitamente ou implicitamente em uma passagem de processamento de áudio anterior. SetEndOfStream será chamado implicitamente pelo sistema se GetBuffer não for chamado dentro de uma passagem de processamento de áudio (entre chamadas para ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects e ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects).

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
O ISpatialAudioObject não é do tipo AudioObjectType_Dynamic. Defina o tipo do objeto de áudio com o parâmetro type como o método ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject .

Comentários

Esse método só pode ser chamado em um ISpatialAudioObject do tipo AudioObjectType_Dynamic. Defina o tipo do objeto de áudio com o parâmetro type como o método ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject .

Os valores de posição usam um sistema de coordenadas cartesiano destro, em que cada unidade representa 1 metro. O sistema de coordenadas é relativo ao ouvinte em que a origem (x=0,0, y=0,0, z=0,0) representa o ponto central entre os ouvidos do ouvinte.

Se SetPosition nunca for chamado, a origem (x=0,0, y=0,0, z=0,0) será usada como a posição padrão. Depois que SetPosition for chamado, a posição definida será usada para o objeto de áudio até que a posição seja alterada com outra chamada para SetPosition.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho spatialaudioclient.h

Confira também

ISpatialAudioObject