[wdmaudiodev] Re: Mixer API support on Vista?

Yes, I used MixerSetControlDetails to set the volume and used 
mixerGetControlDetails to get the volume. The destination used to set/get is 
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS. This piece of mixer code works fine on 98 
and 2K/XP.  Thanks!

MIke

  ----- Original Message ----- 
  From: Larry Osterman 
  To: wdmaudiodev@xxxxxxxxxxxxx 
  Sent: Friday, August 11, 2006 8:54 PM
  Subject: [wdmaudiodev] Re: Mixer API support on Vista?


  How did you set the volume?   Did you use mixerSetControlDetails?  On which 
destination did you do the set/get?

   

  From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Dey
  Sent: Friday, August 11, 2006 5:10 PM
  To: wdmaudiodev@xxxxxxxxxxxxx
  Subject: [wdmaudiodev] Re: Mixer API support on Vista?

   

  Hi Larry,

   

  In my app, I tried changing the volume to 32767 on my USB audio device but 
still got 65536 when I read it back. I am still not quite clear about the 
"per-app" state of volume control concept? Does it really change the volume on 
my hardware? 

  My company is doing USB VOIP hardware. Our customers like to directly adjust 
the volume in the phone application while a call is connected. 

  Thanks!

   

  Mike

   

    ----- Original Message ----- 

    From: Larry Osterman 

    To: wdmaudiodev@xxxxxxxxxxxxx 

    Sent: Wednesday, August 09, 2006 1:49 PM

    Subject: [wdmaudiodev] Re: Mixer API support on Vista?

     

    In Vista, the old hardware mixer is gone (ok, it's not gone, it's just 
really well hidden), and has been replaced with a "virtual" mixer that reflects 
the per-app state of the volume controls.  In your case, the reason you're 
always seeing max volume is that nothing in your app has changed the volume 
from its default.

     

    For Vista, you have two options.  The first is that you can apply one of 
the legacy appcompat layers to your application (note: this doesn't work in 
current Vista bits), which will tell Vista "my application is a control panel 
replacement and should be allowed to see the actual hardware values".  The 
second option is to use the new IAudioEndpointVolume interface to control the 
volume of the speakers.

     

    If you chose to go the former route, it's important to understand that the 
Vista mixer no longer lies about the topology of the audio solution on the 
machine - if the audio solution doesn't have a hardware volume control, then 
the mixer APIs won't return a hardware volume control.  The 
IAudioEndpointVolume interface will correctly handle audio solutions without 
hardware volume controls though.

     

    Larry Osterman

     

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

     

     

    From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Dey
    Sent: Wednesday, August 09, 2006 1:29 PM
    To: wdmaudiodev@xxxxxxxxxxxxx
    Subject: [wdmaudiodev] Mixer API support on Vista?

     

    Does Vista still support mixer APIs? I have a volume control application 
using mixer APIs (such as mixerOpen, mixerGetDevCaps, mixerGetLineControls...). 
It works well on 2K/XP. However, on Vista build 5472 the volume I got from 
mixerGetControlDetails API is always 65535. Anyone know what's the problem? 
Thanks!

     

    Mike

Other related posts: