Estructura SpatialAudioObjectRenderStreamForMetadataActivationParams2 (spatialaudiometadata.h)

Representa parámetros de activación para un flujo de representación de audio espacial para metadatos, ampliando SpatialAudioObjectRenderStreamForMetadataActivationParams (spatialaudiometadata.h) con la capacidad de especificar opciones de secuencia.

Sintaxis

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;

Miembros

ObjectFormat

Descriptor de formato para un único objeto de audio espacial. Todos los objetos usados por la secuencia deben tener el mismo formato y el formato debe 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ámicos no se puede activar simultáneamente, ISpatialAudioClient::ActivateSpatialAudioStream producirá este error SPTLAUDCLNT_E_NO_MORE_OBJECTS.

MaxDynamicObjectCount

Número máximo de objetos dinámicos simultáneos que se pueden activar con ISpatialAudioObjectRenderStream.

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 su uso.

MetadataFormatId

Identificador del formato de metadatos del motor de representación espacial activo actualmente.

MaxMetadataItemCount

Número máximo de elementos de metadatos por fotograma.

MetadataActivationParams

Parámetros de activación adicionales.

NotifyObject

Objeto que proporciona notificaciones para que los clientes de audio espacial respondan a los cambios en el estado de un ISpatialAudioObjectRenderStream. 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.

Options

Miembro de la SPATIAL_AUDIO_STREAM_OPTIONS emumeración, especificando opciones para la secuencia de audio activada.

Comentarios

En el ejemplo siguiente se muestra cómo activar un flujo de metadatos con opciones de secuencia.

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)));
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows Build 22000
Encabezado spatialaudiometadata.h