From 9610a27cb93b27086f9f9f58f01d7f5144ff229f Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 5 Jul 2013 15:19:33 +0100 Subject: [PATCH] iOS bluetooth audio fix. --- modules/juce_audio_devices/native/juce_ios_Audio.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index ee3cbe94ce..c8b33b38cd 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -98,18 +98,19 @@ public: AudioSessionSetActive (true); - UInt32 audioCategory = kAudioSessionCategory_MediaPlayback; + UInt32 audioCategory = (numInputChannels > 0 && audioInputIsAvailable) ? kAudioSessionCategory_PlayAndRecord + : kAudioSessionCategory_MediaPlayback; - if (numInputChannels > 0 && audioInputIsAvailable) - { - audioCategory = kAudioSessionCategory_PlayAndRecord; + AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (audioCategory), &audioCategory); + if (audioCategory == kAudioSessionCategory_PlayAndRecord; + { + // (note: mustn't set this until after the audio category property has been set) UInt32 allowBluetoothInput = 1; AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput); } - AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (audioCategory), &audioCategory); AudioSessionAddPropertyListener (kAudioSessionProperty_AudioRouteChange, routingChangedStatic, this); fixAudioRouteIfSetToReceiver();