I’ve been working with multiple audio devices on my Mac for years now, juggling between different headphones, speakers, and microphones depending on what I’m doing. Like most Mac users, I’d gotten into the habit of manually clicking through System Settings every time I wanted to switch audio outputs. It’s one of those small annoyances you tolerate until you discover there’s actually a solution.
AudioPriorityBar is a free and open-source menu bar app that automatically manages audio device switching based on priorities you set. The concept is straightforward: you rank your speakers, headphones, and microphones by preference, and when you connect a higher-priority device, the app automatically switches to it. No more diving into System Settings or remembering which device you were using last.
The app maintains separate priority lists for speakers and microphones, which makes sense when you think about how people actually use audio devices. You might want your external speakers at the top for music playback, but prefer your USB microphone for recording. Just drag devices to reorder them, and the app handles the rest. It also tracks when devices were last seen, which is useful when you’re trying to remember if that Bluetooth headset is even charged.
What I appreciate most is the manual override mode. Sometimes you want to use a lower-priority device temporarily without messing up your rankings. Click the hand icon, select what you want, and the app stops auto-switching until you’re ready to turn it back on. This is particularly useful when testing audio equipment or troubleshooting connection issues.
The app is built with Swift 5.9 and SwiftUI, using CoreAudio to monitor device changes. It stores your preferences in UserDefaults, keyed by device UID rather than device name, which means your priorities persist even when devices disconnect and reconnect. Performance impact is negligible since it’s only listening for system audio events rather than constantly polling.
AudioPriorityBar requires macOS 13.0 Ventura or later. You can build it from source on GitHub or download pre-built binaries from the releases page. The project is licensed under MIT, making it truly free to use and modify. The developer has kept the interface clean and functional, focusing on solving the problem rather than adding unnecessary features.
For anyone managing multiple audio devices regularly, whether you’re switching between headsets for different meetings or alternating between studio monitors and headphones, this app eliminates a persistent workflow friction. It’s the kind of utility that becomes invisible once you set it up because it just works in the background, exactly as it should.