Bluetooth headphone music quality deteriorates when launching iOS simulator

BluetoothIos SimulatorCore AudioIos Bluetooth

Bluetooth Problem Overview


The situation goes a little something like this:

  1. I am programming Xcode whilst concurrently listening to music on my Bluetooth headphones... you know to block out the world.

  2. Then, I go to launch my app in the iOS simulator and BOOM all of a sudden my crystal clear music becomes garbled and super low quality like it is playing in a bathtub 2 blocks away... in the 1940s.

  3. Note: the quality deterioration does NOT occur if I am playing music on my laptop or cinema display and I launch the sim. It seems to be exclusively a Sim -> Bluetooth issue.

The problem is more than just annoying. Because often after stopping the simulator the crappy bathtub quality music continues. To fix it I have to open sound preferences in OSX and briefly toggle back to my laptop sound and then back to my Bluetooth headphones.

This is a big deal because I launch the simulator 50x a day and have to do this toggle thing every time as well as suffer listening to 40s era mono ham radio quality music.

For your information, the headphones I am using are Plantronics BackBeat Pro and I am up to date on firmware. I am on OSX 10.11.4 and Xcode 7.3... but this problem has persisted through all versions for 2+ years now. Can you save me from the 1940s?

Bluetooth Solutions


Solution 1 - Bluetooth

I've managed to fix it, and it actually seems to be a microphone issue. Go to System Preferences -> Sound, select the Input tab and set Internal Microphone as the input (mine was set with my headphones').

system preferences print screen

Crappy sound goes way after that =)

EDIT (May 30 2018):

I've found out an easier way to do the same as above. Instead of opening the System Preferences, you can just go to the Mac OSX toolbar, press Option (alt) + click on the sound icon and then select "Internal Microphone" from the "Input Device" list. Print screen as follows.

input selection from toolbar

Solution 2 - Bluetooth

If you're using Xcode 9 or higher, you can set a default audio input and output for the simulator. This can be done by launching the simulator from Xcode and navigating to I/O > Audio Input within the menu bar and selecting Internal Microphone. This solution will save your audio preference so you won't have to change it on every launch.

Audio Input Setting

Solution 3 - Bluetooth

On Simulator, Select;

I/O -> Audio Input -> Macbook [Pro]

Done.

Simulator Audio Input

Solution 4 - Bluetooth

Seems like years of suffering are finally over, Xcode 12 Beta Release Notes:

> Simulator defaults to the internal microphone unless you explicitly choose a different audio source. This avoids triggering phone call mode on Bluetooth headsets which degrades audio quality while listening to music. (59338925, 59803381)

Solution 5 - Bluetooth

enter image description hereYou can also switch to Mac's internal mic in System Preferences -> Sound, that's how I usually fix this bug (I have Sony Wh-1000XM3)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionworldView Question on Stackoverflow
Solution 1 - BluetoothAlmir FilhoView Answer on Stackoverflow
Solution 2 - BluetoothOvi BortasView Answer on Stackoverflow
Solution 3 - BluetoothmuhasturkView Answer on Stackoverflow
Solution 4 - BluetoothMax OView Answer on Stackoverflow
Solution 5 - BluetoothmacL0vinView Answer on Stackoverflow