jsjj 发表于 2025-3-21 23:25:02

优化高通蓝牙模拟输出pop声问题

本帖最后由 jsjj 于 2025-3-21 23:39 编辑

我们蓝牙,音频流在启动的时候,比如通话,A2DP 音乐等,会打开Audio Codec,
当音频流关闭后,为了节约功耗,等一段时间会关闭 Codec,就能听到"啪"的一声,这个默认的时间是30秒
这到底是怎么回事,在ADK 中是怎么提现的,如何修改到合适的时间。

1、ADK 配置

打开ADK 工程,在sink 中有#define DELAY_DISABLE_OPERATOR_FRAMEWORK_MS D_SEC(30)
在Earbud 中 有#define appKymeraDacDisconnectionDelayMs() 30000

搜索到htf 文件中CodecOutputDisableTimeout =28000000,这个单位是us 级别的, 是28s

只要确认CodecOutputDisableTimeout 配置小于代码中的DELAY_DISABLE_OPERATOR_FRAMEWORK_MS时间即可,
差距至少1ms,默认配置是满足要求打

2、修改成合适的值

以上是默认的情况,要修改的话,这个时间也不是无限制的
由于CodecOutputDisableTimeout 是us 级别的,32位有符号整型,符号要占一位,数量最大是有限制的,最大可以为 CodecOutputDisableTimeout = 2147000000

appKymeraDacDisconnectionDelayMs/DELAY_DISABLE_OPERATOR_FRAMEWORK_MS 需要大一点
#define appKymeraDacDisconnectionDelayMs() (2148000) 的话,大概可以达到35分钟

注意:以上两个地方都要修改到哦!

这样看来“啪”的一声,是必须有的,只是多久后出现的问题,需要多久,就要看客人的需求了!


【转载】:https://www.wpgdadatong.com.cn/blog/detail/45676

Сергей_Л 发表于 昨天 00:40

Filename"operators_framework.c"   #define DELAY_DISABLE_OPERATOR_FRAMEWORK_MS D_SEC(2000)
Filename"subsys3_config1.htf"         CodecOutputDisableTimeout = 2147000000
Codec_Off = 33-34min/
页: [1]
查看完整版本: 优化高通蓝牙模拟输出pop声问题