Поделиться через


Структура SpatialAudioObjectRenderStreamForMetadataActivationParams2 (spatialaudiometadata.h)

Представляет параметры активации потока отрисовки пространственного звука для метаданных, расширяя SpatialAudioObjectRenderStreamForMetadataActivationParams (spatialaudiometadata.h) с возможностью указания параметров потока.

Синтаксис

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;

Члены

ObjectFormat

Дескриптор форматирования для одного пространственного звукового объекта. Все объекты, используемые потоком, должны иметь одинаковый формат и иметь тип WAVEFORMATEX или WAVEFORMATEXTENSIBLE.

StaticObjectTypeMask

Побитовое сочетание значений AudioObjectType , указывающее набор статических пространственных звуковых каналов, разрешенных активированным потоком.

MinDynamicObjectCount

Минимальное количество параллельных динамических объектов. Если это количество динамических звуковых объектов не удается активировать одновременно, ISpatialAudioClient::ActivateSpatialAudioStream завершится сбоем с этой ошибкой SPTLAUDCLNT_E_NO_MORE_OBJECTS.

MaxDynamicObjectCount

Максимальное количество параллельных динамических объектов, которые можно активировать с помощью ISpatialAudioObjectRenderStream.

Category

Категория звукового потока и его пространственных звуковых объектов.

EventHandle

Событие, которое сигнализирует клиенту о предоставлении дополнительных звуковых данных. Этот дескриптор будет продублирован внутри системы перед его использованием.

MetadataFormatId

Идентификатор формата метаданных для активного в данный момент модуля пространственной отрисовки.

MaxMetadataItemCount

Максимальное количество элементов метаданных на кадр.

MetadataActivationParams

Дополнительные параметры активации.

NotifyObject

Объект , предоставляющий уведомления для клиентов пространственного звука для реагирования на изменения в состоянии ISpatialAudioObjectRenderStream. Этот объект используется для уведомления клиентов о том, что количество динамических пространственных звуковых объектов, которые могут быть активированы одновременно, вскоре изменится.

Options

Элемент SPATIAL_AUDIO_STREAM_OPTIONS эмумерации, указывающий параметры для активированного аудиопотока.

Комментарии

В следующем примере показано, как активировать поток метаданных с параметрами потока.

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

Требования

Требование Значение
Минимальная версия клиента Сборка Windows 22000
Верхняя часть spatialaudiometadata.h