Conversation
Prevent incorrect volume level display, same as Windows.
| else | ||
| { | ||
| volume = ((int)(getVolume() * 100)).ToString(); | ||
| volume = (getVolume() * 100).ToString(); |
There was a problem hiding this comment.
It is possible. Maybe it's a Windows 11 issue.
I'm actively using it on Windows 10 x64, without the int conversion, it works perfectly. Using both keyboard volume, and using the mouse cursor to change the slider from tray, displays the same value as Windows, no decimals.
I recommend you are using real conditions to verify, not unit tests.
Investigate what is happening, find the source of the issue before coming up with solutions.
The quickest way to get in more trouble is to be smart about it and theoretical, without knowing the source and patching the result.
There was a problem hiding this comment.
See this commit on my fork. Tested using both volume up/down keys and the slider from tray.
There was a problem hiding this comment.
From Microsoft's documentation here and this code
pAudioEndpointVolume.GetMasterVolumeLevelScalar(out masterVolume);GetMasterVolumeLevelScalar returns a float value between 0.0 and 1.0.
The reason why in Windows 11 it may appear as a decimal is because of what is is mentioned with Note that the shape of the curve might change in future versions of Windows.


Prevent incorrect volume level display, same as Windows.