I'm doing a voice recognition application, and was wondering how to detect available microphones. I'm currently using SpeechRecognitionEngine to do the reco, and I set the default microphone using the SetInputToDefaultAudioDevice() method.

That works fine, but I would LIKE to offer a choice of microphone inputs instead of just automatically using the default. I know this kind of thing is possible, because I've seen other applications do it. (For example, Cubase offers a list of installed input and output devices to choose from.)

Any idea how to do this?