Windows-Audioarchitektur
Dieses Thema enthält eine allgemeine Zusammenfassung der Windows 10/11-Audioarchitektur.
Windows 10/11-Audiostapeldiagramm
Dieses Diagramm enthält eine Zusammenfassung der wichtigsten Elemente des Windows 10/11-Audiostapels.
APIs
APIs der obersten Ebene
Die APIs der obersten Ebene werden für die Anwendungsentwicklung verwendet. Diese APIs werden derzeit verwendet und unterstützt.
- XAML MediaElement-Klasse(C#, VB, C++)
- HTML-Objekt- und Video-Objekttags<> (von Websites und Windows-Web-Apps verwendet)
- Windows.Media.Capture-Namespace (C#, VB, C++)
- Microsoft Media Foundation (C++)
Diese älteren APIs sind veraltet.
APIs auf niedriger Ebene
Diese APIs der niedrigeren Ebene werden für das Audiostreaming empfohlen.
Diese API der niedrigeren Ebene wird für die Enumeration empfohlen.
Diese APIs werden für Windows-Anwendungen nicht empfohlen.
- Informationen zur MMDevice-API (ersetzt durch Windows.Devices.Enumeration)
- DeviceTopology-API
- EndpointVolume-API
Audio-Engine
Die Audio-Engine besteht aus zwei verwandten Komponenten, dem Audiogerätegraphen (audiodg.exe), der die Audio-Engine (audioeng.dll) lädt.
Die Audio-Engine:
- Mischt und verarbeitet Audiodatenströme. Weitere Informationen dazu, wie die Audio-Engine Puffer zum Übertragen von Audio verwendet, finden Sie unter Grundlegendes zum WaveRT-Porttreiber.
- Lädt Audioverarbeitungsobjekte (Audio Processing Objects, APOs), bei denen es sich um H/W-spezifische Plug-Ins handelt, die das Audiosignal verarbeiten. Weitere Informationen zu APOs finden Sie unter Windows-Audioverarbeitungsobjekte.
Audiodienst (audiosrv.dll)
Der Audiodienst:
- Dient zum Einrichten und Steuern von Audiostreams.
- Implementiert Windows-Richtlinien für die Audiowiedergabe im Hintergrund, Ducking usw.
Audioendpunkt-Generator (audioendpointbuilder.exe)
Audioendpunkt-Generator (audioendpointbuilder.exe):
- Wird verwendet, um neue Audiogeräte zu ermitteln und Softwareaudioendpunkte zu erstellen. Weitere Informationen zum verwendeten Algorithmus finden Sie unter AudioEndpunkt-Generator-Algorithmus.
Audiotreiber
Audiotreiber:
- Befolgen Sie das Port-Miniport-Modell. Weitere Informationen finden Sie unter WDM-Audioterminologie und Entwickeln eines WaveRT-Miniporttreibers.
- Lassen Sie dem Audiostapel das Rendern und Aufzeichnen von Audiodaten mehrerer Audiogeräte zu, einschließlich integrierter Lautsprecher und Mikrofone, Headsets/Kopfhörer, USB-Geräte, Bluetooth-Geräte, HDMI usw.
- Das Port-Minport-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, kann jedoch Folgendes umfassen:
- Audiocodec
- DSP (optional)
- Integrierte Lautsprecher, Mikrofon usw.
- Externe Geräte: USB-Audiogeräte, Bluetooth-Audiogeräte, HDMI-Audio usw.
- Die Signalverarbeitung kann auch im H/W (z. B. codec oder DSP) anstelle von oder zusätzlich zu den APOs implementiert werden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für