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插件的支持 ...
随机推荐
- 【记录】mybatis-generator如何使用(maven方式)
1.首先在pom.xml中添加插件 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId ...
- 虚拟环境中pip install requirments.txt: Cannot fetch index base URL https://pypi.python.org/simple/
Stackoverflow : http://stackoverflow.com/questions/15501133/python-pip-error-cannot-fetch-index-bas ...
- java8新特性——并行流与顺序流
在我们开发过程中,我们都知道想要提高程序效率,我们可以启用多线程去并行处理,而java8中对数据处理也提供了它得并行方法,今天就来简单学习一下java8中得并行流与顺序流. 并行流就是把一个内容分成多 ...
- BZOJ4556 HEOI2016 字符串
后缀数组. 复习了后缀数组后发现这题真的很好写. 我们只需要将c依次向前向后扩展,找落在[a,b]区间内的最大值,遍历过程中不断用height数组更新. 复杂度就是后缀数组,比主席树的快多了. By: ...
- [SDOI2014]数数 --- AC自动机 + 数位DP
[SDOI2014]数数 题目描述: 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串. 例如当S=(22,333,0233)时,233是幸运数,2333 ...
- codevs 3160 最长公共子串 后缀自动机
http://codevs.cn/problem/3160/ 后缀自动机板子题,匹配的时候要注意如果到一个点失配向前匹配到一个点时,此时的tmp(当前匹配值)为t[j].len+1而不是t[t[j]. ...
- java爬虫爬取资源,小白必须会的入门代码块
java作为目前最火的语言之一,他的实用性也在被无数的java语言爱好者逐渐的开发,目前比较流行的爬取资源,用java来做也更简单一些,下面是爬取网页上所有手机型号,参数等极为简便的数据 packag ...
- bzoj 1010 斜率优化DP
我的第二道斜率DP. 收获: 1.假设两个位置:p<q<i,然后让某一位置优,看其满足什么性质,所谓斜率优化就是满足: (g[q]-g[p])/(f[q]-f[p]) op h[i] 要 ...
- HTTP状态码,400,404,500,503
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 400 服务器不理解请求的语法 404 - 请求的网页不存在 503 - 服务不可用 所有状态 ...
- bzoj4753 最佳团体
题目描述 JSOI 信息学代表队一共有 NN 名候选人,这些候选人从 11 到 NN 编号.方便起见,JYY 的编号是 00 号.每个候选人都由一位编号比他小的候选人R_iRi 推荐.如果 R_i ...