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