Compartilhar via


Dispositivos de áudio virtual

Os dispositivos de áudio virtual representam os grafos de filtro que renderizam e capturam conteúdo de áudio. O driver de áudio do sistema (SysAudio) usa os componentes de hardware e software disponíveis para determinar os grafos de filtro a serem compilados.

Para obter mais informações sobre o driver de áudio do sistema, consulte SysAudio System Driver.

Os clientes do SysAudio incluem o DirectSound e o driver do sistema WDMAud, que serve como a interface entre drivers de áudio WDM e as APIs multimídia do Microsoft Windows específicas para áudio waveIn, waveOut, midiIn, midiOut, mixer e aux (descrito na documentação do SDK do Microsoft Windows).

O utilitário KsStudio no WDK (Windows Driver Kit) é um exemplo de um aplicativo que ignora o SysAudio e permite que os usuários construam grafos de filtro manualmente.

Após a enumeração de dispositivo PnP, o SysAudio faz um balanço dos componentes de hardware e software de áudio registrados para determinar como construir os vários grafos de filtro de áudio que seus clientes podem exigir.

Depois de determinar a lista de grafos de filtro que ele pode criar com base nos componentes de hardware e software disponíveis, o SysAudio registra esses grafos como dispositivos de áudio virtual para reprodução, gravação, entrada/saída MIDI e mistura. O SysAudio reserva a categoria de registro KSCATEGORY_AUDIO_DEVICE exclusivamente para seus dispositivos de áudio virtual. Drivers de adaptador não devem efetuar registro nessa categoria.

Um cliente SysAudio pode tratar uma fábrica de filtros para um dispositivo de áudio virtual de forma semelhante a uma fábrica de filtros para um componente de hardware ou software. Quando um cliente solicita a criação de uma instância de um determinado pino em um dispositivo virtual, o SysAudio constrói automaticamente o grafo e gerencia de forma transparente para o cliente as conexões internas de pinos do grafo. Isso permite que o cliente trate um grafo de filtro como um único filtro, evitando assim complexidades de gerenciamento de grafo, como comunicação entre filtros.