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插件的支持 ...
随机推荐
- Django Rest Framework(版本、解析器、序列化、数据验证)
一.版本 程序也来越大时,可能通过版本不同做不同的处理 没用rest_framework之前,我们可以通过以下这样的方式去获取. class UserView(APIView): def get(se ...
- BZOJ1007 水平相交直线
按照斜率排序,我们可以想象如果你能看到大于等于三条直线那么他一定会组成一个下凸包,这样我们只需要判断如果当前这条直线与栈顶第二直线相交点相比于栈顶第二直线与栈顶直线相交点靠左那么他就不满足凸包性质. ...
- 51nod2000 四边形分割平面 规律题
观察样例,$ans(1) = 1, ans(2) = 10$,再手推一组,$ans(3) = 26$ 可以发现规律$ans(n) = (2n - 1)^2 + 1$ 如果还是没看出规律,那么打个程序去 ...
- 【tarjan】BZOJ2140-稳定婚姻
又名NTR的故事 [题目大意] n对夫妻Bi和Gi.若某男Bi与某女Gj曾经交往过,他们有私奔的可能性.不妨设Bi和Gj旧情复燃,进而Bj会联系上了他的初恋情人Gk,以此递推.若在Bi和Gi离婚的前提 ...
- ssm整合总结(一)--第一步之使用maven搭建一个web项目
本文内容来自:山硅谷,本文内容整合了任务2,任务3,任务4内容.http://www.gulixueyuan.com/my/course/50 1说明 1.1该项目使用的知识点有 1.1.1校验方式是 ...
- Swift 自定义打印方法
Swift 自定义打印方法 代码如下 // MARK:- 自定义打印方法 func MLLog<T>(_ message : T, file : String = #file, funcN ...
- linux基础命令学习(三)文件搜索 find
1.使用name选项 查找自己的根目录$Home中的文件,可以用: find ~ -name "*.log" -print 查找当前目录下的文件,可以用: find . -nam ...
- MySQL之分页问题解决
最近遇到很多大分页的问题,服务器负载很高,SQL的执行时间也较长,非常的头痛.下面我们就说说分页问题的解决. 大家都知道对于mysql来说,select * from table where x=‘? ...
- Ubuntu 16.04安装Wine版的微信(deepin-wechat)
说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 3.有可能在今 ...
- IOS常用的第三方开发库
开发几个常用的开源类库及下载地址: 1.json json编码解码2.GTMBase64 base64编码解码3.TouchXML xml解析4.SFHFKeychainUtils 安全保存用户密码到 ...