[wdmaudiodev] Re: Setting Default Sound Device Programmatically in Vista

  • From: "John Rennemeyer" <john@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sun, 9 Jul 2006 21:30:06 -0600

What we are trying to do is the following:


We have 2 or more soundcards in our system.


Example: 2 soundcards


We want all sounds from app 1 to play through soundcard 1.

We want all sounds from app 2 to play through soundcard 2.


This basically gives us the ability to use app 3 to record just the sounds
from app 1, app 2, or from both, to the same stream.  This is useful for
recording interviews and for "dj/mixing audio" applications.


This applies to more than one soundcard.  If we want to mix 3 streams, we
separate them out to the 3 soundcards and mix in as appropriate.  The
biggest benefit is to separate the windows sounds from other apps.  So, the
first example would have a 3rd soundcard that would stay as the default for
the system and all other applications would use it.


The issues are these:  

1.                   The applications don't have settings to specify which
soundcard to use.

2.                   The sound needs to stay separate even if the audio
stops and then starts again later (using the audio device mmsys.cpl to
change the playing device before loading does not work because when you
change it to the second device and app 1 stops audio and starts it again, it
then defaults to the currently selected device set using the mmsys.cpl).  

3.                   In XP, you could use the soundmapper registry key to do
this as long as you used a helper app to change the setting before the real
app loaded and then the helper app would reset the setting back to the


I hope this helps in understanding the scenario.  Please let me know if you
need further detail.


Thank you,





From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace
Sent: Sunday, July 09, 2006 6:12 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Setting Default Sound Device Programmatically in


There is no API for this. Can you elaborate on your scenario? We may have an
alternate solution for you in Vista.


Frank Yerrace

This posting is provided "AS IS" with no warranties, and confers no rights.





From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of John Rennemeyer
Sent: Thursday, July 06, 2006 8:37 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Setting Default Sound Device Programmatically in


Hi, I am looking for a way to programmatically set the sound device for
playback in Windows Vista.  In XP, you could set the SoundMapper registry
setting "Playback" key to the name of the device you wanted the program to
use as long as you set it before program startup.  Once the program started,
you could set the "Playback" key to a different device and have all the
other applications use that device.  This helps keep sound secluded for
recording audio calls and things of that nature.


The only caveat is that you couldn't use the mmsys.cpl to reset the device
otherwise the program would default back to the device you set it back to
once the program stopped outputting audio.


Does anyone know if there is a registry key in Vista that will do the same
thing as in XP?


Thank you,




Other related posts: