Condividi tramite


KSPROPERTY_AUDIOLOOPBACK

La proprietà KSPROPERTY_AUDIOLOOPBACK indica se il punto di tocco di loopback è pre o post volume e disattiva.

A partire da Windows 11 24H2, l'impostazione della proprietà KSPROPERTY_AUDIOLOOPBACK è un requisito.

Tabella riepilogativa utilizzo

Recupero Set Destinazione Tipo descrittore di proprietà Tipo di valore della proprietà
No Aggiungi KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT Struttura KSATTRIBUTE

KSPROPERTY_AUDIOLOOPBACK è un'enumerazione di proprietà associate a KSPROPSETID_AudioLoopback, con la proprietà seguente implementata.

typedef enum {
    KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS,
} KSPROPERTY_AUDIOLOOPBACK;

Windows AudioEndpointBuilder usa KSPROPSETID_AudioLoopback con KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS per recuperare .AUDIOLOOPBACK_TAPPOINT_CAPS_<*> In questo modo il sistema operativo indica se l'endpoint audio ha la possibilità di eseguire il loopback del volume, post volume loopback o entrambi.

Successivamente, al momento della creazione del pin, il sistema operativo fornisce un attributo, KSATTRIBUTEID_AUDIOLOOPBACK_TAPPOINT con un KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT, per comunicare se creare il pin di loopback come volume o post volume.

I punti di tocco sono definiti come segue.

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

La struttura KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT disponibile in ksmedia.h può fornire un wrapper per specificare l'attributo AUDIO_LOOPBACK_TAPPOINT_TYPE su dove toccare il loopback nel grafico del flusso.

Valore restituito

Una richiesta di proprietà KSPROPERTY_AUDIOLOOPBACK restituisce STATUS_SUCCESS per indicare che è stata completata correttamente. In caso contrario, la richiesta restituisce un codice di stato di errore appropriato.

Osservazioni:

Un sistema audio può essere riepilogato nel modo seguente.

  • Output di elaborazione dei segnali: output dell'elaborazione del segnale dall'offloaded o diretto dal provider host.
  • Volume: passaggio successivo del flusso, in cui viene regolato il volume del segnale audio.
  • Disattiva: questa fase disattiva il segnale audio, se necessario.
  • EFX (Effetti): qui gli effetti vengono applicati al segnale audio.
  • Output: fase finale in cui viene restituito il segnale audio elaborato.

I sistemi con motore audio hardware devono implementare il pin di loopback. Il pin di loopback restituisce l'output audio misto dopo l'applicazione di tutte le elaborazioni dei segnali.

Anche il flusso di loopback viene influenzato dal volume dell'endpoint e dalla disattivazione. Questa proprietà consente alle applicazioni di scegliere se il flusso di loopback deve essere restituito prima o dopo aver applicato il volume dell'endpoint e disattivare l'audio.

Il driver audio deve connettere il pin di output del motore audio al pin di loopback di Filter. Il pin di loopback deve annunciare la categoria come KSNODETYPE_AUDIO_LOOPBACK. Il loopback non implementa le modalità di elaborazione dei segnali.

Il sistema operativo può eseguire una query sul driver audio per individuare le funzionalità del punto di tocco del loopback. Le funzionalità vengono restituite come maschera di bit di flag.

Il flusso creato nel pin di loopback raccoglie l'output misto DSP e lo fornisce come flusso di acquisizione al sistema operativo. Un modo per ottenere opzioni dal sistema operativo consiste nell'usare gli attributi del flusso. Se non vengono applicati attributi al flusso di loopback, il loopback deve essere raccolto prima dell'applicazione del volume e dell'audio nell'output del mixer.

Per un client in modalità utente, il passaggio tra loopback di pre volume e loopback post volume viene eseguito tramite AUDCLNT_STREAMOPTIONS_POST_VOLUME_LOOPBACK, passato come AUDCLNT_STREAMOPTIONS (audioclient.h) quando si chiama SetClientProperties.

KSNODETYPE_AUDIO_LOOPBACK

KSNODETYPE_AUDIO_LOOPBACK rappresenta le funzionalità di loopback audio. È definito in ksmedia.h, come illustrato di seguito.

#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)

Requisiti

Requisito Valore
Client minimo supportato Windows 11 versione 24H2
Intestazione Ksmedia.h

Vedi anche

KSPROPSETID_AudioLoopback

enumerazione AUDIOLOOPBACK_TAPPOINT_TYPE

struttura KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT