0

我正在使用 Bluedroid 堆栈来开发我的蓝牙应用程序。

我正在使用 A2DP src 配置文件在 Mobile 和我的设备之间建立连接。

我在以下情况下遇到问题:

当我从 A2DP SINK 配置文件切换到 A2DP 源配置文件时,来自移动站点的第一个连接请求总是失败。在第一次连接请求之后,它总是成功的。

我发现失败的原因是:

AV 连接状态正在从 BTAV_CONNECTION_STATE_CONNECTING ... ... BTAV_CONNECTION_STATE_DISCONNECTED 更改

我检查了 Bluedrod Stack 中的流程,发现流式打开失败,因此我的应用程序收到了 BTAV_CONNECTION_STATE_DISCONNECTED 事件。

任何帮助,将不胜感激。欲了解更多信息,请发表评论。

bluedroid 堆栈中的失败状态为 BTA_AV_FAIL_STREAM

4

1 回答 1

0

我得到了这个问题的答案/解决方案。

高通工程师提供了一个补丁来解决这个问题。

每当在 A2DP 同步到 A2DP src 配置文件之间切换时,由于第一个连接请求被拒绝,SDP 记录设置不正确。当第一次发生拒绝时,它会正确设置 SDP 记录中 A2DP SRC 的值,并且由于进一步的连接请求被接受。

于 2017-08-11T03:35:39.277 回答