Partager via


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

Définit la position dans l’espace 3D, par rapport à l’écouteur, à partir de laquelle les données audio ISpatialAudioObject seront rendues.

Syntaxe

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

Paramètres

[in] x

Position x de l’objet audio, en mètres, par rapport à l’écouteur. Les valeurs positives se trouvent à droite de l’écouteur et les valeurs négatives se trouvent à gauche.

[in] y

Position y de l’objet audio, en mètres, par rapport à l’écouteur. Les valeurs positives sont au-dessus de l’écouteur et les valeurs négatives sont inférieures.

[in] z

Position z de l’objet audio, en mètres, par rapport à l’écouteur. Les valeurs positives se trouvent derrière l’écouteur et les valeurs négatives sont devant.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
SPTLAUDCLNT_E_OUT_OF_ORDER

ISpatialAudioObjectRenderStreamBase ::BeginUpdatingAudioObjects n’a pas été appelé avant l’appel à SetPosition.

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

SetEndOfStream a été appelé explicitement ou implicitement dans un passe de traitement audio précédent. SetEndOfStream est appelé implicitement par le système si GetBuffer n’est pas appelé dans un passe de traitement audio (entre les appels à ISpatialAudioObjectRenderStreamBase ::BeginUpdatingAudioObjects et ISpatialAudioObjectRenderStreamBase ::EndUpdatingAudioObjects).

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
L’objet ISpatialAudioObject n’est pas de type AudioObjectType_Dynamic. Définissez le type de l’objet audio avec le paramètre type sur la méthode ISpatialAudioObjectRenderStreamBase ::ActivateSpatialAudioObject .

Remarques

Cette méthode ne peut être appelée que sur un objet ISpatialAudioObject de type AudioObjectType_Dynamic. Définissez le type de l’objet audio avec le paramètre type sur la méthode ISpatialAudioObjectRenderStreamBase ::ActivateSpatialAudioObject .

Les valeurs de position utilisent un système de coordonnées cartésien droitier, où chaque unité représente 1 mètre. Le système de coordonnées est relatif à l’écouteur où l’origine (x=0,0, y=0,0, z=0,0) représente le point central entre les oreilles de l’écouteur.

Si SetPosition n’est jamais appelé, l’origine (x=0.0, y=0.0, z=0.0) est utilisée comme position par défaut. Une fois setPosition appelé, la position définie est utilisée pour l’objet audio jusqu’à ce que la position soit modifiée avec un autre appel à SetPosition.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête spatialaudioclient.h

Voir aussi

ISpatialAudioObject