Audioendpunktgeräte

Der Begriff Endpunktgerät bezieht sich auf ein Hardwaregerät, das sich an einem Ende eines Datenpfads befindet, der von einem Anwendungsprogramm stammt oder endet. Beispiele für Audioendpunkte sind Lautsprecher, Kopfhörer, Mikrofone und CD-Player. Die Audiodaten, die sich entlang des Datenpfads bewegen, durchlaufen möglicherweise eine Reihe von Software- und Hardwarekomponenten während der Reise zwischen der Anwendung und dem Endpunktgerät. Obwohl diese Komponenten für den Betrieb des Endpunktgeräts unerlässlich sind, sind sie für Benutzer in der Regel unsichtbar. Benutzer denken eher in Bezug auf Endpunktgeräte, die sie direkt bearbeiten, als in Bezug auf die Geräte auf Audioadaptern, die die Endpunktgeräte anschließen, oder in Bezug auf die Softwarekomponenten, die die Audiostreams verarbeiten, die zu und von diesen Adaptern fließen.

Um Verwechslungen mit Endpunktgeräten zu vermeiden, bezieht sich diese Dokumentation auf ein Gerät auf einem Audioadapter als Adaptergerät.

Das folgende Diagramm zeigt, wie sich Audioendpunktgeräte von Adaptergeräten unterscheiden.

Beispiele für Audioendpunktgeräte und Adaptergeräte

Im vorherigen Diagramm sind die folgenden Beispiele für Endpunktgeräte aufgeführt:

  • Speakers
  • Mikrofon
  • Hilfseingabegerät

Im Folgenden sind Beispiele für Adaptergeräte aufgeführt:

  • Wave-Ausgabegerät (enthält Digital-Analog-Konverter)
  • Ausgabesteuerungsgerät (enthält Lautstärke- und Stummschaltungssteuerelemente)
  • Wave-Eingabegerät (enthält Analog-Digital-Konverter)
  • Eingabesteuerungsgerät (enthält Lautstärkeregler und Multiplexer)

In der Regel beziehen sich die Benutzeroberflächen von Audioanwendungen auf Audioendpunktgeräte, nicht auf Adaptergeräte. Windows Vista vereinfacht das Entwerfen benutzerfreundlicher Anwendungen, indem die Abstraktion von Endpunktgeräten direkt unterstützt wird.

Einige Endpunktgeräte können eine dauerhafte Verbindung mit einem Adaptergerät herstellen. Ein Computer kann beispielsweise interne Geräte wie einen CD-Player, ein Mikrofon oder Lautsprecher enthalten, die in das Systemgehäuse integriert sind. In der Regel entfernt der Benutzer diese Endpunktgeräte nicht physisch.

Andere Endpunktgeräte können über Audiobuchsen eine Verbindung mit einem Audioadapter herstellen. Der Benutzer fügt diese externen Geräte an und entfernt sie. Beispielsweise liegt ein Audioendpunktgerät wie ein externes Mikrofon oder Kopfhörer an einem Ende eines Kabels, dessen anderes Ende an eine Buchse an einem Adaptergerät angeschlossen ist.

Der Adapter kommuniziert mit dem Systemprozessor über einen Systembus (üblicherweise PCI oder PCI Express) oder einen externen Bus (USB oder IEEE 1394), der Plug & Play (PnP) unterstützt. Während der Geräteaufzählung identifiziert der Plug & Play-Manager die Geräte im Audioadapter und registriert diese Geräte, um sie für die Verwendung durch das Betriebssystem und anwendungen verfügbar zu machen.

Im Gegensatz zur Verbindung zwischen einem Adapter und einem externen Bus wie USB oder IEEE 1394-Bus unterstützt die Verbindung zwischen einem Endpunktgerät und einem Adaptergerät keine PnP-Geräteerkennung. Einige Audioadapter unterstützen jedoch die Erkennung von Klinken: Wenn ein Stecker in eine Buchse eingefügt oder entfernt wird, generiert die Hardware einen Interrupt, um den Adaptertreiber über die Änderung der Hardwarekonfiguration zu benachrichtigen. Der Endpunkt-Manager in Windows Vista kann diese Hardwarefunktion nutzen, um Anwendungen jederzeit zu benachrichtigen, welche Endpunktgeräte vorhanden sind. Auf diese Weise entspricht der Betrieb des Endpunkt-Managers dem des Plug & Play-Managers, der die im System vorhandenen Adaptergeräte nachverfolgt.

