[wdmaudiodev] Re[2]: Few questions about core Audio APIs in Vista

  • From: wdmaudiodev@xxxxxxxxxxxxxxxxxx
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Mon, 4 Dec 2006 23:50:13 -0600 (CST)


Thank you for the explanation.

A1. Do you plan to add this method in the future? We have some interesting 
ideas, but
can't implement because there is no way...

A2. I've supposed that. However, I think this is not best practice when users 
set one
volume level in Sndvol.exe but when they reopen it the value is different. 
a difference may be big with linear volume setup (e.g. they set 80 but returned 
90 and
so on), so the users will be confused. My opinion is the driver must always 
original value set even if it support only the levels of multiple of 


Original Message Follows:

A1.  Sorry, but there is no public method for enumerating all of the audio 

A2.  Most hardware volume controls have .5, 1 or 1.5dB steps.  Whether the 
returns the actual volume level (e.g. -5dB) or the last value set (e.g. -5.02dB)
depends on the driver, but in general you should expect that the level will be a
multiple of *pfStepping.

Mitch Rundle

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

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On
Behalf Of Andrew Mindrin
Sent: Thursday, November 30, 2006 11:09 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Few questions about core Audio APIs in Vista


The questions are:

Q1. Enumerating all audio sessions
I need to enumerate all audio sessions in Vista to take control over
them like Sndvol.exe. Is there a way? I need that to create custom
volume control software.

I've tried to play with WASAPI, but it is possible only to create new
session or to open a sessions of current process created by high-level

Q2. Volume levels in Vista
I've noticed that some sound drivers for Vista doesn't support precise
volume setup. E.g. with the latest driver from Creative (2.11.0000) when
I set volume by using IAudioVolumeLevel::SetLevel to e.g. -5.02 dB and
then has read it by using IAudioVolumeLevel::GetLevel, the result is -5
dB instead of -5.02 dB. Is this driver bug or volume level in Vista can
be set\read only with a step returned by GetLevelRange method (pfStepping
parameter)? If this is not a bug, how to set\read precise levels?

Many thanks,

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx


Other related posts: