KSPROPERTY_AUDIOLOOPBACK
A propriedade KSPROPERTY_AUDIOLOOPBACK indica se o ponto de toque de loopback é pré ou pós volume e silenciado.
A partir do Windows 11 24H2, definir a propriedade KSPROPERTY_AUDIOLOOPBACK é um requisito.
Tabela do resumo de uso
Obter | Definir | Destino | Tipo de descritor da propriedade | Tipo de valor de propriedade |
---|---|---|---|---|
Sim | No | Fixar | KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT | Estrutura KSATTRIBUTE |
KSPROPERTY_AUDIOLOOPBACK é um conjunto de propriedades associadas a KSPROPSETID_AudioLoopback, com a seguinte propriedade implementada.
typedef enum {
KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS,
} KSPROPERTY_AUDIOLOOPBACK;
O Windows AudioEndpointBuilder usa KSPROPSETID_AudioLoopback com KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS para recuperar o AUDIOLOOPBACK_TAPPOINT_CAPS_<*>
. Isso informa ao sistema operacional se o ponto de extremidade de áudio tem a capacidade de fazer loopback pré-volume, loopback pós-volume ou ambos.
Mais tarde, no momento da criação do pino, o sistema operacional fornece um atributo, KSATTRIBUTEID_AUDIOLOOPBACK_TAPPOINT com um KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT, para comunicar se deseja criar o pino de loopback como pré-volume ou pós-volume.
Os limites de ponto de toque são definidos da seguinte forma.
#define AUDIOLOOPBACK_TAPPOINT_CAPS_PREVOLUMEMUTE (0x1)
#define AUDIOLOOPBACK_TAPPOINT_CAPS_POSTVOLUMEMUTE (0x2)
A estrutura KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT disponível em ksmedia.h pode fornecer um wrapper para especificar o atributo AUDIO_LOOPBACK_TAPPOINT_TYPE sobre onde tocar em loopback no gráfico de fluxo.
Valor de retorno
Uma solicitação de propriedade KSPROPERTY_AUDIOLOOPBACK retorna STATUS_SUCCESS para indicar que foi concluída com êxito. Caso contrário, a solicitação retornará um código de status de erro apropriado.
Comentários
Um sistema de áudio pode ser resumido da seguinte forma.
- Saída de processamento de sinal: A saída do processamento de sinal de descarregado ou direto do provedor de host.
- Volume: A próxima etapa do fluxo, em que o volume do sinal de áudio é ajustado.
- Mudo: Este estágio silencia o sinal de áudio, se necessário.
- EFX (Efeitos): Aqui, os efeitos são aplicados ao sinal de áudio.
- Saída: O estágio final em que o sinal de áudio processado é emitido.
Os sistemas com mecanismo de áudio de hardware devem implementar o pino de loopback. O pino de loopback retorna a saída de áudio mixado depois que todo o processamento de sinal foi aplicado.
O fluxo de loopback também é afetado pelo volume de ponto de extremidade e silenciado. Essa propriedade permite que os aplicativos escolham se o fluxo de loopback deve ser retornado antes ou depois de aplicar o volume de ponto de extremidade e silenciado.
O driver de áudio deve conectar o pino de saída do mecanismo de áudio ao pino de loopback do filtro. O pino de loopback deve anunciar a categoria como KSNODETYPE_AUDIO_LOOPBACK. O loopback não implementa modos de processamento de sinal.
O sistema operacional pode consultar o driver de áudio para recursos de ponto de toque de loopback. Os recursos são retornados como uma pequena máscara de sinalizadores.
O fluxo criado no pino de loopback coleta a saída mista de DSP e a fornece como um fluxo de captura de volta ao sistema operacional. Uma maneira de o driver obter opções do sistema operacional é por meio de atributos de fluxo. Se nenhum atributo for aplicado ao fluxo de loopback, o loopback deverá ser coletado antes que o volume e o mudo sejam aplicados na saída do mixer.
Para um cliente de modo de usuário, a alternância entre loopback pré-volume e loopback pós-volume é feita via AUDCLNT_STREAMOPTIONS_POST_VOLUME_LOOPBACK, passada como um AUDCLNT_STREAMOPTIONS (audioclient.h) ao chamar SetClientProperties.
KSNODETYPE_AUDIO_LOOPBACK
KSNODETYPE_AUDIO_LOOPBACK representa recursos de loopback de áudio. Ele é definido em ksmedia.h como mostrado aqui.
#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)
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 11 versão 24H2 |
Cabeçalho | Ksmedia.h |