macOS plugging headphones back in doesn't switch audio


On macOS when plugging headphones in or changing the audio source, fmod doesn’t change and the audio keeps playing on the macbook speakers. Plugging the headphones out switches correctly back to the macbook speakers, but the other way around doesn’t work.

On iOS it automatically switches. Is there a way to always use the macOS output as output for the game?

I’ve seen a few older posts suggesting that you can use getDriverInfo and setDriver, but how do I detect which of the drivers is the currently selected output? Is there no way to automatically just play whatever the system output driver is ?

Thank you.

By default, FMOD will use FMOD_OUTPUTTYPE_AUTODETECT which uses the devices default output.

If the default is set to the speakers, then plugging in headphones won’t change the output because the default/preferred device is the speakers. Whereas if the default is set to headphones, when they are not plugged in FMOD will use the next available output and if the default (headphones) are plugged back in it will know to switch back to them.

If you are not seeing this behavior, can you please provide the FMOD version you are using and any steps to reproduce this issue.

Is default the macOS selected output device ? Spotify or any other system audio will automatically go to the headphones when headphones are plugged in as the macOS system output switches to the headphones, FMOD doesn’t.

Using FMOD 1.10.15 ( used 1.10.9 before) same behaviour.
Steps to reproduce, play any audio, plug in headphones, game sound continues on speakers, all other sounds play on headphones.

Unfortunately that doesn’t reproduce on any of our Mac machines. Can you make a development build, test it and if that still doesn’t work send us the output log file.

I have a Player log, what email do I send this to ?

You can attach it to our login and we will be able to access it:

Thanks, uploaded the log.

Unfortunately there isn’t anything in the log file about it.

Next I would check the Console on the device, you can also filter it by “DefaultDeviceManager”, and see if there are any issues with it changing the default output.

We have not been able to reproduce this so far, are you able to provide us with a reproduction project?