guidox / Audio

Set a Different Volume for Each App in the Volume Mixer

TL;DR

Open **Settings > System > Sound > Volume mixer**, set the per-app slider, and use **Reset** only when an app ignores it. The level survives a restart for most apps.

Before you start

Requirements

  • Windows 11
  • Audio output device working
  • 10 minutes
Step by step

Instructions

01

Open the mixer while the apps are running

The mixer lists only apps that are producing audio. Start the game and the chat first, then open the page so both entries exist.

Start-Process ms-settings:sound
# Settings > System > Sound > Volume mixer
Get-Process | Where-Object { $_.MainWindowTitle } | Select-Object Name,MainWindowTitle
02

Set the per-app level

Each app has its own slider and its own output device. Moving the slider changes only that app, and the main volume slider stays as the master control.

:: Volume mixer > Apps > move the slider for the game to 40
:: move the chat to 90
:: leave the master slider at 70
03

Route one app to a second device

The same list can send a chat to the headset and the game to the speakers. The dropdown under each app is the output selector, not a global setting.

Get-CimInstance Win32_SoundDevice | Select-Object Name,Status
# Volume mixer > app > Output > choose the second device
# Settings > System > Sound > All sound devices for levels per device
04

Fix an app that resets its level

Apps that reinitialize their audio stream, mostly games with their own mixer, overwrite the Windows level. Setting the level inside the game is the durable fix for those.

# in the game: Audio > Master/Music/Voice sliders
# Windows: Volume mixer > app > Reset
Get-Service Audiosrv | Select-Object Name,Status,StartType
05

Check the app's own audio session

**SndVol** shows sessions that the Settings page hides, including background helpers. A browser with ten tabs produces one session, so the level applies to all of them.

sndvol.exe
# expand the device, look for the session icon
Get-Process chrome -ErrorAction SilentlyContinue | Select-Object Id,MainWindowTitle
06

Make the levels stick

The per-app level is stored per output device in the registry. Switching headsets means setting the level again for that device, which is why a fixed output helps.

Get-ItemProperty 'HKCU:\Software\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore' -ErrorAction SilentlyContinue | Select-Object -First 5
Get-AudioDevice -List 2>$null | Select-Object Index,Name,Default
Troubleshooting

Common issues

The app is not listed in the mixer

It is not playing audio at that moment. Start playback, then reopen the mixer page without closing the app.

The slider moves but nothing changes

The app uses exclusive mode or its own mixer. Check the app's audio settings and whether it bypasses the Windows mixer.

Levels reset after every reboot

The app rewrites its stream on start. Set the level inside the app and leave the Windows slider at 100.

Only one device is offered

The second device is disabled or disconnected. Enable it under Settings > System > Sound > All sound devices first.

FAQ

Frequently asked

Does this work with Bluetooth headsets?

Yes, per device. A headset that switches to a hands-free profile has a second device entry with its own levels.

Is the mixer the same as the old Windows 10 one?

It moved into Settings in Windows 11. sndvol.exe still opens the classic panel with the same sessions.

Can I mute one app only?

Yes, the speaker icon next to the slider mutes that app without touching the master volume.

How to undo this

Set every slider back to 100 and the master to your usual level, or press Reset in the mixer for each app.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress