SpatialAudioObjectRenderStreamForMetadataActivationParams2, structure (spatialaudiometadata.h)
Représente les paramètres d’activation d’un flux de rendu audio spatial pour les métadonnées, en étendant SpatialAudioObjectRenderStreamForMetadataActivationParams (spatialaudiometadata.h) avec la possibilité de spécifier des options de flux.
Syntaxe
typedef struct SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
const WAVEFORMATEX *ObjectFormat;
AudioObjectType StaticObjectTypeMask;
UINT32 MinDynamicObjectCount;
UINT32 MaxDynamicObjectCount;
AUDIO_STREAM_CATEGORY Category;
HANDLE EventHandle;
GUID MetadataFormatId;
UINT32 MaxMetadataItemCount;
const PROPVARIANT *MetadataActivationParams;
ISpatialAudioObjectRenderStreamNotify *NotifyObject;
SPATIAL_AUDIO_STREAM_OPTIONS Options;
} SpatialAudioObjectRenderStreamForMetadataActivationParams2;
Membres
ObjectFormat
Descripteur de format pour un seul objet audio spatial. Tous les objets utilisés par le flux doivent avoir le même format et le format doit être de type WAVEFORMATEX ou WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Combinaison de bits de valeurs AudioObjectType indiquant l’ensemble de canaux audio spatiaux statiques autorisés par le flux activé.
MinDynamicObjectCount
Nombre minimal d’objets dynamiques simultanés. Si ce nombre d’objets audio dynamiques ne peut pas être activé simultanément, ISpatialAudioClient ::ActivateSpatialAudioStream échoue avec cette erreur SPTLAUDCLNT_E_NO_MORE_OBJECTS.
MaxDynamicObjectCount
Nombre maximal d’objets dynamiques simultanés qui peuvent être activés avec ISpatialAudioObjectRenderStream.
Category
Catégorie du flux audio et de ses objets audio spatiaux.
EventHandle
Événement qui signale au client qu’il fournit davantage de données audio. Ce handle sera dupliqué en interne avant d’être utilisé.
MetadataFormatId
Identificateur du format de métadonnées pour le moteur de rendu spatial actuellement actif.
MaxMetadataItemCount
Nombre maximal d’éléments de métadonnées par image.
MetadataActivationParams
Paramètres d’activation supplémentaires.
NotifyObject
Objet qui fournit des notifications permettant aux clients audio spatiaux de répondre aux modifications de l’état d’un ISpatialAudioObjectRenderStream. Cet objet est utilisé pour informer les clients que le nombre d’objets audio spatiaux dynamiques pouvant être activés simultanément est sur le point de changer.
Options
Un membre du SPATIAL_AUDIO_STREAM_OPTIONS emumeration, en spécifiant des options pour le flux audio activé.
Remarques
L’exemple suivant montre comment activer un flux de métadonnées avec des options de flux.
void CreateSpatialAudioObjectRenderStreamForMetadata(
_In_ ISpatialAudioClient2* spatialAudioClient,
_In_ WAVEFORMATEX const* objectFormat,
AudioObjectType staticObjectTypeMask,
UINT32 minDynamicObjectCount,
UINT32 maxDynamicObjectCount,
AUDIO_STREAM_CATEGORY streamCategory,
_In_ HANDLE eventHandle,
REFGUID metadataFormatId,
UINT32 maxMetadataItemCount,
_In_opt_ PROPVARIANT const* metadataActivationParams,
_In_opt_ ISpatialAudioObjectRenderStreamNotify* notifyObject,
bool enableOffload,
_COM_Outptr_ ISpatialAudioObjectRenderStreamForMetadata** stream)
{
SpatialAudioObjectRenderStreamForMetadataActivationParams2 streamActivationParams =
{
objectFormat,
staticObjectTypeMask,
minDynamicObjectCount,
maxDynamicObjectCount,
streamCategory,
eventHandle,
metadataFormatId,
maxMetadataItemCount,
metadataActivationParams,
notifyObject,
enableOffload ? SPATIAL_AUDIO_STREAM_OPTIONS_OFFLOAD : SPATIAL_AUDIO_STREAM_OPTIONS_NONE
};
PROPVARIANT activateParamsPropVariant = {};
activateParamsPropVariant.vt = VT_BLOB;
activateParamsPropVariant.blob.cbSize = sizeof(streamActivationParams);
activateParamsPropVariant.blob.pBlobData = reinterpret_cast<BYTE*>(&streamActivationParams);
*stream = nullptr;
THROW_IF_FAILED(spatialAudioClient->ActivateSpatialAudioStream(&activateParamsPropVariant, IID_PPV_ARGS(stream)));
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Build 22000 |
En-tête | spatialaudiometadata.h |