Freigeben über


KSPROPERTY_AUDIOLOOPBACK

Die KSPROPERTY_AUDIOLOOPBACK-Eigenschaft gibt an, ob der Loopback-Überwachungspunkt Pre- oder Post-Volume oder stummgeschaltet ist.

Ab Windows 11 24H2 ist das Festlegen der KSPROPERTY_AUDIOLOOPBACK-Eigenschaft eine Anforderung.

Übersichtstabelle zur Verwendung

Abrufen Festlegen Ziel Eigenschaftendeskriptortyp Eigenschaftswerttyp
Ja No Anheften KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT KSATTRIBUTE-Struktur

KSPROPERTY_AUDIOLOOPBACK ist eine Enumeration von Eigenschaften, die KSPROPSETID_AudioLoopback zugeordnet sind, wobei die folgende Eigenschaft implementiert ist.

typedef enum {
    KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS,
} KSPROPERTY_AUDIOLOOPBACK;

Windows AudioEndpointBuilder verwendet KSPROPSETID_AudioLoopback mit KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS zum Abrufen von AUDIOLOOPBACK_TAPPOINT_CAPS_<*>. Dadurch wird das Betriebssystem darüber informiert, ob der Audioendpunkt ein Pre-Volume-Loopback, ein Post-Volume-Loopback oder beides durchführen kann.

Später stellt das Betriebssystem zum Zeitpunkt der Pin-Erstellung ein Attribut KSATTRIBUTEID_AUDIOLOOPBACK_TAPPOINT mit einem KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT bereit, um zu kommunizieren, ob der Loopback-Pin als Pre-Volume oder Post-Volume erstellt werden soll.

Die Bezeichnung der Überwachungspunkte werden wie folgt definiert.

#define AUDIOLOOPBACK_TAPPOINT_CAPS_PREVOLUMEMUTE      (0x1)
#define AUDIOLOOPBACK_TAPPOINT_CAPS_POSTVOLUMEMUTE     (0x2)

Die KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT-Struktur, die in ksmedia.h verfügbar ist, kann einen Wrapper zum Angeben des Attributs AUDIO_LOOPBACK_TAPPOINT_TYPE darüber bereitstellen, wo im Stream-Diagramm das Loopback überwacht werden soll.

Rückgabewert

Eine KSPROPERTY_AUDIOLOOPBACK-Eigenschaftsanforderung gibt STATUS_SUCCESS zurück, um anzugeben, dass sie erfolgreich abgeschlossen wurde. Andernfalls gibt die Anforderung einen entsprechenden Fehlerstatuscode zurück.

Hinweise

Ein Audiosystem kann wie folgt zusammengefasst werden.

  • Signalverarbeitungsausgabe: Die Ausgabe der Signalverarbeitung vom Host-Provider ausgelagert oder direkt.
  • Lautstärke: Der nächste Schritt im Ablauf, in dem die Lautstärke des Audiosignals angepasst wird.
  • Stummschalten: In dieser Phase wird das Audiosignal bei Bedarf stummgeschaltet.
  • EFX (Effekte): Hier werden Effekte auf das Audiosignal angewendet.
  • Ausgabe: Die letzte Phase, in der das verarbeitete Audiosignal ausgegeben wird.

Systeme mit Hardwareaudiomodul müssen einen Loopback-Pin implementieren. Der Loopback-Pin gibt eine gemischte Audioausgabe zurück, nachdem die gesamte Signalverarbeitung angewendet wurde.

Der Loopback-Stream wird auch durch die Lautstärke und Stummschaltung des Endpunkts beeinflusst. Mit dieser Eigenschaft können Anwendungen auswählen, ob der Loopback-Stream vor oder nach dem Anwenden der Endpunktlautstärke und -stummschaltung zurückgegeben werden soll.

Der Audiotreiber muss den Ausgabe-Pin des Audiomoduls mit dem Loopback-Pin des Filters verbinden. Der Loopback-Pin muss die Kategorie als KSNODETYPE_AUDIO_LOOPBACK ankündigen. Der Loopback implementiert keine Signalverarbeitungsmodi.

Das Betriebssystem kann den Audiotreiber nach Funktionen zum Loopback-Überwachungspunkt abfragen. Die Funktionen werden als Bitmaske von Flags zurückgegeben.

Der am Loopback-Pin erstellte Stream sammelt DSP-gemischte Ausgaben und stellt sie dem Betriebssystem wieder als Erfassungsstream bereit. Eine Möglichkeit für den Treiber, Optionen vom Betriebssystem zu erhalten, sind Stream-Attribute. Wenn keine Attribute auf den Loopback-Stream angewendet werden, sollte der Loopback erfasst werden, bevor Lautstärke und Stummschaltung auf die Mischerausgabe angewendet werden.

Für einen Benutzermodusclient erfolgt der Wechsel zwischen Pre-Volume-Loopback und Post-Volume-Loopback über AUDCLNT_STREAMOPTIONS_POST_VOLUME_LOOPBACK, das beim Aufrufen von SetClientProperties als AUDCLNT_STREAMOPTIONS (audioclient.h) übergeben wird.

KSNODETYPE_AUDIO_LOOPBACK

KSNODETYPE_AUDIO_LOOPBACK stellt Audio-Loopbackfunktionen dar. Es ist wie hier dargestellt in ksmedia.h definiert.

#define STATIC_KSNODETYPE_AUDIO_LOOPBACK\
    0x8f42c0b2, 0x91ce, 0x4bcf, 0x9c, 0xcd, 0xe, 0x59, 0x90, 0x37, 0xab, 0x35
DEFINE_GUIDSTRUCT("8F42C0B2-91CE-4BCF-9CCD-0E599037AB35", KSNODETYPE_AUDIO_LOOPBACK);
#define KSNODETYPE_AUDIO_LOOPBACK DEFINE_GUIDNAMED(KSNODETYPE_AUDIO_LOOPBACK)

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 24H2
Header Ksmedia.h

Weitere Informationen

KSPROPSETID_AudioLoopback

AUDIOLOOPBACK_TAPPOINT_TYPE-Enumeration

KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT-Struktur