Поделиться через


структура KSDS3D_ITD_PARAMS (ksmedia.h)

Структура KSDS3D_ITD_PARAMS указывает параметры, применяемые алгоритмом задержки между периодами времени (ITD) к левому или правому каналу в трехмерном узле (KSNODETYPE_3D_EFFECTS).

Синтаксис

typedef struct {
  LONG  Channel;
  FLOAT VolSmoothScale;
  FLOAT TotalDryAttenuation;
  FLOAT TotalWetAttenuation;
  LONG  SmoothFrequency;
  LONG  Delay;
} KSDS3D_ITD_PARAMS, *PKSDS3D_ITD_PARAMS;

Члены

Channel

Указывает номер канала (канал 0 — левый канал; канал 1 — правый).

VolSmoothScale

Указывает коэффициент рампы для масштабирования уровней тома. Дополнительные сведения см. в следующем разделе "Примечания".

TotalDryAttenuation

Указывает коэффициент аттенуации для сигнала "сухой" (исходный сигнал перед применением фильтра с низкой передачей для создания эффектов с глушенным эффектом). Дополнительные сведения см. в следующем разделе "Примечания".

TotalWetAttenuation

Указывает коэффициент аттенуации для сигнала "мокрой" (приглушенный сигнал после применения фильтра с низким проходом). Дополнительные сведения см. в следующем разделе "Примечания".

SmoothFrequency

Указывает частоту выборки аудиопотока. При переходе на новое значение TotalDryAttenuation или TotalWetAttenuation значение ITD требуется для определения количества выборок, по которым применяется сглаживание, чтобы завершить переход в течение определенного фиксированного интервала времени. Например, алгоритм ITD, реализованный драйвером системы KMixer KMixer, использует интервал времени перехода примерно 1/8 секунды.

Delay

Указывает задержку времени для этого канала. Задержка выражается как целочисленное число выборок.

Замечания

Эта структура используется структурой KSDS3D_ITD_PARAMS_MSG, в которой запрос свойства KSPROPERTY_ITD3D_PARAMS используется для указания параметров ITD для левого и правого каналов трехмерного аудиопотока.

Элемент Задержка указывает объем, по которому текущий канал задерживает звук, поступающий из источника. Задержка между интервалами времени — это разница в задержках между двумя каналами.

Аттенуированный сигнал — это сумма затененного сухого сигнала и затененного мокрого сигнала:

TotalDryAttenuation + TotalWetAttenuation

Увеличение размера TotalWetAttenuation относительно TotalDryAttenuation создает все более мученный звук. Два фактора аттенуации вычисляются из положения, ориентации и звукового конуса источника звука.

Если запрос на KSPROPERTY_ITD3D_PARAMS set-property изменяется либо TotalDryAttenuation или TotalWetAttenuation, изменение на уровне затенения сглаживается по ряду примеров, чтобы избежать создания спровожаемых шумов. Элемент VolSmoothScale указывает объем, с помощью которого необходимо масштабировать затенение сигнала на каждом шаге процесса сглаживания. Этот параметр является значением чуть меньше 1, если аттенуция увеличивается или немного больше 1, если затенение уменьшается. На каждом шаге в процессе сглаживания значение от предыдущего шага умножается на этот параметр. Процесс завершается после достижения целевого аттенуации.

Требования

Требование Ценность
заголовка ksmedia.h (include Ksmedia.h)

См. также

KSDS3D_ITD_PARAMS_MSG

KSPROPERTY_ITD3D_PARAMS