芯片型号:AB1565
功能模块:ANC和PassThrough
功能描述:ANC和PassThrough支持动态调整其增益,如ANC的消噪强度,或PassThourgh的透传比例。Airoha提供APP端接口调整这两类增益,显示调整范围为[-20~0]。本文介绍如何利用物理按钮实现调整。
第一步:定义物理按键动作
物理按键定义:例如“透传”即络达的PassThrough。
在源SDK中未定义ANC/PassThrough增益调节事件码,需自定义,添加至头文件“apps_config_key_action_t”结构体末尾。
第二步:定义UI
UI中定义相关元素,如图所示。
第三步:处理增益加减事件
通过搜索“KEY_ANC”确定事件处理位置。添加增益处理代码,如下所示。
定义独立函数处理增益调整,分析日志确定调整函数和范围。最大最小值分析得出增益范围,日志示例显示调整值为-2000时,函数为audio_anc_set_runtime_volume(),参数为无符号整数0xFFFFF830。
了解APP调整增益使用的函数,并注意物理按钮操作与APP不同,需在获取当前增益后进行相对调整。
通过函数获取ANC配置及状态,动态调整增益。日志验证功能实现。
物理按键调整ANC增益示例,anctype为0,表示ANC工作在hybrid模式,fltid为1表示ANC Filter1。
PassThrough增益调节日志,type为4表示ANC工作在PassThrough模式,fltId为9表示滤波器为AUDIO_ANC_CONTROL_FILTER_ID_PASS_THRU_1。
至此,功能完整实现并验证成功。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。