Automatically switching sound output device?

Due to Covid-19 I’m working from home. I like to listen to music on my AirPlay speakers while doing that. However, we sometimes have online meetings via Slack or Microsoft Teams. My colleagues complain about an annoying delay when I use the AirPlay speakers, so I need to switch back to my MacBook’s internal speakers for online meetings.

Of course I would like to automate that…

Since we heavily use Slack (and sometimes Team) for text based chat as well, I can’t just switch the sound output device whenever those Apps become the active App.

Any tips on how to achieve what I want?

(Only switch back to MacBook Pro speakers when a call starts)

The SoundSource macOS app might be something to check out.

I saw that mentioned on the MPU forum (that post actually triggered me), but I think it will switch on App activation, not on the start of a call?

You are correct, it’s not going to switch just for a call starting (I think), but it sounds to me like there is no need for audio output when not on a call (text chat), so why not just set the calling apps to route audio to the internal speakers, and just leave it at that?

Seems the “switch when a call comes in” need is only relevant when one has to switch the entire macOS audio output to achieve the result, but with SoundSource this global switch is side-stepped.


Ah, maybe I misunderstood the concept and should just try out the trial…

Maybe Spotify can keep playing over the AirPlay speakers when I activate Slack for text chat?

(It’s not either the one output or the other, but can be both at the same time?)

SoundSource will allow you to send some audio to one output device, and others to another device.

There is no way to automate it, as far as I know, but you can set Zoom/Slack/whatever to use your internal speaker and that should do it, I believe.

Yeah that’s the idea of that app, you can route the audio output of individual apps to their own output source. So Spotify can be routed to AirPlay, system sounds to the headphones, and Slack to the internal speaker. Or whatever configuration you want. All simultaneously.

And you can likely just email the developers of SoundSource to make sure it does what I am suggesting. They seem to be macOS audio experts, their other apps all do other highly configurable things and maybe another is more appropriate.

But I think SoundSource will do what you ultimately want to achieve, which is have Slack use the internal speakers as the audio output, and keep the AirPlay speakers for Spotify. If I understand SoundSource properly, you’ll never have to switch audio output again, thus superseding your original request.

I think I demoed SoundSource in the past, but I do not have a license myself. I have an older license for their Airfoil app, which was excellent — and it might actually be more in-line with your needs, since it specifically deals with routing wireless audio.

I’d email the developers and ask them which is better for your needs. Please let us know what they say.

On the MPU forum the other suggstion was SoundControl:

I might test that one first (it’s cheaper… $19 and now on sale for $15)

A (free?) command line tool would be fine too, but I did not find such thing.

PS: I have tried Airfoil before; Rogue Amoeba indeed creates quality audio software for macOS!

Installed the Sound Control trial.

Seems to do what I want:

  • I can configure Slack to use the internal speakers
  • I can configure Spotify to use the AirPlay speakers

Unfortunately Spotify refuses to play any music if I use Sound Control to route its audio directly to the AirPlay speakers…

If I instead configure Spotify to use the system default and switch that to the AirPlay speakers it does work.

So I might give SoundSource a try as well, to see whether that works better (even though this might be good enough for now).

1 Like