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
동시 동적 개체의 최소 수입니다. 이 수의 동적 오디오 개체를 동시에 활성화할 수 없는 경우 이 오류 SPTLAUDCLNT_E_NO_MORE_OBJECTSISpatialAudioClient::ActivateSpatialAudioStream이 실패합니다.
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 |