Create virtual audio input/output devices like VAC on windows platform?

Cristian Chivriga 1 Reputation point
2020-10-29T11:03:24.337+00:00

I need to create a virtual audio input/output device. On Linux (PulseAudio) is dead easy but on Windows platform it's quite a headache. The goal is to create a virtual input device that forwards (loopback) application audio to the output device such as virtual microphone that a user can select when using Discord, Zoom...

I know about applications such as Virtual Audio Cable and so on, but I am looking for APIs (with C++, C#, Node.Js, Java bindings...) to have full control over the routing process. I stumbled on UWP documentation about AudioGraphs, specifically CreateDeviceInputNodeAsync / CreateDeviceOutputNodeAsync but I'm not sure if that's what I need. VAC uses MME as host API which is quite old, but the documentation is very lackluster and I found it little helpful.

Is it possible do that? Can someone provide please some resource links where I can get started?

Community Center Not monitored
{count} votes

1 answer

Sort by: Most helpful
  1. Castorix31 90,521 Reputation points
    2020-10-29T13:14:12.14+00:00

    VAC is a WDM driver
    You can find information in MSDN, but it is complicated if you never developed any driver

    WDM Audio Drivers Overview
    Roadmap for Developing WDM Audio Drivers
    ...
    Windows-driver-samples/audio/

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.