KSDS3D_ITD_PARAMS 结构 (ksmedia.h)
KSDS3D_ITD_PARAMS 结构指定由 ITD) 算法在 3D 节点 (KSNODETYPE_3D_EFFECTS) 中向左或右通道应用 (ITD 时间 延迟的参数。
语法
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 算法需要此值来确定要应用平滑的样本数,以便在某个固定时间间隔内完成转换。 例如, KMixer 系统驱动程序 实现的 ITD 算法使用大约 1/8 秒的转换时间间隔。
Delay
指定此通道的时间延迟。 延迟表示为样本的整数数。
注解
此结构由 KSDS3D_ITD_PARAMS_MSG 结构使用, KSPROPERTY_ITD3D_PARAMS 属性请求使用该结构为 3D 音频流的左右通道指定 ITD 参数。
Delay 成员指定当前声道延迟来自源的声音的量。 隔膜时间延迟是两个通道之间的延迟差异。
衰减的信号是衰减的干信号和衰减的湿信号之和:
TotalDryAttenuation + TotalWetAttenuation
相对于 TotalDryAttenuation 增加 TotalWetAttenuation 的大小会产生越来越混乱的声音。 两个衰减因子是从声源的位置、方向和音锥计算得出的。
当KSPROPERTY_ITD3D_PARAMS set-property 请求更改 TotalDryAttenuation 或 TotalWetAttenuation 时,衰减级别的更改将平滑多个样本,以避免产生虚假的单击噪音。 VolSmoothScale 成员指定在平滑过程中每个步骤中缩放信号衰减的量。 如果衰减增加,则此参数为略小于 1 的值;如果衰减减小,则此参数为略大于 1 的值。 在平滑处理过程中的每个步骤中,上一步的衰减乘以此参数。 达到目标衰减时,该过程完成。
要求
要求 | 值 |
---|---|
Header | ksmedia.h (包括 Ksmedia.h) |