Partager via


Méthode ISpatialAudioObjectRenderStreamForMetadata ::ActivateSpatialAudioObjectForMetadataCommands (spatialaudiometadata.h)

Activez un ISpatialAudioObjectForMetadataCommands pour le rendu.

Syntaxe

HRESULT ActivateSpatialAudioObjectForMetadataCommands(
  [in]  AudioObjectType                        type,
  [out] ISpatialAudioObjectForMetadataCommands **audioObject
);

Paramètres

[in] type

Type d’objet audio à activer. Pour les objets audio dynamiques, cette valeur doit être AudioObjectType_Dynamic. Pour les objets audio statiques, spécifiez l’une des valeurs de canal audio statique de l’énumération. La spécification AudioObjectType_None génère un objet audio qui n’est pas spatialisé.

[out] audioObject

Reçoit un pointeur vers l’interface activée.

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_NO_MORE_OBJECTS
Le nombre maximal d’objets audio spatiaux simultanés a été dépassé. Appelez Release sur les objets audio inutilisés avant d’essayer d’activer des objets supplémentaires.
SPTLAUDCLNT_E_STATIC_OBJECT_NOT_AVAILABLE
Le canal statique spécifié dans le paramètre type n’a pas été inclus dans le champ StaticObjectTypeMask de SpatialAudioObjectRenderStreamForMetadataActivationParams transmis dans ISpatialAudioClient ::ActivateSpatialAudioStream.
SPTLAUDCLNT_E_OBJECT_ALREADY_ACTIVE
Un objet audio spatial a déjà été activé pour le canal statique spécifié dans le paramètre type .
E_POINTER
Le pointeur fourni n’est pas valide.
E_INVALIDARG
La valeur spécifiée dans le paramètre de type n’est pas l’une des valeurs définies par l’énumération AudioObjectType .
SPTLAUDCLNT_E_DESTROYED
L’ISpatialAudioClient associé au flux audio spatial a été détruit.
AUDCLNT_E_DEVICE_INVALIDATED
Le périphérique de point de terminaison audio a été débranché, ou le matériel audio ou les ressources matérielles associées ont été reconfigurés, désactivés, supprimés ou autrement indisponibles.
SPTLAUDCLNT_E_INTERNAL
Une erreur interne s'est produite.
AUDCLNT_E_UNSUPPORTED_FORMAT
Le média associé au flux audio spatial utilise un format non pris en charge.

Remarques

Un ISpatialAudioObjectForMetadataCommands dynamique a été activé en définissant le paramètre type sur la méthode ActivateSpatialAudioObjectForMetadataCommands pour AudioObjectType_Dynamic. Le client a une limite du nombre maximal d’objets audio spatiaux dynamiques qui peuvent être activés à la fois. Une fois la limite atteinte, la tentative d’activation d’objets audio supplémentaires entraîne le retour d’une erreur de SPTLAUDCLNT_E_NO_MORE_OBJECTS. Pour éviter cela, appelez Release sur chaque ISpatialAudioObjectForMetadataCommands dynamique une fois qu’il n’est plus utilisé pour libérer la ressource afin qu’elle puisse être réaffectée. Consultez ISpatialAudioObjectBase ::IsActive et ISpatialAudioObjectBase ::SetEndOfStream pour plus d’informations sur la gestion de la durée de vie des objets audio spatiaux.

Configuration requise

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

Voir aussi

ISpatialAudioObjectForMetadataItems