IOS – macOS/iOS devices reconnect automatically to airplay/bluetooth device disturbing intended audio stream

airplayaudiobluetoothiosmacos

I have a wireless airplay/bluetooth speaker and a number of macOS and iOS devices. I am facing one issue that drives me crazy.

Let's say I watch a movie from one MacBook using AirPlay to connect to the speaker. After few minutes some of the other devices connects i.e. to play notification (usually I cannot even hear it) and the intended audio stream stops being played – I need to switch back and forth to other device to revert original audio stream being played on the speaker.

It would be insane to disconnect all the other devices from this device each time. Also the reality is that due to i.e. pure network or device being suspended for some time it will reconnect again disturbing the intended video stream all over again. And since most of the devices are also paired to same device via bluetooth (to be able to use it while being out of WiFi coverage) the problem is actually doubled.

Ideally I would see one of either being able to disable autoconnect to wireless speaker or being able to detect the device is already in use and prevent to connect only then. One more could be that maybe the loudspeaker device is not just broadcasting its presence but also if it's ready to accept default/spontaneous connection – not sure if there is such thing in the protocol.

Update: There is a kind of workaround for a bluetooth (less important) part of the question which disables auto reconnect to any audio device
Prevent auto-pairing for certain devices (Bluetooth) by:

sudo defaults write /Library/Preferences/com.apple.Bluetooth.plist DontPageAudioDevices 1

Best Answer

It may sound like a simple solution, and it may not be what you're looking for, but it is the easiest to accomplish: turn off Bluetooth on the devices you don't want to connect.

Personally, I don't like leaving BT on and running on my devices when it is not in use. A quick swipe on the Control Center and the On/Off toggle is right there.