Solved

microsoft, vc++, 2003, usb audio class, vc++, 2003

Posted on 2007-11-20
5
279 Views
Last Modified: 2013-11-13
Is there a way to bind a usb audio device to a specific audio app so that no other audio app can access the same specific usb audio device while the first app is active (I would like to not to have to manually elect the device)?  Assume that I am using usb audio class, waveIn & waveOut.
0
Comment
Question by:lmenasco
  • 3
5 Comments
 
LVL 69

Expert Comment

by:Merete
Comment Utility
this is tricky question, if your looking for vc++,  solutions this is not the right zone,
I am layman on that but put simply
to bind  usb audio device to a specific audio app in windows? depends what the USB audio device is playing, care to elaborate what this USB audio device is?
take for example I can have my stereo connected to my pc and use any media player to play it, if the audio files have a file association such as mp3 then you simply disable the file association in all media players then they wont see them.

I dont know what your talking about really its very broad, but rightclick the audio file and open with choose to always use the program of your choice.

If this is an ipod for ITunes then that's another story.
Please come back and fill in some details
thanks
Cheers Merete


0
 

Author Comment

by:lmenasco
Comment Utility
I'll try to elaborate a bit.  The binding I'm talking about is to have a usb audio device (in this case I'm using a micronas usb audio codec chip) bound to a specific audio application in such a way as to cause that device to be exclusive to that one app, and prevent other audio apps from having access while the first app is still active (in this case, and app that I wrote).  When the micronas usb chip is plugged in, XP now loads a generic composite usb driver, which allows me to address it via waveIn and waveOut.  But so can any other audio app, because it shows up in the wave_mapper enumeration.  I know that as long as I don't make it the default, then the other apps would generally stay clear, but I would like with certainty to prevent any other apps from accessing the particular audio device.  In essence, I'm looking for some way on the XP platform to be able to do what the new Vista Core Audio Api does with their exclusive-mode audio streaming, where an audio app can address an audio device exclusively, and prevent other apps from having access while it is active.  And for other reasons I won't go into for the moment, I need to stick with the XP os.  I'd prefer not to have to write a driver to accomplish that task.

Any ideas or suggestions on where to look?

0
 

Author Comment

by:lmenasco
Comment Utility
A PS, if you tell me there's no way of doing the way I'm approaching it now, that's ok too.  If I have to write a dedicated driver, then so be it.  I just wanted to make sure there wasn't an easier way or some flag or parameter, or process that was available to do the job that I might be missing.

Thanks!
0
 
LVL 19

Accepted Solution

by:
MerijnB earned 500 total points
Comment Utility
no, there is no way of achieving this the 'conventional' way, only if you make new driver for the microphone yourself which includes this functionality.
Even then it would be quite simple for a user to reinstall the normal driver and there you have your problem again... :|
0
 

Author Closing Comment

by:lmenasco
Comment Utility
It's what I suspected was the case.  I guess my next step is to find even a relatively simple driver example that gives me just the equivalent of waveIn and waveOut, there are other drivers that I am already using that allow me to do what the mixer control functions would ordinarally do, but more directly.  I just need audio io streaming capability.  I aready came across a means of at least binding a specific driver to a specific hardware port, so with a dedicated driver, I can probably create the binding I need.  One other thing I do have control over is the enumeration process/.asm code on the usb audio device.  I plan to eliminate the part that enumerates it as a generic composite device, and add instead an enumeration that would bring up the dedicated driver.  It's just a lot of extra work that I was hoping I could avoid!

Thanks again!
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

In our object-oriented world the class is a minimal unit, a brick for constructing our applications. It is an abstraction and we know well how to use it. In well-designed software we are not usually interested in knowing how objects look in memory. …
I have a Synology DS212+ NAS.  These are not only great for backup and normal NAS stuff, but also for delivering media throughout your home or LAN via DLNA.  I copied my whole audio collection from iTunes over to the box, but couldn't figure out how…
Viewers will learn how to create a new project within Adobe Encore and the basic layout of the software.
Viewers will learn the basics of creating custom device Racks in Ableton Live. Place instrument(s) and effects onto a track, and select them all by holding the Shift key and clicking on the device title bars: Group them by typing Command-G (Ctrl-G…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now