views:

526

answers:

3

I would like to add a virtual microphone (similar to how you can have a virual CD drive and then mount ISO files on it.) so that it can be selectable in programs like MSN and skype. But have the source of the audio be streamed from over a network(I know how to stream the audio over the network in VB.net) but how do I get that audio which has been streamed as the input to the virtual microphone?

Jonathan

+1  A: 

You can adapt the AVStream Filter-Centric Simulated Capture Driver WDK Sample from MSDN, dropping video support (image.cpp, video.cpp etc.) and altering the audio capture pin implementation to provide audio from the network instead of the sample wave file.

Alternatively, you can take a look at the Microsoft Virtual Audio Device (MSVAD) Sample Drivers from MSDN, implemented as a port-class driver (as opposed to the AVStream driver above.)

It is also possible to write a DirectShow source filter and register it as if it corresponded to an audio capture device.

vladr
+1  A: 

Well, there is this app, which may answer your question. Its fits most of not all of the requirtements you have, and the best bit is that its around $35 to buy.

scope_creep
+1 for VAC. I have used it to record from skype, play sound effects over skype.
Jason Watts
A: 

If you need a once-off solution for yourself, this might work. But if you're looking to code this specifically, I apologize for a non-programming answer.

In recording device options, setting your Stereo Mixer as the default device will record whatever gets played on your system.

Note that on Vista+ they hid the stereo mixer (it's disabled by default). The trick is to 'show disabled devices', enable it, and setting it as your default.

recording device options

Wez