百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

高通平台调整通话音量

liuian 2025-02-13 13:06 35 浏览

文档说明

本文档以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文件之后,界面如下:

这里我们选择 "Voice" 通道

再选择 "HANDSET_MIC & HEADSET_SPKR_STEREO",为啥选这个后面会讲。

通道选好后,显示的数据如下:

上图RX_VOICE_SPKR_GAIN = 8.0 dB,RX_VOICE_DEC_GAIN = -3.0 dB

先往小的改,幅度大点,改成 RX_VOICE_SPKR_GAIN = -20.0 dB,RX_VOICE_DEC_GAIN = -20.0 dB。

然后双击 RX_VOICE_SPKR_GAIN 的图框,出现如下界面:

点击 “Batch Copy”,按下图进行选择:

然后双击 RX_VOICE_DEC_GAIN 图框,进行同样的操作。

修改完之后,点击"Save As":

点击 “OK”,保存即可。

两种测试方法

  1. 源代码修改

替换掉
vendor/qcom/proprietary/mm-audio/audcal/family-b/acdbdata/8953/MTP 下的文件,全部编译,烧录。

  1. 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"

修改方法同离线修改一样。

参考文档

太多,不写了。


相关推荐

10种常见的MySQL错误,你可中招?

【51CTO.com快译】如果未能对MySQL8进行恰当的配置,您非但可能遇到无法顺利访问、或调用MySQL的窘境,而且还可能给真实的应用生产环境带来巨大的影响。本文列举了十种MySQL...

MySQL主从如何保证数据一致性

MySQL主从(主备)搭建请点击基于Spring的数据库读写分离。MySQL主备基本原理假设主备切换前,我们的主库是节点A,节点B是节点A的备库,客户端的读写都是直接访问节点A,节点B只是将A的更新同...

MySQL低版本升级操作流程

(关注“数据库架构师”公众号,提升数据库技能,助力职业发展)0-升级背景MySQL5.5发布于2010年,至今已有十年历史,官方已经停止更新。2008年发布的MySQL5.1版本,在2018年...

MySQL数据库知识

MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

mysql8.0新功能介绍

MySQL8.0新特性集锦一、默认字符集由latin1变为utf8mb4在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默...

全网最详细解决Windows下Mysql数据库安装后忘记初始root 密码方法

一、准备重置root的初始化密码Win+R键启动命令输入窗口;输入cmd打开命令执行窗口;##界面如下##输入命令:netstopmysqld#此操作会停止当前运行的...

互联网大厂面试:MySQL使用grant授权后必须flush privilege吗

从我上大学时,数据库概论老师就告诉我,MySQL使用grant对用户授权之后,一定记得要用flushprivilege命令刷新缓存,这样才能使赋权命令生效。毕业工作以后,在很多的技术文档上,仍然可以...

# mysql 8.0 版本无法使用 sqlyog 等图形界面 登录 的解决方法

30万以下的理想L6来了##mysql8.0版本无法使用sqlyog等图形界面登录的解决方法当我们在cmd下登录mysql时正常时,用sqlyog等图形界面连接数据库时却...

MySQL触发器介绍

前言:在学习MySQL的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下MySQL触发器相关知识。1.触发器简介触发器即trigg...

管理员常用的MySQL命令汇总(一)

以下是管理员常用的MySQL命令:以管理员身份连接到MySQL:mysql-uroot-p创建新的MySQL用户:CREATEUSER'username'@'...

Linux(CentOS) 在线安装MySQL8.0和其他版本,修改root密码

一:安装MySQL数据库1),下载并安装MySQL官方的YumRepositorymysql官方仓库地址:https://dev.mysql.com/downloads/repo/yum/选择自...

解决 MySQL 8.0 一直拒绝 root 登录问题

Accessdeniedforuser'root'@'localhost'(usingpassword:YES)这个错误在网上搜一下,能看到非常多的此类...

大模型MCP之MYSQL安装

前言学习大模型的时候需要一个mysql,原因还是在公司使用电脑的时候不允许按照Docker-Desktop,我的宿主机其实是MAC,我习惯上还是在centsos上面安装,就发现这件过去很简单的事情居然...

MySQL ERROR 1396

ERROR1396(HY000):OperationCREATEUSERfailedfor'usera'@'%'问题描述mysql>create...