Look into the concept of "audio sessions" in windows. There are some interfaces suggested by the following link, namely ISimpleAudioVolume
, IChannelAudioVolume
, and IAudioStreamVolume
interfaces.
The code examples given are in C++ though, but it should be useful.