Windows-Audioarchitektur

Dieses Thema enthält eine allgemeine Zusammenfassung der Windows 10/11-Audioarchitektur.

Windows 10/11-Audiostapel-Diagramm

Dieses Diagramm enthält eine Zusammenfassung der wichtigsten Elemente des Windows 10/11-Audiostapels.

Diagramm, das den Windows 10/11-Audiostapel zeigt, einschließlich Apps, Audiomodul, Treiber und Hardware.

APIs

APIs der obersten Ebene

Die APIs der obersten Ebene werden für die Anwendungsentwicklung verwendet. Diese APIs werden derzeit verwendet und unterstützt.

Diese älteren APIs sind veraltet.

APIs auf niedriger Ebene

Diese APIs auf niedrigerer Ebene werden für das Audiostreaming empfohlen.

  • WASAPI (Hohe Leistung, aber komplizierter)
  • IXAudio2 (wird in der Regel für Spiele verwendet)
  • MIDI

Diese API auf niedrigerer Ebene wird für die Enumeration empfohlen.

Diese APIs werden für Windows-Anwendungen nicht empfohlen.

Audiomodul

Das Audiomodul besteht aus zwei verwandten Komponenten, dem Audiogerätediagramm (audiodg.exe), das das Audiomodul (audioeng.dll) lädt.

Das Audiomodul:

  • Mischt und verarbeitet Audiostreams. Weitere Informationen dazu, wie das Audiomodul Puffer zum Übertragen von Audio verwendet, finden Sie unter Grundlegendes zum WaveRT-Porttreiber.
  • Lädt Audio Processing Objects (APOs); das sind hardwarespezifische Plug-Ins, die das Audiosignal verarbeiten. Weitere Informationen zu APOs finden Sie unter Windows-Audioverarbeitungsobjekte.

Audiodienst (audiosrv.dll)

Der Audiodienst:

  • Wird zum Einrichten und Steuern von Audiostreams verwendet.
  • Implementiert Windows-Richtlinien für die Audiowiedergabe im Hintergrund, Ducking usw.

Audio-Endpunktgenerator (audioendpointbuilder.exe)

Der Audio-Endpunktgenerator (audioendpointbuilder.exe):

  • Wird verwendet, um neue Audiogeräte zu ermitteln und Softwareaudioendpunkte zu erstellen. Weitere Informationen zum verwendeten Algorithmus finden Sie unter Algorithmus für Audioendpunkterstellung.

Audiotreiber

Audiotreiber:

  • Folgen Sie dem Port-Miniport-Modell. Weitere Informationen finden Sie unter WDM-Audioterminologie und Entwickeln eines WaveRT-Miniport-Treibers.
  • Ermöglichen Sie dem Audiostapel das Rendern und Erfassen von Audio von mehreren Audiogeräten, einschließlich integrierter Lautsprecher und Mikrofone, Headsets/Kopfhörer, USB-Geräte, Bluetooth-Geräte, HDMI usw.
  • Das Port-Miniport-Modell entspricht der Advanced Linux Sound Architecture ALSA
  • Informationen zum Beispieltreibercode finden Sie unter Beispielaudiotreiber.

Hardware

Die Audiohardware, die auf einem bestimmten Gerät vorhanden ist, variiert jedoch:

  • Audiocodec
  • DSP (optional)
  • Integrierte Lautsprecher, Mikrofone usw.
  • Externe Geräte: USB-Audiogeräte, Bluetooth-Audiogeräte, HDMI-Audio usw.
  • Anstelle oder zusätzlich zu den APOs kann die Signalverarbeitung auch in der Hardware (z. B. dem Codec oder dem DSP) implementiert werden.