KSDS3D_ITD_PARAMS 結構 (ksmedia.h)
KSDS3D_ITD_PARAMS 結構會指定在 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
增加 TotalWetAttenuation 相對於 TotalDryAttenuation 的大小,會產生愈來愈多的音效。 兩個衰減因數是從音效來源的位置、方向和音效圓錐計算而來。
當KSPROPERTY_ITD3D_PARAMS set-property 要求變更 TotalDryAttenuation 或 TotalWetAttenuation 時,衰減層級的變更會經過數個樣本的平滑處理,以避免產生假性點擊雜訊。 VolSmoothScale 成員會指定在平滑處理過程中調整訊號衰減的數量。 如果衰減增加,這個參數的值會稍微小於 1,如果衰減降低,則稍微大於 1。 在平滑處理程式中的每個步驟中,上一個步驟的衰減會乘以此參數。 達到目標衰減時,程式就會完成。
規格需求
需求 | 值 |
---|---|
標頭 | ksmedia.h (包含 Ksmedia.h) |