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