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.

再来对比下官方的音频配置文件跟我修改的版本的差异, 来分析下如果调整一些音量,调大音量或者防止破音.

从上面几处对比发现官方的配置跟我修改的主要的差别在蓝牙  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里加上这个看能不能调整听筒音量, 注意 这里的听筒不是在通话时起作用的, 通话时的听筒设置在另外一个字段里,下面有介绍!

handset-mic 这个字段 是设置主话筒的参数的, 右边我加了一个设置话筒音量的参数, 不过不确定是否起作用了!

headphones这个字段是设置耳机的音频参数的,可以调打开通道,每个通道的音量之类的, 右边我的配置参数里加了调整音量的部分, 实测是可以起到调整耳机音量的效果的, 注意实际起音量调节作用的是 <ctl name="RX1 Digital Volume" value="65" />   <ctl name="RX2 Digital Volume" value="65" /> 这两句

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机型)以及减少破音出现几率的方法

时间: 2024-07-30 08:00:14

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的帖子, 这里只强调两点, 一是要用4.4专用的recovery, 二是刷前要格式化system+双清(TWRP的话是在清除的高级选项里选前三项): http://blog.csdn.net/syhost/article/details/25010613 ROM下载地址: https://mega.co.nz/#

Nubia Z5S 官方4.4 201内测版 内核版本信息

从egl判断内核的的版本: OpenGL ES Shader Compiler Version: E031.24.00.14 Build Date: 04/29/14 Tue Local Branch: mybranch3162585 Remote Branch: quic/LNX.LA.3.5.2.2_rb1 Local Patches: NONE Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.2.2_RB1.04.04.02.087.006

Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)

Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要强调的是千万不要格式化不论什么分区,否则可能会变成真砖仅仅有返厂了) 关于这个模式能够參考我之前发的一篇文章: http://blog.csdn.net/syhost/article/details/20435957 上面文章中也提到, QHSUSB_BULK模式实际是在sbl分区中实现的, 只是纯

Nubia Z5S(高通MSM8974) QHSUSB_BULK模式救砖方法(以win7下恢复recovery分区为例)

Nubia Z5S在某种异常或者按组合按键的情况下会进入QHSUSB_BULK模式, 此种模式的现象是, 如果在windows(比如win7)下连上数据线, 则会在电脑出现n多分区挂载,甚至会提示要格式化某些分区(这里要强调的是千万不要格式化任何分区,否则可能会变成真砖只有返厂了) 关于这个模式可以参考我之前发的一篇文章: http://blog.csdn.net/syhost/article/details/20435957 上面文章中也提到, QHSUSB_BULK模式实际是在sbl分区中实

velocity.ui2.0所有的内置动画名称

velocity升级到2.0后api发生了变化,按照原来的名称已经不能调用原来的动画效果,新的名称如下:velocity.ui2.0所有的内置动画名称 bounce flash headShake jello pulse rubberBand shake swing tada wobble bounceIn bounceInDown bounceInLeft bounceInRight bounceInUp bounceOut bounceOutDown bounceOutLeft bounce

kafka 0.8.1 新producer 源码简单分析

1 背景 最近由于项目需要,需要使用kafka的producer.但是对于c++,kafka官方并没有很好的支持. 在kafka官网上可以找到0.8.x的客户端.可以使用的客户端有C版本客户端,此客户端虽然目前看来还较为活跃,但是代码问题还是较多的,而且对于c++的支持并不是很好. 还有c++版本,虽然该客户端是按照c++的思路设计,但是最近更新时间为2013年12月19日,已经很久没有更新了. 从官方了解到,kafka作者对于现有的producer和consumer的设计是不太满意的.他们打算

Android 4.4 Kitkat 音频实现及简要分析

在 Android 4.4 上实现录放音 背景 Android 自 ICS 开始,音频系统就有了很大的变化,先是抛弃了 alsalib,然后是采用了 AIO,各级框架上,都有了自己的特色,与 Linux 的音频应用渐行渐远,形成了自己独特的音频管理和音频配置功能.总的来说改进还是非常大,至少在用户体验上已经大大的超越了之前的版本.我们就从 4.4 的音频实现上来分析其中的一些变化和实现机制. 要求 首先是硬件功能正常,这个不表. Linux 支持 alsa 驱动,生成 alsa 子系统,最好是能

音频,视频简单运用

package com.zl.media; import java.io.File;import java.io.IOException;import java.util.Calendar;import java.util.Locale; import com.zl.listview.R; import android.app.Activity;import android.content.Intent;import android.media.MediaPlayer;import androi

mono 3.4.0 make install的时候出现&quot;找不到 Microsoft.Portable.Common.targets 文件”的错误提示解决方法

如果在这时就进行配置安装Mono的话,会在make阶段得到一个“找不到 Microsoft.Portable.Common.targets 文件”的错误提示, 所以需要先进行如下处理: #> cd (mono安装路径的前缀)/mono-3.4.0/mcs/tools/xbuild/targets #> cp Microsoft.Portable.CSharp_4.0.targets Microsoft.Portable.Common.targets #> vim Microsoft.Po