This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2564C:A2DP 音频卡滞、原因不明

Guru**** 2837210 points

Other Parts Discussed in Thread: CC2564C

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/906834/cc2564c-the-a2dp-audio-was-stuck-with-some-unknown-reason

器件型号:CC2564C

你(们)好  

 我遇到这样的情况、即 A2DP 音乐卡住了一些未知原因。

 您能找到一些解决此类问题的方法吗?

 从 HCI 日志中删除帧16134后、音频将被卡住、无法恢复。

 谢谢!

e2e.ti.com/.../log.7z

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jonathan、

    查看 HCI 日志、我看到已请求断开连接并已完成。 这是故意的吗? 这可能是音频停止的原因。

    BR、

    Vince

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    文森特

    但是断开连接请求是在 HCI 日志的末尾发送的?

    因此、我们可能需要在断开连接请求之前弄清为什么音乐卡住。

    谢谢  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    文森特

    在帧16134之后、您可以发现音乐 是间歇性的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jonathan、

    从日志中可以看到、三星公司在16134年之后更频繁地改变了赛道位置。 您能否禁用此项并查看问题是否已解决?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉、我无法理解如何禁用它。

    请告诉我如何禁用它? 在本地设备端或三星端禁用它?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它看起来在三星方面。 如果您使用另一个 pone、问题是否仍然出现?

    BR、

    Vince

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此问题可通过华为、oppo 和小欧美手机重现。

    如果在播放 A2DP 音乐时开始使用座椅调节装置、似乎很容易重现此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在移动设备上搜索?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在此 TI cc2564c 芯片上搜索本地器件、即.e。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jon、

    因此、只有从外围设备扫描时才会出现此问题? 此扫描的原因是什么?

    BR、

    Vince

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

      不执行 BLE 扫描。

     在 A2DP 播放时执行 HCI_Inquiry。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    应用中是否需要这种解决方案? 我们可以在流式传输时禁用它吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们的用例是同时连接两部手机。

    是否可以在 A2DP 播放时使用 HCI_Period_Inquiry_Inquiry_Mode?

    此 HCI 命令似乎不会影响 A2DP 流。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这应该起作用、但请对其进行测试和验证。 使用 A2DP 时、延迟非常重要、任何额外的扫描/查询都可能影响流。

    BR、

    Vince  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jonathan、

    另一个要尝试的操作是将 ACL 流设置为保证,并具有高于扫描的优先级。 下面是一个代码片段、它在我们的堆栈中工作以实现这一目的-  

    /*定义更改蓝牙 ACL 优先级的参数 */*
    音频质量更好。 HCI Flow Spec 命令和 DDIP 命令 */
    #define HIGH_AUDIO_CONNECT_PRIORITY (1)
    #define normal_audio_connection_priority (0)
    
    #define flow_spec_FLAGS (0)
    #define FLOAD_SPEC_FLOAD_DIRECTION (0x01)
    #define FLOAD_SPEC_SERVICE_TYPE_保证(0x02)
    #define FLOAD_SPEC_SERVICE_TYPE_BESTEFFORT (0x02)
    #define FLOAD_SPEC_TOKEN_RATE (25000)
    #define FLOAD_SPEC_TOKEN_COUSE_SIZE (333)
    #define FLOW_SPEC PEAK 带宽 (25000)
    #define FLOAD_SPEC_ACCESS_DERATLOW (13000)
    
    #define BEST _MUST_HIGH_PRIORITY (50)
    #define best _c얬 솦_normal_priority (20)
    #define Ganted_high_priority (90)
    #define Ganted_normal_priority (70)
    
    静态空 Change_connection_priority (int high_normal、Word_t ConnHandle)
    {
    /* HCI 流量规格参数:1 Flags=0x00,1表示 */
    //传入=0x01,1保证=0x02,4令牌速率=25000,4令牌 //
    //*批量大小=333,4峰值带宽=25000,4访问延迟=13000。 //
    /* 0x00、0x01、0x02、25000、333、 25000、13000 //
    Byte_t Flags = flow_spec_FLAGS;
    Byte_t Flow_Direction = flow_spec_flow_Direction;
    Byte_t Service_Type = flow_spec_service_type_guaranted_;
    
    //其余为 A2DP 的默认值。 //
    Byte_t Token_Rate = flow_spec token_rate;
    dWORD_t Token_Bucket_size = flow_spec token_bucke_size;
    dWORD_t Peak = flow_spec 峰值带宽;
    dWORD_t Access_Latency = flow_spec 访问_延迟;dWORD_StStatusResult
    ;
    
    /*对于 A2DP 流式传输-将 ACL 设置为保证90%至*/
    /* ACL over scans priority Send Flow spec 命令 *
    /*将 ACL 连接设置为保证 *
    HCI_Flow_Specification (BluetoothStackID、ConnHandle、Flags、Flow_Direction、Service_Type、
    TOKEN_RATE、TOKEN_Bucke_size、Peak 带宽、Access_Latency、StatusResult);
    
    /*发送供应商 DDIP 命令以更改 ACL 优先级而非扫描*/
    /*至90%。 *
    Vs_Send_DDIP (BluetoothStackID、BEST _MUST_HIGH_PRIORITY、BLEASE_HIGH_PRIORITY);
    } 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    感谢您的回复!

    从 VS 命令指南网站 https://processors.wiki.ti.com/index.php/CC256x_VS_HCI_Commands中、我找不到这样的 VS 命令(i.e、DDIP 与 commnd)。

    这可能是未发布 VS 命令吗?

    您能给我详细介绍 VS 命令指南文档吗、然后我可以在我们的项目中使用此命令。

    谢谢!

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jonathan、

    如果您使用的是 Bluetopia 栈、可以在 btvs.h 文件中找到它。 如果您没有使用我们的堆栈,我建议您只执行 HCI_Flow_CONFIGURATION ()函数,并在 VS_Send_DDIP()上暂停。

    BR、

    Vince  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢!

    此 vs HCI 命令可以解决该问题!

    很棒!