本主題提供 Windows 10/11 音訊架構的高階摘要。
Windows 10/11 音訊堆疊圖
此圖提供 Windows 10/11 音訊堆疊主要元素的摘要。
應用程式介面(API)
最上層 API
最上層 API 用於應用程式開發。 這些 API 目前正在使用中並受支援。
- XAML MediaElement 類別 (C#、VB、C++)
- HTML 音訊物件 和 視訊物件<標籤> (由網站和 Windows Web Apps 使用)
- Windows.Media.Capture 命名空間 (C#、VB、C++)
- Microsoft 媒體基金會 (C++)
這些較舊的 API 已被取代。
低階 API
建議將這些較低層級的 API 用於音訊串流。
建議將此較低層級的 API 用於列舉。
不建議將這些 API 用於 Windows 應用程式。
- 關於 MMDevice API (由 Windows.Devices.Enumeration 取代)
- 裝置拓撲 API
- EndpointVolume API
音訊引擎
音訊引擎由兩個相關元件組成,音訊裝置圖(audiodg.exe),它載入音訊引擎(audioeng.dll)。
音頻引擎:
- 混合和處理音訊串流。 如需音訊引擎如何使用緩衝區來傳輸音訊的詳細資訊,請參閱 瞭解 WaveRT 埠驅動程式。
- 載入音訊處理物件 (APO),這是處理音訊訊號的硬體特定外掛程式。 若想了解這些APOs的更多資訊,請參閱 Windows 音訊處理物件。
音頻服務(audiosrv.dll)
音頻服務:
- 用於設定和控制音訊串流。
- 實作背景音訊播放、閃避等的 Windows 策略。
音訊端點產生器 (audioendpointbuilder.exe)
音訊端點產生器 (audioendpointbuilder.exe):
- 用於探索新的音訊裝置並建立軟體音訊端點。 如需所使用演算法的詳細資訊,請參閱 音訊端點產生器演算法。
音訊驅動程式
音頻驅動程序:
- 遵循埠-小型埠模型。 如需詳細資訊,請參閱 WDM 音訊術語 和 開發 WaveRT 迷你埠驅動程式。
- 允許音訊堆疊從多個音訊裝置轉譯和擷取音訊,包括:整合式揚聲器和麥克風、耳機/耳機、USB 裝置、藍牙裝置、HDMI 等。
- 埠-迷你埠模型對應於 ALSA 的進階 Linux 音效架構。
- 如需範例驅動程式程式碼的相關資訊,請參閱 範例音訊驅動程式。
硬體
任何指定裝置上存在的音訊硬體會有所不同,但可以包括:
- 音訊編解碼器
- DSP(選用)
- 集成揚聲器、麥克風等
- 外部設備:USB音訊設備、藍牙音訊設備、HDMI音訊等。
- 訊號處理也可以在 H/W(例如編解碼器或 DSP)中實現,不只是取代 APO,也可以用作 APO 的補充。