0

How can I change the volume range of an audio endpoint programatically? There is a Windows API for getting it IAudioEndpointVolume::GetVolumeRange (https://learn.microsoft.com/en-us/windows/win32/api/endpointvolume/nf-endpointvolume-iaudioendpointvolume-getvolumerange), but not for setting it.

Registry tweaking would be OK for me. The properties reside at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio, but I can't figure out where and how the volume range is stored.

Background: some drivers report wrong values that I want to correct. C++, Java or Python solutions are ok for me.

Barmak Shemirani
  • 30,904
  • 6
  • 40
  • 77
user3992979
  • 231
  • 4
  • 14
  • c++ solution https://stackoverflow.com/a/48838523/4603670 – Barmak Shemirani Feb 20 '20 at 01:06
  • This is for changing the volume (e.g. set it to 50 %), but I need to change the range, i.e. the values for the minimum and maximum that determine how loud a certain percentage is. A driver bug sometimes causes the maximum and minimum set to the same value. – user3992979 Feb 21 '20 at 08:39

0 Answers0