Mac app volume per output device: headphones, monitor speakers, and desk speakers
A Mac that is quiet in headphones can be too loud on monitor speakers five minutes later. Treat each output device as its own context, then decide whether each app should follow the system output or use its own route.
The answer is not one universal app volume. Set the Mac's output device first, then set app volume for that device. Your browser, music app, meeting app, and recorder often need different levels on headphones than they do on monitor speakers or a docked desk.
TeenySound supports that workflow. Its source saves normal per-app volume by the current default output device, and it also supports explicit per-device volume rows when an app is routed to selected output devices.
If the repeated output is part of a closed-lid desk, start with the MacBook clamshell sound output setup. Compare the selected device name and physical destination after lid close, wake, and reconnect before trusting any per-device app level.
This is the audio spoke for the TeenyApps Mac docked desk reset checklist. Pair it with the TeenyDisplay guide to external monitor input switching when a docked desk changes both screen and sound state.
Quick decision table
| Need | Use this | Why |
|---|---|---|
| All apps should move to headphones or speakers together | macOS Sound settings | The system output is the right layer. |
| The same app should be softer on speakers than headphones | Per-device app volume | The app follows the system output but keeps a better level for each device. |
| A call should stay in headphones while media plays elsewhere | Per-app routing | That app needs a selected output device, not just a remembered volume. |
| A monitor takes over all Mac audio after docking | Output checklist first | Fix the default output before tuning app sliders. |
| You only change one source once a week | The app's own volume control | A mixer is useful for repeat problems, not one-off nudges. |
What macOS handles first
Apple's Sound settings let you choose the current output device, adjust balance, set output volume, and mute the output. That is the foundation. If the wrong output is selected, app volume work will feel random because the room itself is wrong.
Start there after the real device is connected. Pick the headset, internal speakers, monitor speakers, USB interface, AirPlay target, or desk speakers you plan to use. Then play one real source.
If the Mac switches to a display speaker path after docking, fix that with the Mac audio switches to monitor speakers checklist. Per-device app volume is the next layer, not the first one.
What per-device app volume changes
Per-device app volume is for the common docked-desk mismatch: an app needs one level on headphones, another on monitor speakers, and another on desk speakers. The app can still follow the system output. It just does not have to use the same saved level everywhere.
TeenySound's source keeps a current output-device UID and stores saved app volumes under that device. When the default output changes, the app saves the old device's volumes, loads the new device's volumes, applies them to running app rows, and updates the active audio taps.
That makes repeat setups quieter. A music app can be comfortable on headphones, quieter on speakers, and muted for a room display without forcing the whole Mac to share one app level.
When routing is different
Routing is stronger than per-device volume. Use it when an app should not follow the system output at all. For example, a call stays on the headset while a browser demo plays through display speakers.
TeenySound's app row has an output-device menu when multiple output devices are available. Selecting a device creates or removes the needed tap for that app and device. If the app is routed to selected devices, the row can show per-device volume controls under the main slider.
The broader routing guide is Route Mac app audio to different outputs. Use this page when the question is volume memory across outputs. Use the routing page when the question is where a specific app should play.
Setup checklist
- Connect the output device you actually use: headphones, monitor speakers, USB speakers, dock audio, or AirPlay.
- Open System Settings, Sound, Output, and select the intended device.
- Play audio in one app that matters.
- Open TeenySound from the menu bar.
- Set that app's volume while this output device is active.
- Switch to the next output device and set the app volume again.
- Use the output-device picker only when the app should be pinned to a specific device.
- After reconnecting a dock or display, run one short test before a call, recording, or workshop.
Do not build a dozen rules on the first day. Start with the two apps that cause the most trouble. A music app and a browser are usually enough to prove whether the workflow helps.
Good volume patterns
| Device | App pattern | Rule |
|---|---|---|
| Headphones | Music higher, alerts lower, meeting app normal. | Comfort matters more than room volume. |
| Monitor speakers | Browser demo audible, notifications low, music quiet. | Assume other people may hear it. |
| Desk speakers | Media app moderate, call app routed elsewhere. | Use routing for calls, volume for the rest. |
| USB interface | Recorder and source app tested before capture. | Do not trust yesterday's output state. |
Limits and privacy
Apps appear in TeenySound when they are producing audio. If an app is silent, closed, hidden, or blocked by missing permission, it may not show up yet. Play the source before assuming the app is missing.
Per-app volume and routing require access to outgoing app audio. TeenySound uses Apple's Core Audio tap path on macOS 14.2 or later. The product is a mixer, not a recorder, but the system permission language is still worth reading carefully.
For more context, read Why Mac volume apps ask for system audio recording. For a live teaching or recording setup, use the Mac workshop audio checklist before the event.
Common questions
Can macOS save different app volumes for headphones and speakers?
macOS Sound settings choose the current output device and system output volume. TeenySound adds per-app volume state and device-specific volume memory for repeat output setups.
Should I use routing or per-device volume?
Use per-device volume when the same app should follow the system output but use a different level on each device. Use routing when an app should play through a specific output device.
Why did app volume change after I docked my Mac?
Docking can change the default output device. Pick the intended output in Sound settings, then set app volume for that device instead of treating every output path the same.
Sources checked
- TeenySound claims were checked against the TeenySound homepage and local Swift source for
PerAppAudioManager,MixerViewModel,AppSliderRow,AudioDeviceManager,PlaythroughEngine, and output-device change handling. - Apple Support: Change the sound output settings on Mac.
- Apple Support: If your Mac switches to a different audio device.
- Apple Support: Set up external speakers in Audio MIDI Setup.
- Apple Developer Documentation: Capturing system audio with Core Audio taps.
Keep app volume tied to the device in front of you.
teenysound gives each audio app its own volume slider, mute control, and output route. Native Mac app, $9.99 once, 3-day trial.