my employer asked me to research the possibility of a very specific task:
Is it possible to write a driver that takes multiple audio signals (at least
2), mix the audio signals and expose the result as a single (virtual)
A bit of background :
We have created a web-based video-chat platform where a web site visitor can
initiate a video-chat with an advisor to discuss things.
The functionality to start a video-chat is embedded into the web site of our
customers (Telecom providers, Banks, Insurance companies,... to name a few).
The Audio/Video streaming stuff is handled by a Flash module or WebRTC when
One of our customers now wants to do the following :
The advisor gets a call from a web site visitor, they start talking.
The discussion becomes more specific and the advisor wants to consult a
colleague/supervisor by calling him over a SIP-Softphone.
The web site visitor should be able to follow the discussion, so we somehow
have to be able to route the audio from the SIP-Phone to the customer over the
The gotcha here is, the SIP-Phone typically doesn't offer any kind of
audio-device, it receives the audio over the network and renders it directly to
So the driver I'm envisioning should have the following abilities :
- Take an audio input device (typically a microphone from a headset)
and the default audio-output device (loopback) as input
- Mix the signals
- Expose the result as a virtual microphone that can be selected in
Flash and WebRTC-enabled Browsers as input,
so the customer receives the mixed signal from the advisors (and also himself
because of loopback; that's an issue I'm aware of)
Is this possible at all ?
I'm working (mainly) as a C# developer (with some C/C++ background) but I have
ZERO experience regarding Windows driver development,
so any hint on where to start is much appreciated !
Just finished downloading the WDK and the Samples-Pack, can you recommend some
examples to have a deeper look into ?