VolumeControl.SDK
6.3.0-debug
See the version list below for details.
dotnet add package VolumeControl.SDK --version 6.3.0-debug
NuGet\Install-Package VolumeControl.SDK -Version 6.3.0-debug
<PackageReference Include="VolumeControl.SDK" Version="6.3.0-debug" />
paket add VolumeControl.SDK --version 6.3.0-debug
#r "nuget: VolumeControl.SDK, 6.3.0-debug"
// Install VolumeControl.SDK as a Cake Addin #addin nuget:?package=VolumeControl.SDK&version=6.3.0-debug&prerelease // Install VolumeControl.SDK as a Cake Tool #tool nuget:?package=VolumeControl.SDK&version=6.3.0-debug&prerelease
<p align="center"> <a href="https://radj307.github.io/volume-control"><img alt="[Volume Control Banner]" src="https://i.imgur.com/rMbNIhU.png"></a><br/> <a href="https://github.com/radj307/volume-control/releases/latest"><img alt="GitHub tag (latest SemVer)" src="https://img.shields.io/github/v/tag/radj307/volume-control?color=e8e8e7&label=Latest%20Release&logo=github&logoColor=e8e8e7&sort=semver&style=flat-square"></a> <a href="https://github.com/radj307/volume-control/releases"><img alt="Downloads" src="https://img.shields.io/github/downloads/radj307/volume-control/total?label=Downloads&color=e8e8e7&logo=github&logoColor=e8e8e7&style=flat-square"></a> <a href="https://github.com/radj307/volume-control-cli"><img alt="Volume Control CLI Latest Version" src="https://img.shields.io/github/v/tag/radj307/volume-control-cli?color=e8e8e7&logo=github&logoColor=e8e8e7&label=Latest%20VCCLI%20Version&style=flat-square"></a> </p>
<p align="center"> Application-specific volume control that supports the keybindings you already use.<br/> Designed for effortless music volume control <i>(Spotify, Deezer, Chrome, Firefox, etc.)</i> without disrupting gaming or VoIP audio. </p>
What It Does
- Lets you control the volume of specific programs using only the keyboard.
- Can override pre-existing keys & key combinations, including all of the media keys.
- All hotkeys are completely user-customizable and can be bound to a variety of actions.
- New actions can be added via user-created addons.
- Offers more features and a more compact UI than the Windows Volume Mixer.
- And more!
How does it work?
Volume Control leverages the Win32 API to establish seamless native hotkeys, effectively superseding default Windows keybindings with imperceptible latency. Employing the same approach as the native Windows volume mixer, it offers compatibility with all applications.
Volume Control empowers users with an unlimited array of unique hotkey combinations, each fully customizable with specific actions. The default options include common actions like "Volume Up", "Volume Down", and "Toggle Mute". Furthermore, you have the flexibility to create and integrate your own custom actions in C# to enhance Volume Control's functionality.
Getting Started
Getting started is simple. Download VolumeControl-Installer.exe
from the latest release, and run it. It will guide you through the installation process.
If you prefer to use a package manager, you can use Winget to install Volume Control:
winget install radj307.volume-control
Manual Installation
Download VolumeControl.exe
from the latest release and move it to a location of your choice.
Before starting the program for the first time, you have to unblock the executable from the properties menu.
This is necessary because Windows requires paying >$300 a year for a Microsoft-approved publishing certificate in order to prevent Windows Defender from blocking it.
If you're unsure, you can always run it through VirusTotal first, or check the source code yourself.
- R+Click on
VolumeControl.exe
in the file explorer and select Properties in the context menu. - Check the box next to Unblock:
- Click Ok to save the changes.
All that's left now is to run the application.
Usage
First, enable the Volume Up & Volume Down hotkeys from the Hotkeys tab by checking the box to the left of the hotkey name. If you don't have a volume slider, change the key from the dropdown. You can also set a modifier key with the checkboxes to the right of the dropdown.
NOTE: Hotkeys cannot be enabled if their associated key is set to None
.
Next, let's set a target application to test the hotkeys with.
Start playing some audio from any application, then return to the Mixer tab, click Reload, then click the Select button next to the test application, and try using the volume hotkeys.
In the settings tab, you can change how the application behaves such as which audio device is controlled, enable or disable the toast notification, enable advanced hotkeys, set the volume step (how much the volume will increase on decrease when the hotkeys are pressed), tell the application to run on startup, and more!
By enabling notifications, you will see a toast notification in the bottom right of your screen when you switch target sessions. This tells you which session is currently selected. Using the Un/Lock Session hotkey, you can prevent changing the targeted audio device. The border of the toast notification will be red when the currently targeted session is locked. You can press the hotkey again to unlock the session.
If you want to add or remove hotkeys, you can press the Edit Mode button to enable editing. You can create new hotkeys, and change the action of each hotkey when it is pressed. You can reset all hotkeys to their default value by pressing the Reset Hotkeys button. Note that this will also remove any additional hotkeys you have created.
⚠️ Note
Some applications that use the DirectInput API (dinput) - usually games - may cause issues with Volume Control's hotkeys.
In many cases you can resolve this by running Volume Control as an Administrator. (See issue #44)
Troubleshooting
The first step when troubleshooting is always to delete volumecontrol.json
and re-launch; this fixes the vast majority of bugs.
If this does not fix your problem, post a bug report and we'll do our best to help.
Contributing
See CONTRIBUTING.md for more information.
Addon Development
Want to develop an addon for Volume Control?
Get started with the tutorial!
We also have doxygen-generated API Documentation available online.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. |
-
net6.0-windows7.0
- radj307.AppConfig (>= 1.0.2)
- VolumeControl.CoreAudio (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.6.3 | 202 | 11/22/2023 |
6.6.1 | 121 | 11/13/2023 |
6.6.0 | 114 | 11/13/2023 |
6.6.0-pr1 | 96 | 11/12/2023 |
6.5.2 | 105 | 11/8/2023 |
6.5.0 | 119 | 11/3/2023 |
6.4.0 | 135 | 10/28/2023 |
6.3.0 | 137 | 10/24/2023 |
6.3.0-debug | 107 | 10/25/2023 |
6.2.0 | 134 | 10/21/2023 |
6.2.0-rev1 | 118 | 10/21/2023 |
6.1.1 | 129 | 10/18/2023 |
6.1.1-SelectActiveApplication | 95 | 10/19/2023 |
6.1.1-rev1 | 98 | 10/19/2023 |
6.1.0 | 119 | 10/18/2023 |
6.1.0-pr1 | 99 | 10/12/2023 |
6.0.5 | 131 | 10/3/2023 |
6.0.4 | 123 | 10/1/2023 |
6.0.3 | 124 | 9/29/2023 |
6.0.2 | 126 | 9/27/2023 |
6.0.1 | 129 | 9/23/2023 |
6.0.0 | 318 | 1/13/2023 |
6.0.0-pr9.1 | 66 | 9/16/2023 |
5.2.6 | 377 | 8/26/2022 |
5.2.5 | 369 | 8/19/2022 |
5.2.4 | 365 | 8/17/2022 |
5.2.3 | 374 | 8/7/2022 |
5.2.2 | 397 | 8/6/2022 |
5.2.1 | 384 | 8/6/2022 |
5.2.0.1 | 391 | 8/5/2022 |
5.2.0 | 388 | 8/5/2022 |
1.0.0 | 378 | 8/3/2022 |
Full Changelog: https://github.com/radj307/volume-control/commits/main