我正在使用 kAudioSessionProperty_AudioRouteChange 委托来检测蓝牙或耳机是否已连接到电话以用于 VoIP 应用程序。实际的蓝牙设备可以从:
AVAudioSessionRouteDescription *route = [[AVAudioSession sharedInstance] currentRoute];
for(AVAudioSessionPortDescription *port in route.outputs) {
NSLog(@"AUDIO_OUTPUT IS NOW: %@",port.portType);
}
但是,并非所有蓝牙设备都在此方法中被检测到。当与交换 vcard 信息等的车载蓝牙主机(如奥迪)配对时,不会检测到这一点。事实上,如果您在配对时检查 currentRoute,它不会显示为有效路由。那么车载蓝牙设备与耳机有什么不同,我如何检测所有用于通话的蓝牙扬声器/麦克风?默认的 iOS 手机应用程序列出每个设备没有问题。