共用方式為


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

格式化單一空間音頻物件的描述元。 數據流使用的所有物件都必須具有相同的格式,而且格式必須是 類型為「顯示」X 或「限制」XTENSIBLE

StaticObjectTypeMask

AudioObjectType 值的位元組合,表示啟動數據流將允許的靜態空間音訊通道集。

MinDynamicObjectCount

並行動態物件的數目下限。 如果無法同時啟動這個數目的動態音頻物件, ISpatialAudioClient::ActivateSpatialAudioStream 將會失敗,並出現此錯誤 SPTLAUDCLNT_E_NO_MORE_OBJECTS

MaxDynamicObjectCount

可以使用 ISpatialAudioObjectRenderStream 啟動的並行動態物件數目上限。

Category

音訊數據流及其空間音訊對象的類別。

EventHandle

會向用戶端發出訊號的事件,以提供更多音訊數據。 使用這個句柄之前,會在內部重複此句柄。

MetadataFormatId

目前使用中空間轉譯引擎之元數據格式的標識碼。

MaxMetadataItemCount

每個畫面的元數據項目數目上限。

MetadataActivationParams

其他啟用參數。

NotifyObject

物件,提供空間音訊用戶端通知,以回應 ISpatialAudioObjectRenderStream 狀態的變更。 此物件用來通知用戶端可以同時啟動的動態空間音訊物件數目即將變更。

Options

SPATIAL_AUDIO_STREAM_OPTIONS emumeration 的成員,指定啟用音訊數據流的選項。

備註

下列範例示範如何使用數據流選項來啟用元數據數據流。

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