我创建了一个AVAudioSession,AVAudioSessionCategoryPlayAndRecord
和AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryAllowBluetooth
作为选项。
只要连接扬声器和麦克风的设备一切都很好。
声音来自外部扬声器,输入通过外部麦克风录制。
但是当我连接蓝牙扬声器(即Bose SoundLink)时,输出切换到iPhone-Speaker。
对我来说奇怪的是,蓝牙扬声器列在 [[AVSession sharedInstance] availableInputs]
使用 AVAudioSessionCategoryAllowBluetoothA2DP
不是一个选项,因为它总是使用iPhone-BuiltIn-Microphone。
我发现Bose SoundLink报告的是麦克风输入,虽然它没有内置麦克风,但可以连接外接麦克风。因此,这是一个不完美的设备来测试。
无论如何,我的问题仍然是要找出新连接的设备是仅限扬声器还是内置麦克风。