I have an OCX control written using VB6 which uses MCI to implement an on-screen tape-recorder-style interface -- stop, start, record, play, rewind, etc. The microphone I'm using is a Philips SpeechMike Pro Plus, which is a highly specialized microphone typically used in turnkey systems like the one I'm working on.
The problem is that this control works fine on a majority of computers. However, on some computers, it fails to open the SpeechMike with the following error:
"Cannot set the current wave device for recording because it is in use.
Wait until the Device is free, and try again. "
I'm darned if I can find any other task running that imight be using the microphone. One issue is that the control has to support multiple operating systems. It generally, although there are exceptions, works on machines running Windows XP. However, under Windows 7, the problem happens invariably.
Can anyone recommend a good way to track down what task may be keeping the microphone open under Windows 7? Or, is this some kind of Windows 7 compatibility issue? Experts, your thoughts will be greatly appreciated!!!!! Thank you in advance!
Have you tried to enumerate the audio inputs so that you can control them? Take a look at this project: http://www.mp3vcr.com/stads/
This person shared their VB6 code on how to control audio devices, maybe that would give you some ideas.