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
1 つの空間オーディオ オブジェクトの書式記述子。 ストリームで使用されるすべてのオブジェクトは同じ形式である必要があり、形式は 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 の 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 |
Header | spatialaudiometadata.h |