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 |