⭐Please star this project in GitHub if it helps you!⭐
Tired of apps changing your microphone volume without your consent?
Volume Locker is a tray icon app that keeps the volume of your audio devices locked. It is a portable, less than 1MB binary written in Rust for Windows.
Never worry about your microphone volume again!
Important
This demo is outdated, since v0.6.0, Volume Locker no longer takes some seconds to restore the volume. It is now instantaneous.
Volume.Locker.mp4
Simply grab the executable from the releases page, place it somewhere like C:\Apps\Volume Locker\Volume Locker.exe
and run it.
Or you can copy and paste this into Windows PowerShell, and execute:
New-Item -ItemType Directory -Path 'C:\Apps\Volume Locker' -Force >$null; `
Get-Process | Where-Object { $_.Path -eq 'C:\Apps\Volume Locker\VolumeLocker.exe' } | Stop-Process; `
curl.exe --progress-bar --location --output 'C:\Apps\Volume Locker\VolumeLocker.exe' `
'https://github.com/felipecrs/volume-locker/releases/latest/download/VolumeLocker.exe'; `
Start-Process 'C:\Apps\Volume Locker\VolumeLocker.exe'
You can also use the snippet above to update the app, just run it again.
When you want to lock the volume of your audio output or input devices:
- Adjust the volume to the desired level
- Click on the Volume Locker tray icon
- Select the device you want to lock the volume for
- Try messing with the volume of the device. It should return to the locked level shortly after.
This is my first Rust project, with no prior experience or knowledge of the language. Don't expect the code to be examplary, but I think it's overall optimised.
I was dissastisfied with any existing solution because they were either relying on nircmd.exe
, which is not open source, and also didn't allow to lock the volume of specific devices, only the current default one.
In fact, I used wolfinabox/Windows-Mic-Volume-Locker for years before deciding to write my own solution.
I was inspired by AntoineGS/teams-status-rs being so amazing in such a lightweight package. I wanted to do something similar, but for volume locking.
Thanks Kingloo/volume for the Windows volume control code. I copied pretty much everything from there.
The barebones of the tray icon code were taken from tauri-apps/tray-icon's tao example
GitHub Copilot helped me a lot to glue everything together, and to get the syntax going.
Finally, thanks to @jmb for the great icon design.