本文档以SC826-CN-01(msm8953平台,Android 7.1)为例,说明如何调节通话音量大小。
问题现象
客户板子通过耳机通道 HPH_L / HPH_R -》外部PA(功放) -》喇叭。
在设置界面调整音量大小,对系统的各种声音包括电话拨号键盘的声音大小都有效果。但是无法改变通话音量。 而系统默认的通话增益较大,通过外部PA放大后,震耳欲聋。
音频通道原理
高通音频的文档很多,不一一列举,这里只需要知道一点,通话(Voice)音频和系统其它音频走的是完全不同的硬件通道。
高通把音频分为三类:
Audio Recording
Audio Playback
Voice
我们现在要解决的问题,就是调小Voice增益。
QACT
这里要提到一个高大上的音频调试工具:QACT, 注意不要和QCAT搞混了。
安装之后,运行,界面如下:
先"Open ACDB File On Disk",打开一个ACDB文件,ACDB文件是高通的音频数据。
系统路径:
/etc/acdbdata/MTP/
可以通过 adb pull etc/acdbdata/MTP d:/ 导出相应文件使用。
源代码路径如下:
vendor/qcom/proprietary/mm-audio/audcal/family-b/acdbdata/8953/MTP
系统路径下的文件和源代码路径下的文件一样,但可能系统路径下的文件缺少 “workspaceFile.qwsp” 文件,*.qwsp文件是工程文件,其他*.acdb文件是数据文件。缺少*.qwsp文件的话,就从对应的源代码路径拷贝一个,和其他*.acdb文件放在一个目录下。
离线修改音频数据
打开acdb文件之后,界面如下: