Prev: WdfUsbTargetPipeReadSynchronously and the Bytes Read Parm
Next: Problem With OID_PNP_SET_POWER On Vista 5840
From: wingka on 29 Nov 2006 01:20 Hi I want to have a virtual audio driver that sits behind a 3rd party application to 'intercept' the sound input/output. E.g. when that application plays sound, instead of going to the speaker, the audio stream would be captured and processed elsewhere. I may also pump in an audio stream to that application like it's being recorded on a microphone. Is such setup possible with a virtual audio driver? I'm currently looking at the MSVAD sample from DDK. It seems like the kind of thing I'm looking for, but I have a few problems: 1. After installing 'MSVAD (Simple)', when I play sound, I got some small wave files with no audio contents. Why is that so? I made 'MSVAD (Simple)' the default playback driver and play music with iTunes. 2. Is IDmaChannel::CopyTo and IDmaChannel::CopyFrom the two functions I have to work with if I want to capture sound from an application? 3. Is developing an virtual audio driver best way for this kind of problem? I'm very new to this kind of things and I don't know if there's another easier way to do it! Thanks all !! wingka
From: pro-grammer on 1 Dec 2006 03:13
wingka wrote: > Hi > > I want to have a virtual audio driver that sits behind a 3rd party > application to 'intercept' the sound input/output. > > E.g. when that application plays sound, instead of going to the > speaker, the audio stream would be captured and processed elsewhere. I > may also pump in an audio stream to that application like it's being > recorded on a microphone. > > Is such setup possible with a virtual audio driver? I'm currently > looking at the MSVAD sample from DDK. It seems like the kind of thing > I'm looking for, but I have a few problems: > > 1. After installing 'MSVAD (Simple)', when I play sound, I got some > small wave files with no audio contents. Why is that so? I made 'MSVAD > (Simple)' the default playback driver and play music with iTunes. change the error log level to blab in the sources.inc file to get more info on whats goin on. I hope ur using debugview. > 2. Is IDmaChannel::CopyTo and IDmaChannel::CopyFrom the two functions I > have to work with if I want to capture sound from an application? yes > 3. Is developing an virtual audio driver best way for this kind of > problem? I'm very new to this kind of things and I don't know if > there's another easier way to do it! dont expect msvad to function as a full fledged audio driver. Use it for the sole purpose of storing/processing audio that is not destined to be actuall played. when you want to play the data, open an already existing audio driver as the waveout destination(this can be done from user mode). if u want the data u r processing to be played too, what u r looking for is a filter driver, somthing that sits on top of an already existing function driver( msvad is installed as a function driver). A filter driver introduces a whole new set of challenges and hurdles. If u do succeed in making one, do the world a favour and tell us how u did it. > Thanks all !! > > wingka |