Freigeben über


Audioendpunktgeräte

Der Begriff Endpunktgeräts bezieht sich auf ein Hardwaregerät, das an einem Ende eines Datenpfads liegt, der aus einem Anwendungsprogramm stammt oder beendet wird. Beispiele für Audioendpunktgeräte sind Lautsprecher, Kopfhörer, Mikrofone und CD-Player. Die Audiodaten, die sich entlang des Datenpfads bewegen, können während der Reise zwischen Der Anwendung und dem Endpunktgerät eine Reihe von Software- und Hardwarekomponenten durchlaufen. Obwohl diese Komponenten für den Betrieb des Endpunktgeräts unerlässlich sind, sind sie für Benutzer tendenziell unsichtbar. Benutzer denken eher in Bezug auf Endpunktgeräte, die sie direkt bearbeiten, anstatt 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 Verwirrung 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:

  • Lautsprecher
  • Mikrofon
  • Hilfseingabegerät

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

  • Wave output device (contains digital-to-analog converter)
  • Ausgabesteuerungsgerät (enthält Lautstärke- und Stummschaltungssteuerelemente)
  • Welleneingabegerät (enthält Analog-zu-Digital-Konverter)
  • Eingabesteuerungsgerät (enthält Lautstärkeregelung und Multiplexer)

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

Einige Endpunktgeräte stellen möglicherweise dauerhaft eine Verbindung mit einem Adaptergerät her. Beispielsweise kann ein Computer interne Geräte wie einen CD-Player, ein Mikrofon oder Lautsprecher enthalten, die in das System-Chassis 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 ist angeschlossen und entfernt diese externen Geräte. Beispielsweise liegt ein Audioendpunktgerät, z. B. ein externes Mikrofon oder Kopfhörer, an einem Ende eines Kabels, dessen anderes Ende an eine Buchse auf einem Adaptergerät angeschlossen ist.

Der Adapter kommuniziert mit dem Systemprozessor über einen Systembus (in der Regel PCI oder PCI Express) oder externen Bus (USB oder IEEE 1394), der Plug and Play (PnP) unterstützt. Während der Geräteaufzählung identifiziert der Plug-and-Play-Manager die Geräte im Audioadapter und registriert diese Geräte, um sie für die Verwendung durch das Betriebssystem und durch 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 die PnP-Geräteerkennung nicht. Einige Audioadapter unterstützen jedoch Jack-Presence-Erkennung: Wenn ein Stecker in eine Buchse eingefügt oder aus einer Buchse entfernt wird, generiert die Hardware einen Interrupt, um den Adaptertreiber über die Änderung in der Hardwarekonfiguration zu benachrichtigen. Der Endpunkt-Manager in Windows Vista kann diese Hardwarefunktion nutzen, um Anwendungen zu benachrichtigen, welche Endpunktgeräte jederzeit vorhanden sind. Auf diese Weise ist der Betrieb des Endpunkt-Managers mit dem des Plug and Play-Managers vergleichbar, der die Adaptergeräte verfolgt, die im System vorhanden sind.

Unter Windows Vista verfolgt das Audiosystem sowohl Endpunktgeräte als auch Adaptergeräte. Der Endpunkt-Manager registriert Endpunktgeräte, und der Plug and Play-Manager registriert Adaptergeräte. Durch das Registrieren von Endpunktgeräten können Benutzer benutzerfreundliche Anwendungen einfacher auf die Endpunktgeräte verweisen, die Benutzer direkt bearbeiten, anstatt auf Adaptergeräte zu verweisen, die im Computer-Chassis verborgen sein könnten. Die vom Betriebssystem gemeldeten Endpunktgeräte verfolgen dynamische Änderungen bei der Konfiguration von Audiohardware, die über die Erkennung von Jack-Presence verfügt. Während ein Endpunktgerät angeschlossen bleibt, zählt das System dieses Gerät auf. Wenn der Benutzer ein Endpunktgerät entbindet, wird es nicht mehr aufgezählt.

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 das Vorhandensein von Endpunktgeräten ableiten. Ein Betriebssystem, das explizite Unterstützung für Endpunktgeräte nicht unterstützt, zwingt Clientanwendungen, mehr von der Arbeit selbst zu erledigen. Beispielsweise muss eine Audioaufnahmeanwendung die folgenden Schritte ausführen, um die Aufnahme von einem externen Mikrofon zu aktivieren:

  1. Auflisten aller Audioaufnahmegeräte (dies sind Adaptergeräte), die zuvor vom PnP-Manager registriert wurden.
  2. Öffnen Sie nach dem Auswählen eines Aufnahmegeräts einen Aufnahmedatenstrom 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 aufnahmegerät entspricht, das in Schritt 2 geöffnet wurde. Dies ist eine gebildete Vermutung.
  4. Heben Sie die Blockierung des Datenpfads vom Mikrofon auf. Wenn der Datenpfad einen Stummschaltknoten enthält, muss der Client die Stummschaltung des Signals vom Mikrofon deaktivieren. Wenn das Aufnahmegerät einen Multiplexer zum Auswählen aus mehreren Eingaben enthält, muss der Client die Mikrofoneingabe auswählen.

Dieser Prozess ist fehleranfällig, da die Software, die diese Vorgänge ausführt, möglicherweise fehlschlägt, wenn eine Hardwarekonfiguration auftritt, die von den Designern nicht erwartet wurde 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 wesentlich einfacher:

  1. Wählen Sie ein Mikrofon aus einer Sammlung von Endpunktgeräten aus.
  2. Aktivieren Sie eine Audioaufnahmeschnittstelle auf diesem Mikrofon.

Das Betriebssystem erledigt alle Erforderlichen, um das Endpunktgerät zu identifizieren und zu aktivieren. Wenn beispielsweise der Datenpfad aus dem Mikrofon einen Multiplexer enthält, wählt das System automatisch die Mikrofoneingabe an den Multiplexer aus.

Das Verhalten des Audiosubsystems ist zuverlässiger und deterministischer, wenn Anwendungen anstelle ihrer eigenen Endpunktidentifikationsalgorithmen die Aufgabe der Identifizierung von Endpunktgeräten an das Betriebssystem zurücksetzen können. Softwareanbieter müssen nicht mehr überprüfen, ob ihre Endpunktidentifikationsalgorithmen 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 alle Endpunktgeräte identifizieren kann, die mit ihrem Audioadapter verbunden sind. Sie müssen nur überprüfen, ob das Betriebssystem ein Endpunktgerät identifizieren kann, das mit dem Audioadapter verbunden ist.

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

Programmierhandbuch