Estructura SpatialAudioHrtfActivationParams2 (spatialaudiohrtf.h)
Representa los parámetros de activación de una secuencia de representación de audio espacial, ampliando SpatialAudioHrtfActivationParams (spatialaudiohrtf.h) con la capacidad de especificar opciones de secuencia.
Sintaxis
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;
Miembros
ObjectFormat
Descriptor de formato para objetos de audio espaciales asociados a la secuencia. Todos los objetos deben tener el mismo formato y deben ser de tipo WAVEFORMATEX o WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Combinación bit a bit de valores AudioObjectType que indica el conjunto de canales de audio espacial estáticos que permitirá la secuencia activada.
MinDynamicObjectCount
Número mínimo de objetos dinámicos simultáneos. Si este número de objetos de audio dinámico no se puede activar simultáneamente, no se activará ningún objeto de audio dinámico.
MaxDynamicObjectCount
Número máximo de objetos dinámicos simultáneos que se pueden activar con ISpatialAudioRenderStreamForHrtf.
Category
Categoría de la secuencia de audio y sus objetos de audio espaciales.
EventHandle
Evento que indicará al cliente que proporcione más datos de audio. Este identificador se duplicará internamente antes de que se use.
NotifyObject
Objeto que proporciona notificaciones para que los clientes de audio espacial respondan a los cambios en el estado de un ISpatialAudioRenderStreamForHrtf. Este objeto se usa para notificar a los clientes que el número de objetos de audio espacial dinámicos que se pueden activar simultáneamente está a punto de cambiar.
DistanceDecay
Valor predeterminado opcional para el modelo de descomposición usado para los objetos ISpatialAudioObjectForHrtf asociados a la secuencia. nullptr si no se hausado.
Directivity
Valor predeterminado opcional para el modelo de directividad de audio espacial usado para los objetos ISpatialAudioObjectForHrtf asociados a la secuencia. nullptr si no se hausado.
Environment
Valor predeterminado opcional para el tipo de entorno que se simula cuando se procesa el audio para los objetos ISpatialAudioObjectForHrtf asociados a la secuencia. nullptr si no se hausado.
Orientation
Valor predeterminado opcional para la orientación de los objetos ISpatialAudioObjectForHrtf asociados a la secuencia. nullptr si no se hausado.
Options
Miembro de la SPATIAL_AUDIO_STREAM_OPTIONS emumeración, especificando las opciones de la secuencia de audio activada.
Comentarios
En el ejemplo siguiente se muestra cómo activar una secuencia de representación de audio espacial para HRTF con opciones de secuencia.
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)));
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compilación 22000 de Windows |
Encabezado | spatialaudiohrtf.h |