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 |