In Windows Vista verfolgt das Audiosystem sowohl Endpunktgeräte als auch Adaptergeräte nach. Der Endpunkt-Manager registriert Endpunktgeräte, und der Plug & Play-Manager registriert Adaptergeräte. Die Registrierung von Endpunktgeräten erleichtert es benutzerfreundlichen Anwendungen, benutzern zu ermöglichen, auf die Endpunktgeräte zu verweisen, die Benutzer direkt bearbeiten, anstatt auf Adaptergeräte zu verweisen, die möglicherweise im Computergehäuse verborgen sind. Die vom Betriebssystem gemeldeten Endpunktgeräte verfolgen dynamische Änderungen in der Konfiguration von Audiohardware, die über eine Jack-Presence-Erkennung verfügt, treu nach. Während ein Endpunktgerät angeschlossen bleibt, zählt das System dieses Gerät auf. Wenn der Benutzer ein Endpunktgerät absteckt, wird es vom System nicht mehr aufgelistet.

In früheren Versionen von Windows, einschließlich Windows 98, Windows Me, Windows 2000 und Windows XP, stellt das System explizit nur PnP-Geräte für Anwendungen bereit. Daher müssen Anwendungen auf das Vorhandensein von Endpunktgeräten ableiten. Ein Betriebssystem, das keine explizite Unterstützung für Endpunktgeräte hat, zwingt Clientanwendungen, mehr von der Arbeit selbst zu erledigen. Beispielsweise muss eine Audioaufnahmeanwendung die folgenden Schritte ausführen, um die Erfassung über ein externes Mikrofon zu aktivieren:

  1. Listet alle Audioerfassungsgeräte auf (dies sind Adaptergeräte), die zuvor vom PnP-Manager registriert wurden.
  2. Nachdem Sie ein Erfassungsgerät ausgewählt haben, öffnen Sie einen Aufzeichnungsdatenstrom auf dem Gerät, indem Sie entweder die waveInOpen-Funktion aufrufen oder die DirectSoundCapture - oder DirectShow-API verwenden.
  3. Rufen Sie die MixerOpen-Funktion auf, und verwenden Sie die anderen mixerXxx-Funktionen , um nach einer MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE Zeile zu suchen, die dem in Schritt 2 geöffneten Erfassungsgerät entspricht. Dies ist eine fundierte Vermutung.
  4. Heben Sie die Blockierung des Datenpfads über das Mikrofon auf. Wenn der Datenpfad einen Stummschaltknoten enthält, muss der Client das Stummschalten des Signals vom Mikrofon deaktivieren. Wenn das Erfassungsgerät einen Multiplexer für die Auswahl aus mehreren Eingängen enthält, muss der Client den Mikrofoneingang auswählen.

Dieser Prozess ist fehleranfällig, da die Software, die diese Vorgänge ausführt, möglicherweise fehlschlägt, wenn sie auf eine Hardwarekonfiguration stößt, die die Entwickler nicht erwartet haben oder für die sie nicht getestet wurde.

In Windows Vista, das Endpunktgeräte unterstützt, ist der Prozess der Verbindung mit demselben Endpunktgerät viel einfacher:

  1. Wählen Sie ein Mikrofon aus einer Sammlung von Endpunktgeräten aus.
  2. Aktivieren Sie eine Audioaufnahmeschnittstelle für dieses Mikrofon.

Das Betriebssystem übernimmt alle erforderlichen Aufgaben, um das Endpunktgerät zu identifizieren und zu aktivieren. Wenn der Datenpfad des Mikrofons beispielsweise einen Multiplexer enthält, wählt das System automatisch die Mikrofoneingabe zum Multiplexer aus.

Das Verhalten des Audiosubsystems ist zuverlässiger und deterministischer, wenn Anwendungen anstelle eigener Algorithmen zur Endpunktidentifizierung die Aufgabe der Identifizierung von Endpunktgeräten an das Betriebssystem übertragen können. Softwarehersteller müssen nicht mehr überprüfen, ob ihre Endpunktidentifizierungsalgorithmen mit allen verfügbaren Audiohardwaregeräten und -konfigurationen ordnungsgemäß funktionieren– sie können sich einfach auf das Betriebssystem für die Endpunktidentifizierung verlassen. Ebenso müssen Hardwareanbieter nicht mehr überprüfen, ob jede relevante Clientanwendung jedes Endpunktgerät identifizieren kann, das mit ihrem Audioadapter verbunden ist. Sie müssen nur überprüfen, ob das Betriebssystem ein Endpunktgerät identifizieren kann, das mit ihrem Audioadapter verbunden ist.

Die folgenden Themen enthalten zusätzliche Informationen zu Audioendpunktgeräten:

Programmierhandbuch