Структура SpatialAudioHrtfActivationParams2 (spatialaudiohrtf.h)
Представляет параметры активации для потока отрисовки пространственного звука, расширяя SpatialAudioHrtfActivationParams (spatialaudiohrtf.h) с возможностью указания параметров потока.
Синтаксис
typedef struct SpatialAudioHrtfActivationParams2 {
const WAVEFORMATEX *ObjectFormat;
AudioObjectType StaticObjectTypeMask;
UINT32 MinDynamicObjectCount;
UINT32 MaxDynamicObjectCount;
AUDIO_STREAM_CATEGORY Category;
HANDLE EventHandle;
ISpatialAudioObjectRenderStreamNotify *NotifyObject;
SpatialAudioHrtfDistanceDecay *DistanceDecay;
SpatialAudioHrtfDirectivityUnion *Directivity;
SpatialAudioHrtfEnvironmentType *Environment;
SpatialAudioHrtfOrientation *Orientation;
SPATIAL_AUDIO_STREAM_OPTIONS Options;
} SpatialAudioHrtfActivationParams2;
Члены
ObjectFormat
Дескриптор формата для пространственных звуковых объектов, связанных с потоком. Все объекты должны иметь одинаковый формат и иметь тип WAVEFORMATEX или WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Побитовое сочетание значений AudioObjectType , указывающее набор статических пространственных звуковых каналов, разрешенных активированным потоком.
MinDynamicObjectCount
Минимальное количество параллельных динамических объектов. Если это количество динамических звуковых объектов нельзя активировать одновременно, динамические звуковые объекты не будут активированы.
MaxDynamicObjectCount
Максимальное количество параллельных динамических объектов, которые можно активировать с помощью ISpatialAudioRenderStreamForHrtf.
Category
Категория звукового потока и его пространственных звуковых объектов.
EventHandle
Событие, которое сигнализирует клиенту о предоставлении дополнительных звуковых данных. Этот дескриптор будет продублирован внутри системы перед его использованием.
NotifyObject
Объект, предоставляющий уведомления для клиентов пространственного звука для реагирования на изменения в состоянии ISpatialAudioRenderStreamForHrtf. Этот объект используется для уведомления клиентов о том, что количество динамических пространственных звуковых объектов, которые могут быть активированы одновременно, вскоре изменится.
DistanceDecay
Необязательное значение по умолчанию для модели распада, используемой для объектов ISpatialAudioObjectForHrtf , связанных с потоком. значение nullptr, если оно не используется.
Directivity
Необязательное значение по умолчанию для модели направления пространственного звука, используемой для объектов ISpatialAudioObjectForHrtf , связанных с потоком. значение nullptr, если оно не используется.
Environment
Необязательное значение по умолчанию для типа среды, имитируемой при обработке звука для объектов ISpatialAudioObjectForHrtf , связанных с потоком. значение nullptr, если оно не используется.
Orientation
Необязательное значение по умолчанию для ориентации объектов ISpatialAudioObjectForHrtf , связанных с потоком. значение nullptr, если оно не используется.
Options
Элемент SPATIAL_AUDIO_STREAM_OPTIONS эмумерации, указывающий параметры для активированного аудиопотока.
Комментарии
В следующем примере демонстрируется активация потока отрисовки пространственного звука для HRTF с параметрами потока.
void CreateSpatialAudioObjectRenderStreamForHrtf(
_In_ ISpatialAudioClient2* spatialAudioClient,
_In_ WAVEFORMATEX const* objectFormat,
AudioObjectType staticObjectTypeMask,
UINT32 minDynamicObjectCount,
UINT32 maxDynamicObjectCount,
AUDIO_STREAM_CATEGORY streamCategory,
_In_ HANDLE eventHandle,
_In_opt_ ISpatialAudioObjectRenderStreamNotify* notifyObject,
_In_opt_ SpatialAudioHrtfDistanceDecay* distanceDecay,
_In_opt_ SpatialAudioHrtfDirectivityUnion* directivity,
_In_opt_ SpatialAudioHrtfEnvironmentType* environment,
_In_opt_ SpatialAudioHrtfOrientation* orientation,
bool enableOffload,
_COM_Outptr_ ISpatialAudioObjectRenderStreamForHrtf** stream)
{
SpatialAudioHrtfActivationParams2 streamActivationParams =
{
objectFormat,
staticObjectTypeMask,
minDynamicObjectCount,
maxDynamicObjectCount,
streamCategory,
eventHandle,
notifyObject,
distanceDecay,
directivity,
environment,
orientation,
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 |
Верхняя часть | spatialaudiohrtf.h |