核心串流拓撲至音訊混音器 API 翻譯
混音器API 是一組 Windows 多媒體功能,可用來擷取音訊混音器裝置的相關資訊。 混音器API 會將音訊混音器線條分類為來源和目的地線。 來源線 是音訊卡的輸入 (,例如 CD、麥克風、線路輸入和波浪) 。 目的地線路 是卡片 (輸出,例如喇叭、耳機、電話線和波) 。 若要讓來源行有效,它應該具有從來源到目的地的唯一路徑。 單一來源線可能會對應至多個目的地,但單一路徑不能將來源線連線到目的地行。 如需混合器API 的詳細資訊,請參閱Microsoft Windows SDK檔。
音訊介面卡的 WDM 驅動程式會公開 KS 篩選拓撲,代表透過硬體的資料路徑,以及這些路徑上可用的函式。 ) Wdmaud.sys和 Wdmaud.drv 檔案中的 WDMAud 系統驅動程式 (應該解譯 KS 篩選拓撲,並產生透過 混音器 API 公開的對應來源和目的地混音器線。 WDMAud 也會處理 混音器 API 呼叫,並將其轉譯為介面卡驅動程式所管理之篩選針腳和節點上的對等屬性呼叫。
KMixer 系統驅動程式 (Kmixer.sys) 和SWMidi 系統驅動程式 (Swmidi.sys) 是核心音訊堆疊的整陣列件。 KMixer 提供全系統的音訊混合、位深度轉換、取樣速率轉換,以及聲道對喇叭組態, (適用于 PCM 音訊串流的超混音) 翻譯。 SWMidi 提供 MIDI 資料流程的高品質軟體合成。 系統音訊驅動程式 SysAudio (Sysaudio.sys;請參閱 SysAudio System Driver) ,結合 KMixer 和 SWMidi 的功能與已安裝的音訊介面卡驅動程式,形成功能增強 的虛擬音訊裝置。
WDMAud 會管理 KS 部分與舊版 (之間的介面,請參閱音訊堆疊的 WinMM 系統元件) 部分。 WDMAud 會將 SysAudio 虛擬化篩選器上的針腳轉譯成 SndVol32 等應用程式中顯示的舊版混音器線。 從 KS 拓撲到混音器線的轉譯會如下所示:
KS 拓撲中的來源針腳 (KSPIN_DATAFLOW_OUT) 會公開為目的地混音器線 (MIXERLINE_COMPONENTTYPE_DST_XXX) 。
KS 拓撲中的接收針腳 (KSPIN_DATAFLOW_IN) 會公開為來源混音器線 (MIXERLINE_COMPONENTTYPE_SRC_XXX) 。
WDMAud 會從位於篩選圖形端點的來源針腳開始,逐步執行 KS 篩選圖形,並以資料流程相反的方向周遊圖形,直到到達接收針腳為止。
周遊期間所遇到的每個 KS 節點上支援的屬性會公開為來源混音器線上的控制項。
在上述前兩個專案中,KS 來源和接收針腳與目的地和來源混音器線的對應可能會造成混淆,因為術語的差異。 在 KS 中,裝置會包裝在具有接收 (輸入) 針腳和來源 (輸出) 針腳的篩選中。 「接收」和「來源」一詞是指篩選準則,而是 (通常會在兩個篩選準則之間緩衝處理) 連線:
上游篩選器的來源針腳是輸入連線之資料流程的來源。
資料流程會透過下游篩選的接收針腳結束連線。
相反地,混音器線條術語是以裝置為中心的:
來源混音器線是輸入裝置的資料流程來源。
目的地混音器線是結束裝置的資料流程目的地。
此外,KS 術語在 KS 篩選準則上指派給針腳的資料流程流程方向有點不一致。 針腳描述項會使用 KSPIN_DATAFLOW 列舉值來指定方向:
透過接收針腳輸入篩選的資料流程具有KSPIN_DATAFLOW_IN方向。
透過來源針腳結束篩選的資料流程具有KSPIN_DATAFLOW_OUT方向。
「in」和「out」的方向會清楚以篩選為主,而「接收」和「來源」一詞則以連接為主。
如需 WDMAud 所使用的拓撲剖析演算法詳細資訊,請參閱 WDMAud 拓撲剖析。
本節也包含: