Compartir a través de


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

Establece la posición en el espacio 3D, en relación con el agente de escucha, desde el que se representarán los datos de audio ISpatialAudioObject .

Sintaxis

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

Parámetros

[in] x

Posición x del objeto de audio, en metros, en relación con el agente de escucha. Los valores positivos están a la derecha del agente de escucha y los valores negativos están a la izquierda.

[in] y

Posición y del objeto de audio, en metros, en relación con el agente de escucha. Los valores positivos están por encima del agente de escucha y los valores negativos se encuentran a continuación.

[in] z

Posición z del objeto de audio, en metros, en relación con el agente de escucha. Los valores positivos están detrás del agente de escucha y los valores negativos están delante.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los posibles códigos de retorno incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
SPTLAUDCLNT_E_OUT_OF_ORDER

No se llamó a ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects antes de la llamada a SetPosition.

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

Se llamó a SetEndOfStream de forma explícita o implícita en un paso de procesamiento de audio anterior. El sistema llama implícitamente a SetEndOfStream si no se llama a GetBuffer dentro de un paso de procesamiento de audio (entre llamadas a ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects e ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects).

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
ISpatialAudioObject no es de tipo AudioObjectType_Dynamic. Establezca el tipo del objeto de audio con el parámetro type en el método ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject .

Comentarios

Solo se puede llamar a este método en un ISpatialAudioObject de tipo AudioObjectType_Dynamic. Establezca el tipo del objeto de audio con el parámetro type en el método ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject .

Los valores de posición usan un sistema de coordenadas cartesiano a la derecha, donde cada unidad representa 1 metro. El sistema de coordenadas es relativo al agente de escucha donde el origen (x=0.0, y=0.0, z=0.0) representa el punto central entre los oídos del agente de escucha.

Si nunca se llama a SetPosition , el origen (x=0.0, y=0.0, z=0.0) se usa como posición predeterminada. Después de llamar a SetPosition , la posición que se establece se usará para el objeto de audio hasta que la posición se cambie con otra llamada a SetPosition.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado spatialaudioclient.h

Consulte también

ISpatialAudioObject