本文档以SC826-CN-01(msm8953平台,Android 7.1)为例,说明如何调节通话音量大小。
问题现象客户板子通过耳机通道 HPH_L / HPH_R -》外部PA(功放) -》喇叭。
在设置界面调整音量大小,对系统的各种声音包括电话拨号键盘的声音大小都有效果。但是无法改变通话音量。 而系统默认的通话增益较大,通过外部PA放大后,震耳欲聋。
音频通道原理高通音频的文档很多,不一一列举,这里只需要知道一点,通话(Voice)音频和系统其它音频走的是完全不同的硬件通道。
高通把音频分为三类:
Audio Recording
Audio Playback
Voice
我们现在要解决的问题,就是调小Voice增益。
QACT这里要提到一个高大上的音频调试工具:QACT, 注意不要和QCAT搞混了。
安装之后,运行,界面如下:
点击 “OK”,保存即可。
两种测试方法
源代码修改替换掉vendor/qcom/proprietary/mm-audio/audcal/family-b/acdbdata/8953/MTP 下的文件,全部编译,烧录。
2. adb测试
把acdb文件放在 d:\3 目录下。
adb root
adb remount
adb push d:\3 /etc/acdbdata/MTP/
重启系统。
可以听到通话音量已经明显变小。
实时在线调试另外也可以通过usb接口,实时在线调试音频数据。
在QACT开始界面,选择 "Connect To Device",实测user版本也能连接上。
连接时可能会提示缺少"*.qwsp",把源代码路径下的 "workspaceFile.qwsp"放在硬盘,哪个路径都行,选择它即可。
然后照下图,点选 "DSP Calibration",进入实时在线调试模式。
然后进行通话,没事猛点 "Refresh" 按钮,就能看到音频通道实时的变化,这样我们能确定所使用的Voice通道就是 "Voice: HANDSET_MIC & HEADSET_SPKR_STEREO"
修改方法同离线修改一样。
参考文档太多,不写了。
石墨文档链接https://shimo.im/docs/hdJRWhjt9DKYyPhP/