Delen via


Virtuele audioapparaten

Virtuele audioapparaten vertegenwoordigen de filtergrafieken die audio-inhoud weergeven en vastleggen. Het systeemaudiostuurprogramma (SysAudio) maakt gebruik van de beschikbare hardware- en softwareonderdelen om de filtergrafieken te bepalen die moeten worden gebouwd.

Zie SysAudio System Driver voor meer informatie over het systeemaudiostuurprogramma.

De clients van SysAudio omvatten DirectSound en het WDMAud-systeemstuurprogramma, dat fungeert als de interface tussen WDM-audiostuurprogramma's en de audiospecifieke Microsoft Windows Multimedia API's waveIn, waveOut, midiIn, midiOut, mixer en aux (beschreven in microsoft Windows SDK-documentatie).

Het hulpprogramma KsStudio in de Windows Driver Kit (WDK) is een voorbeeld van een toepassing waarmee SysAudio wordt omzeild en waarmee gebruikers handmatig filtergrafieken kunnen maken.

Na de inventarisatie van PnP-apparaten maakt SysAudio een inventarisatie van de geregistreerde audiohardware en softwareonderdelen om te bepalen hoe de verschillende audiofiltergrafieken moeten worden samengesteld die de clients mogelijk nodig hebben.

Na het bepalen van de lijst met filtergrafieken die het kan bouwen op basis van de beschikbare hardware- en softwareonderdelen, registreert SysAudio deze grafieken als virtuele audioapparaten voor afspelen, opnemen, MIDI-invoer/-uitvoer en mixen. SysAudio reserveert de registercategorie KSCATEGORY_AUDIO_DEVICE uitsluitend voor de virtuele audioapparaten. Adapterstuurprogramma's mogen zich niet registreren in deze categorie.

Een SysAudio-client kan een filterfactory behandelen voor een virtueel audioapparaat, vergelijkbaar met een filterfactory voor een hardware- of softwareonderdeel. Wanneer een client wordt gevraagd om een bepaalde pin op een virtueel apparaat te instantiëren, maakt SysAudio de grafiek automatisch en beheert de interne pinverbindingen van de grafiek transparant met de client. Hierdoor kan de client een filtergrafiek behandelen als één filter, waardoor complexiteit van grafiekbeheer, zoals communicatie tussen filters, wordt vermeden.