[wdmaudiodev] Re: waveOutSetVolume() under Vista returns MMSYSERR_NOTSUPPORTED

  • From: "Sam Tertzakian" <sam@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 8 Mar 2006 21:09:44 -0800

Yes, the main volume UI to uses the Hardware Volume Control (we don't see a
problem there). 

 

For this reason, we are trying to access the Hardware Volume Control. That
is why we are trying use either Wave or Mixer APIs to access the Hardware
Volume Control. But, it seems that we cannot access that control under Vista
(only XP) using Mixer or Wave APIs.

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace
Sent: Wednesday, March 08, 2006 6:27 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

Which user control are you talking about? The main volume UI in Vista will
already use your hardware volume control (unless there's a bug in the way
somewhere).

 

Frank Yerrace

Technical Lead

Microsoft Corporation

 

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

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian
Sent: Wednesday, March 08, 2006 6:24 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

My device has a volume control on it. When the user moves the control up and
down, we need the volume slider on the "Master Volume" to move up and down.

 

How do you think I should do this?

 

I have not tried the Mixer API on the Feb CTP, so I don't' know if it
works.but, I did try waveOutSetVolume().and for my driver (and for the
on-board audio device for which I did not write a driver) it seems to not
work. (But it does work under XP.)

 

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Larry Osterman
Sent: Wednesday, March 08, 2006 5:57 PM
To: 'wdmaudiodev@xxxxxxxxxxxxx'
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

Both waveOutSetVolume and the mixer APIs should be working on any recent
builds (with the caveat that Frank mentioned below: waveOutSetVolume using
IDs didn't work in all cases until recently).

 

If you attempt to set the capture volume using the mixer APIs, it won't work
(the API call should succeed, but the call will be ignored), the bug fix for
this didn't make the Feb CTP.

 

Please note that the wave and mixer volumes are plumbed to the per-stream
volume for render endpoints.

 

 

Larry Osterman 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian
Sent: Wednesday, March 08, 2006 5:42 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

I have tried both handles and ids..But, I just realized that I am testing
the Mixer API implementation on  build 5270 and not the latest build. I know
that both wave handles and device ids fail under the later version of Vista.


 

But, I am not sure about the mixer api under the lastest version of Vista.
I'll try it.

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace
Sent: Wednesday, March 08, 2006 5:33 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

Are you using wave handles or wave IDs? Both will eventually work, but wave
IDs were not working until recent builds of Vista. You might not have a
build with this correction. I don't have the information at my fingertips
regarding when this was corrected.

 

Frank Yerrace

Technical Lead

Microsoft Corporation

 

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

 

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian
Sent: Wednesday, March 08, 2006 5:08 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

Hi,

 

I wrote a bunch of code to set/get the volume using the Mixer API and it
works under XP with my driver.but the same code with same driver does not
work under Vista.

 

So, I cannot set the volume using the Wave API or the Mixer API under Vista.
Yet, when I change the volume using the control panel under Vista, the
messages do get to my driver.

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian
Sent: Wednesday, March 08, 2006 3:00 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

Hi, 

 

I wrote an audio driver that works under XP and Vista. It passes XP WHQL.
Under XP, when I call waveOutSetVolume() and waveOutGetVolume() everything
works. But, under Vista both those functions return MMSYSERR_NOT_SUPPORTED.

 

Does anybody know why this would be? Is that API not supported anymore? Do I
have to do something different in my driver under Vista to make this call
work?

 

Under Vista the driver works very well.for example, when I change the volume
using MSN messenger that works. It is just the waveXxxGetVolume and
waveXxxSetVolume calls that fail.

 

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian
Sent: Tuesday, March 07, 2006 9:37 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] waveOutSetVolume() under Vista returns
MMSYSERR_NOTSUPPORTED

 

Hi,

I am receving MMSYSERR_NOTSUPPORTED when I call waveOutSetVolume() under
Vista (latest CTP version). Under XP, the same code returns no error.

Is this API no longer supported under Vista?

Is there a new API for controlling the volume, or do we have to use the
MixerAPI?

Thank you

 

Other related posts: