如何在 iPhone 上获取已配对的蓝牙耳机列表?
Posted
技术标签:
【中文标题】如何在 iPhone 上获取已配对的蓝牙耳机列表?【英文标题】:How to get list of paired Bluetooth headsets on iPhone? 【发布时间】:2011-05-05 00:55:52 【问题描述】:我正在尝试在我的 iPhone 上获取已配对的蓝牙耳机设备列表。我尝试了如下外部附件框架:
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];
NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
但附件数组始终为空。我错过了什么?获取已连接蓝牙耳机列表的正确方法是什么?
假设我可以获得蓝牙耳机列表,有没有办法将音频输出重定向到某个蓝牙耳机?
根据下面的代码,无法选择将音频发送到哪个设备:
UInt32 allowBluetoothInput = 1;
AudiosessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput,
sizeof (allowBluetoothInput), &allowBluetoothInput);
感谢您的帮助,
麦尔达
PS:我也试过Apple's sample 应用外部附件框架,没有运气!
【问题讨论】:
外部附件框架仅适用于 30 针底座连接器。 @JustSid 根据 Apple 的文档,External Accessory Framework 支持通过蓝牙无线连接的外部设备:“External Accessory 框架支持通过 30 针与连接到基于 iOS 的设备的外部硬件进行通信坞站连接器或使用蓝牙无线连接。” 这个运气好吗?我正在尝试以最小的成功做同样的事情。只想通过应用帮助与蓝牙耳机配对。 【参考方案1】:你解决过这个问题吗?我是外部附件框架的新手,但据我所知,这个框架只支持符合 MFi 的设备:http://developer.apple.com/library/ios/#qa/qa1657/_index.html
【讨论】:
【参考方案2】:为了解决这个问题,我使用了AVFoundation.framework
中的AVAudioSeesion
,并使用这行代码检查了可用的输入:
NSArray *availInputs = [[AVAudioSession sharedInstance] availableInputs];
如果您还需要在新设备连接或断开连接时收到通知,您可以将观察者注册到AVAudioSessionRouteChangeNotification
(您必须打开 setup new AVAudioSession
)
请在此处查看我的完整答案: https://***.com/a/29367963/1787109
【讨论】:
以上是关于如何在 iPhone 上获取已配对的蓝牙耳机列表?的主要内容,如果未能解决你的问题,请参考以下文章