How can I get the current master volume of the system in Windows 7?
I looked up in Google, but every solution returned values like -1 or 4686346 without a clear explanation of what they mean.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You’re looking for the
EndpointVolumeAPI. This is part of the new audio APIs that were released in Windows Vista, and it can be used to get or set the master volume.This undertaking is made considerably easier by the fact that you do not need to support versions of Windows prior to Vista (namely Windows XP), because there were substantial changes made to the relevant infrastructure between those OS releases. This is likely the reason why the existing samples you’ve tried didn’t work properly.
There’s a complete managed wrapper library available on CodeProject: Vista Core Audio API Master Volume Control. It probably implements more functionality than you need, but you can get an idea of what you need to do to determine the master system volume from your C# application.