Structure SpatialAudioHrtfActivationParams2 (spatialaudiohrtf.h)
Représente les paramètres d’activation d’un flux de rendu audio spatial, en étendant SpatialAudioHrtfActivationParams (spatialaudiohrtf.h) avec la possibilité de spécifier des options de flux.
Syntaxe
typedef struct SpatialAudioHrtfActivationParams2 {
const WAVEFORMATEX *ObjectFormat;
AudioObjectType StaticObjectTypeMask;
UINT32 MinDynamicObjectCount;
UINT32 MaxDynamicObjectCount;
AUDIO_STREAM_CATEGORY Category;
HANDLE EventHandle;
ISpatialAudioObjectRenderStreamNotify *NotifyObject;
SpatialAudioHrtfDistanceDecay *DistanceDecay;
SpatialAudioHrtfDirectivityUnion *Directivity;
SpatialAudioHrtfEnvironmentType *Environment;
SpatialAudioHrtfOrientation *Orientation;
SPATIAL_AUDIO_STREAM_OPTIONS Options;
} SpatialAudioHrtfActivationParams2;
Membres
ObjectFormat
Mettre en forme le descripteur pour les objets audio spatiaux associés au flux. Tous les objets doivent avoir le même format et doivent être de type WAVEFORMATEX ou WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Combinaison de valeurs AudioObjectType au niveau du bit 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, aucun objet audio dynamique n’est activé.
MaxDynamicObjectCount
Nombre maximal d’objets dynamiques simultanés qui peuvent être activés avec ISpatialAudioRenderStreamForHrtf.
Category
Catégorie du flux audio et de ses objets audio spatiaux.
EventHandle
Événement qui indique au client de fournir davantage de données audio. Ce handle sera dupliqué en interne avant d’être utilisé.
NotifyObject
Objet qui fournit des notifications permettant aux clients audio spatiaux de répondre aux modifications de l’état d’un ISpatialAudioRenderStreamForHrtf. Cet objet est utilisé pour informer les clients que le nombre d’objets audio spatiaux dynamiques qui peuvent être activés simultanément est sur le point de changer.
DistanceDecay
Valeur par défaut facultative pour le modèle de désintégration utilisé pour les objets ISpatialAudioObjectForHrtf associés au flux. nullptr si elle n’est pas utilisée.
Directivity
Valeur par défaut facultative pour le modèle de directivité audio spatiale utilisé pour les objets ISpatialAudioObjectForHrtf associés au flux. nullptr si elle n’est pas utilisée.
Environment
Valeur par défaut facultative pour le type d’environnement simulé lorsque l’audio est traité pour les objets ISpatialAudioObjectForHrtf associés au flux. nullptr si elle n’est pas utilisée.
Orientation
Valeur par défaut facultative pour l’orientation des objets ISpatialAudioObjectForHrtf associés au flux. nullptr si elle n’est pas utilisée.
Options
Membre du SPATIAL_AUDIO_STREAM_OPTIONS emumeration, spécifiant les options pour le flux audio activé.
Remarques
L’exemple suivant montre comment activer un flux de rendu audio spatial pour HRTF avec des options de flux.
void CreateSpatialAudioObjectRenderStreamForHrtf(
_In_ ISpatialAudioClient2* spatialAudioClient,
_In_ WAVEFORMATEX const* objectFormat,
AudioObjectType staticObjectTypeMask,
UINT32 minDynamicObjectCount,
UINT32 maxDynamicObjectCount,
AUDIO_STREAM_CATEGORY streamCategory,
_In_ HANDLE eventHandle,
_In_opt_ ISpatialAudioObjectRenderStreamNotify* notifyObject,
_In_opt_ SpatialAudioHrtfDistanceDecay* distanceDecay,
_In_opt_ SpatialAudioHrtfDirectivityUnion* directivity,
_In_opt_ SpatialAudioHrtfEnvironmentType* environment,
_In_opt_ SpatialAudioHrtfOrientation* orientation,
bool enableOffload,
_COM_Outptr_ ISpatialAudioObjectRenderStreamForHrtf** stream)
{
SpatialAudioHrtfActivationParams2 streamActivationParams =
{
objectFormat,
staticObjectTypeMask,
minDynamicObjectCount,
maxDynamicObjectCount,
streamCategory,
eventHandle,
notifyObject,
distanceDecay,
directivity,
environment,
orientation,
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 | spatialaudiohrtf.h |