I got a bugreport (through a bad app store review, sigh) that bluetooth headsets / headphones do not playback audio on the iOS plattform. I researched a bit and it seems the fix should be as simple as adding the following lines to juce_ios_Audio.cpp around line 105:
UInt32 audioCategory = audioInputIsAvailable ? kAudioSessionCategory_PlayAndRecord : kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (audioCategory), &audioCategory); UInt32 allowBluetoothInput = 1; AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof(allowBluetoothInput), &allowBluetoothInput); AudioSessionAddPropertyListener (kAudioSessionProperty_AudioRouteChange, routingChangedStatic, this);
kAudioSessionProperty_OverrideCategoryEnableBluetoothInput is available in in iOS 3.1 and later. While the name seems to imply that it only applies to audio input it affects audio output as well. This behavior is documented in the Audio Session Services Reference (http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html):
“This property affects the kAudioSessionCategory_PlayAndRecord category as follows: If the audio input to the device is coming from a Bluetooth headset, setting this property to TRUE results in audio output also going to the Bluetooth headset.”
I can’t test right now, my already ordered bluetooth headset is still on its way from Amazon. If someone could verify if this fixes bluetooth audio that would be great.