Nubia Z5S官方4.4 UI2.0音频Audio部分简单分析(也适用于其它8974/8064机型)以及降低破音出现几率的方法
转载请注明出处和网址链接:
http://blog.csdn.net/syhost/article/details/31419749
此篇本是在Z5S的官方4.4内測版出来时写的, 主要是看到其在audio的配置文件中没有es325的相关配置, 因此断定不支持z5sn的一些audio特性,本想喷一下, 结果第二天官方自己写了..
本人先前在安智论坛也发过一篇通过改动snd_soc_msm的audio配置文件来调整一些音量的方法, 但本人4月之后编译的Z5S的Android4.4的ROM已经採用了新的audio架构,这点跟Nubia Z5S官方4.4的是一样的, 因此先前的文章提到的方法已经不适用于Z5S的官方4.4以及本人4月之后公布的Android4.4 ROM.
从曾经我公布的Z5S的Android4.4的ROM的反馈情况来看, 应该能够推断Z5S的扬声器或者audio相关的器件的质量批次一致性太差, 同一个配置文件 在不同人的手机上出来不同的效果, 有的人反馈声音小了, 有的人还反馈已经破音! 预计扬声器质量问题的可能性比較大, 由于即使audio部分採用的电容电阻是5%或者10%精度的(手机上的器件没有这么差精度的吧!)也不可能区别大到这样的程度!
接下来看看Android4.4里高通的音频配置文件, 这个文件是 system/etc/mixer_paths.xml, 这个跟之前4.2里的audio配置文件system/etc/snd_soc_msm/snd_soc_msm_xxxx
看似区别非常大, 实际含义以及功能是一样的,无非是把曾经的文本格式转成了xml格式的,(这种改变实际上让这配置文件看起来更清晰了) 都是通过对应字段来配置audio的參数来架起HAL层和内核的桥梁, 也能够通过对应字段的參数来设置内核中audio的參数比方音量打开通道啥的!
从曾经移植Z5S的4.4内核的经验以及官方4.4的audio配置文件来推断此次Nubia Z5S的官方4.4 公測版H202的audio部分内核中应该没有加入不论什么Nubia的特性(当然耳机检測肯定加了), 只是这里指的Nubia的特性无非是Z5Sn的es325音频调理芯片而已, 对于z5s来说倒是没啥影响. 曾经官方4.2的audio配置文件snd_soc_msm_Taiko中能够找到es325的相关配置. 我之前移植的z5s的4.4内核后来也移除了es325相关的代码!
可是就算z5s上没有es325芯片, 就连双MIC中的后相机mic(dmic3) 从官方音频配置文件里也没看到对应的配置, 这里我就不确定了是不是z5s上本来就没有双mic.
再来对照下官方的音频配置文件跟我改动的版本号的差异, 来分析下假设调整一些音量,调大音量或者防止破音.
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3lob3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
从上面几处对照发现官方的配置跟我改动的基本的区别在蓝牙 incall music 和 listen-voice-wakeup 几个方面 其它的差异基本就是音量相关的了. 这里的listen-voice-wakeup 曾经还没在别的机型看到过,难道是声纹解锁之类的?
这里就是上面所说的官方4.4里没有后MIC的配置部分, 右边是我改动的dmic3的配置部分, 只是后面的字段里我也没调用这个mic, 由于经測试发现会影响通话质量造成回声啥的, 这样用录音软件录音时也不能打开双MIC了.
这是主mic的參数配置, 我的配置跟官方的一样, 或者说都是高通caf默认的參数!
我之前改动音频配置文件调整音量的原则是在尽量大声的条件下不破音, 和官方的音量配置对照下看看:
speaker这个字段就是设置主扬声器(对z5s来说就是后扬声器)的參数的, 右边我的配置文件中音量设置的是85, 假设刷官方4.4 UI2.0出现破音的同学能够尝试把左边官方的配置文件音量这个88改成85或者80等更小的数字试试!
handset 这个字段是配置听筒參数的, 右边我的配置里加了个设置RX1通道音量的參数, 只是好像确实也没起作用, 因此右边官方的就没有, 也能够自己尝试在官方4.4里加上这个看能不能调整听筒音量, 注意 这里的听筒不是在通话时起作用的, 通话时的听筒设置在另外一个字段里,以下有介绍!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3lob3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
handset-mic 这个字段 是设置主话筒的參数的, 右边我加了一个设置话筒音量的參数, 只是不确定是否起作用了!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3lob3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
headphones这个字段是设置耳机的音频參数的,能够调打开通道,每一个通道的音量之类的, 右边我的配置參数里加了调整音量的部分, 实測是能够起到调整耳机音量的效果的, 注意实际起音量调节作用的是 <ctl name="RX1 Digital Volume" value="65" /> <ctl name="RX2 Digital Volume" value="65" /> 这两句
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3lob3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
voice-handset 这个字段 才是真正的用来设定通话时听筒參数的, 左边官方的配置跟上面handset没差别, 右边我的配置里加入了调整音量 <ctl name="RX1 Digital Volume" value="99" />这句 和 添加滤波调整通话质量<path name="sidetone-handset" />这句,详细的滤波參数在sidetone-handset字段里设置.
voice-speaker字段是用来设置通话时外放的參数的, 右边我的配置里加了设置音量的部分.
voice-headphones 顾名思义, 就是设置插耳机时通话耳机的參数了, 右边我加了滤波相关!
voice-headset-mic 这是是设置插耳机时通话mic的參数, 注意跟上面主mic不同的是 这里的耳机mic是 模拟mic 而不是上面的dmic(数字mic), 所以有了adc调节音量的參数!
<ctl name="ADC2 Volume" value="64" /> 注意这里 右边我的音量设置跟官方的音量设置区别大是由于我加了数字音量调整<ctl name="DEC5 Volume" value="70" />, 实际二者应该出来的效果是差点儿相同的!
要注意 headset 跟 handset 是两个不同的概念, 后者是听筒, 前者是耳机,
另外headphones也是耳机只是跟headset区别在mic上!
最后要特别强调一点, 依据上面的介绍来改动音频參数时, 上面各个字段里引號中的字符要一模一样, 包含空格都不能有不同!
Nubia Z5S官方4.4 UI2.0音频Audio部分简单分析(也适用于其它8974/8064机型)以及降低破音出现几率的方法的更多相关文章
- [Android4.4.3] Nubia Z5S Mokee4.4.3 RC2.0 by syhost
这个ROM先前在Mokee官网公布过,但一些人測试bug不少,因此已经撤下, 但又有人反馈跟之前RC1.0版的bug差点儿相同, 所以再次在网盘单独公布, 截图以及注意事项见之前的RC1.0的帖子, ...
- Nubia Z5S 官方4.4 201内測版 内核版本号信息
从egl推断内核的的版本号: OpenGL ES Shader Compiler Version: E031.24.00.14 Build Date: 04/29/14 Tue Local Branc ...
- Nubia Z5S 基于官方H207/4.4内核的Mokee4.4.4 RC3.2 (2014.7.31修复呼吸灯(能亮依旧不能呼吸))
特别感谢 yun3195 和 轻描淡写Yhw 帮忙測试 转帖请务必注明本链接地址: http://blog.csdn.net/syhost/article/details/36444259 此ROM ...
- Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)
Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要 ...
- velocity.ui2.0所有的内置动画名称
velocity升级到2.0后api发生了变化,按照原来的名称已经不能调用原来的动画效果,新的名称如下:velocity.ui2.0所有的内置动画名称 bounce flash headShake j ...
- JavaScript多个音频audio标签,点击其中一个播放时,其他的停止播放
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android 4.4 Kitkat 音频实现及简要分析
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jingxia2008/article/details/26701899 在 Android 4.4 ...
- JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
前言: 今天接到一个需求,需要获取某个.mp3音频文件的时间长度和指定音频audio在某个时间点进行播放(比如说这个视频有4分钟,我要让它默认从第2秒的时候开始播放),这里当然想到了H5中的audio ...
- 从0开始写一个简单的vite hmr 插件
从0开始写一个简单的vite hmr 插件 0. 写在前面 在构建前端项目的时候,除开基本的资源格式(图片,json)以外,还常常会需要导入一些其他格式的资源,这些资源如果没有第三方vite插件的支持 ...
随机推荐
- Python并发编程-事件,红绿灯控制
事件用来控制多个进程同时执行或者阻塞 set和clear 分别用来修改一个事件的状态,True或者False is_set 用来查看一个事件的状态 wait 是依据事件的状态来决定自己是否在wait处 ...
- css加载方式link和@import的区别!
本质上,这两种方式都是为了加载CSS文件,但还是存在着细微的差别. 1. 老祖宗的差别.link属于XHTML标签,而@import完全是CSS提供的一种方式. link标签除了可以加载CSS外,还可 ...
- 创建基于主-从视图的应用程序(Master-Detail Application)
以Master-Detail Application创建的应用程序在iPad和iPhone上都能运行,虽然模板解决了大部分问题,但还是有一些Apple遗留问题需要解决.使用该模板创建项目时,需要将下拉 ...
- ironic简介
转:https://doodu.gitbooks.io/openstack-ironic 简介 Bare Metal Servcie 裸机服务 -- 'bear betal' ironic简介 如今O ...
- HDU 3790最短路径问题 [最短路最小花费]
题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=3790] 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
- 【2-SAT】【DFS】【分类讨论】Gym - 101617K - Unsatisfying
题意:给你一张2-SAT,问你加至少几句a V b(不能用非运算)这样的语句,使得其无法全为真. 如果最开始没有左右两项都含非运算的析取表达式,则无解,因为显然你可以对每一项的不含非的那项规定为真,使 ...
- poj 1988 并查集(终于看懂一个了/(ㄒoㄒ)/~~)
题意:有几个stack,初始里面有一个cube.支持两种操作:1.move x y: 将x所在的stack移动到y所在stack的顶部.2.count x:数在x所在stack中,在x之下的cube的 ...
- UESTC 2015dp专题 F 邱老师看电影 概率dp
邱老师看电影 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- ROS知识(4)----初级教程之常见问题汇总
一.开机启动ROS的工作空间的路径设置失败 现象:在教程:http://wiki.ros.org/cn/ROS/Tutorials/CreatingPackage中的第5.1小节,运行以下命令失败: ...
- Spring在bean配置文件中定义电子邮件模板
在上一篇Spring电子邮件教程,硬编码的所有电子邮件属性和消息的方法体中的内容,这是不实际的,应予以避免.应该考虑在Spring bean 配置文件中定义电子邮件模板. 1.Spring的邮件发件人 ...