Take the 2-minute tour ×

How can I retrieve the list of application audio sessions (like in Windows volume mixer) and change volume of one application (for example, Mozilla) manually (C++, Delphi)? Skype do something the same when you start talking (decreases the volume of other applications). Thanks in advance!

share|improve this question
Are you sure that Skype themselves is running code that does this, and that you're not talking about the built-in Windows 7 feature that automatically adjusts the volume of other sounds when it detects communications activity? You know, this feature? –  Cody Gray Jul 26 '12 at 9:21
Yeah, I know this feature. –  DuXeN0N Aug 19 '12 at 10:54

1 Answer 1

up vote 4 down vote accepted

To enumerate the Audio sessions you must use the IAudioSessionManager2 interface and call the GetSessionEnumerator method, this will return a IAudioSessionEnumerator interface , from here you must invoke the GetSession method to return a IAudioSessionControl interface wich provides all the functions to retrieve the info related to the audio sessions. as additional lecture try the this MSDN article Default Ducking Experience.

share|improve this answer

Your Answer


