swift 给定CBUID时,核心蓝牙外围设备扫描未产生任何结果

rnmwe5a2  于 2023-01-08  发布在  Swift
关注(0)|答案(1)|浏览(163)

我有一个扬声器,根据the manual支持以下配置文件:高级音频传输模式、音频视频远程控制模式、HSP和HFP。
我使用Bluetooth's Assigned Numbers Document创建CBUUID。

let a2dpSinkUUID = CBUUID(string: "0x110B")
    let a2dpSourceUUID = CBUUID(string: "0x110A")

如果我将sinkUUID传递到scanForPeripherals(withServices: [a2dpSinkUUID])中,无论我的设备是在Mac还是iPhone上运行,都找不到它,即使它使用iOS内置的蓝牙功能连接到它们也很好。设备是开机的,可以被发现的,当我不传递任何服务时,我可以看到外围设备。我做错了什么吗?

ajsxfq5m

ajsxfq5m1#

这些都是“经典”或BR/EDR配置文件。核心蓝牙无法与它们通信。除了极少数例外情况,它只能与BLE(低功耗蓝牙)服务一起使用。iOS应用无法与任何这些配置文件直接交互。您只能通过AVAudioSession和MediaPlayer框架间接访问它们。I don't think anything on the iPhone supports HSP, including at the OS level.

相关问题