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 |