原因分析:

目前来说,常见的杂音问题可以分归两类:

1.硬件DAC设置上导致的杂音问题:

1.1 DAC DC没有校准 /DRE设置异常导致启播暂停的codec杂音

1.2 EQ参数 DRC 参数更新过于频繁导致的滤波器bank切换异常杂音

2.软件时序上丢帧错误导致的数字音频不连续.

2.1 通常的log体现字眼"af_thead:waring:" 表示DMA时间片运行时间超出预期,"underflow,pcm fifo empty wait"缓存数据不足.

解决对策:

1.硬件DAC设置:验证SDK 问题(播放静音信号或者空包提示音),联合原厂调配

2.软件时序上丢帧错误 :

2.1:提高audioflinger优先级,修改DMA时间片(主要是通过修改cache长度 延迟允许)

2.2 保证PCM数据连续性 和完整性,修复丢帧问题(线程转发 ,内存共享修改, M55解码完成度对齐)

2.3 dump元数据分析,适当的mute前几帧或者加入fadein/out效果

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