首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt disconnectFromService()没有完全断开蓝牙设备吗?

问Qt disconnectFromService()没有完全断开蓝牙设备吗?
EN

Stack Overflow用户
提问于 2020-12-07 06:22:27
回答 1查看 114关注 0票数 0

我正在使用Qt的QBluetoothSocket类将一副蓝牙耳机连接到我的windows pc,如下所示:

代码语言:javascript
复制
device->connectToService(QBluetoothAddress(device1Info[1]), QBluetoothUuid(QBluetoothUuid::SerialPort));

断开我使用的耳机:

代码语言:javascript
复制
if (device->state() == QBluetoothSocket::ConnectedState) {
    device->disconnectFromService();
}

它们连接得很好,但当我选择断开它们时,它们实际上并没有断开连接。disconnect信号被发出,这意味着插座确实断开了服务,但当我在Windows设置中检查我的设备时,耳机仍然注册为已连接并正常工作。这会不会是因为我在连接到serive时使用QBluetoothUuid::SerialPort作为QBluetoothUuid?还是别的什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-07 08:52:20

断开并不会断开设备的连接,而只是断开插座。这就像您关闭了一个网络插座-它不会断开您的PC与网络的连接:)

我不能重现成功的连接--除非你的耳机提供串口调试服务或者别的什么。

我的猜测是,你的整个程序什么都不做,因为耳机不提供串口,而且操作系统通常会立即将音频设备连接到耳机的音频服务,所以你无法连接到它。

我认为你想得太多了:你不需要在这里使用任何蓝牙API。您只需使用音频设备API找到耳机并通过它们执行音频I/O。不过,我不确定Qt会对你有所帮助。在Qt的多媒体API中查找枚举音频设备的方法。否则,您将需要使用OS API调用或某个音频访问库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65173696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档