Solved

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

Posted on 2007-11-20
5
280 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 70

Expert Comment

by:Merete
ID: 20325970
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
ID: 20326038
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
ID: 20326070
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
ID: 20326211
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
ID: 31410317
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
You may or may not be familiar with Kodi (http://www.kodi.tv) the open source software media player and entertainment hub that can be installed on Linux, OSX, Windows, iOS, and Android.  Kodi which started off as X-Box Media Center (XBMC) many years…
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…

864 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

19 Experts available now in Live!

Get 1:1 Help Now