最近项目中解决了噪音问题和杂音问题后,用户向我们反馈(同时我们也发现)另外一个问题。
部分直播间左右耳麦音量大小不一样,也就是左右声道音量大小不一样。
找了几款反馈过来的手机,分别是荣耀3X、盖世3和联想A3000。
我猜想应该和降噪MIC有关。

下面以荣耀3X为测试机型对比小米2,分析一下录音的情况。
测试使用RecForge Pro和自己写的一个录音demo。
录音参数设置为:
采样率 32000
声道 Stereo
音频数据 16bits
pcm格式数据。

一、前半段面对前置MIC录音,后半段面对后置降噪MIC录音。
可以看到,面对前置MIC录音的时候,左声道是前置MIC正面采集的音频,所以振幅较大。
右声道是后置MIC采集的音频,相对左声道振幅较小。得到结果如下:

二、在通话设置里面,将降噪MIC关闭,结果还是一样。

三、用小米2,同样的方法测试通话MIC和降噪MIC。关闭和开启双MIC降噪,左右声道几乎都一样。

结论:荣耀3X采用了双MIC降噪,在嘈杂的环境通话,可以通过后置降噪MIC,录取噪声,反相抵消通话MIC的噪声,以达到通话质量较好的目的。
在单声道的情况下,确实在一定程度上改善了通话质量。
然而在普通录音中,设置双声道的情况下,使用前置MIC采集到左声道,后置MIC采集到右声道的做法,
在近距离录音的情况下,左右声道反差很大,让人听起来不舒服。
同样采用双MIC降噪的小米2,录制双声道的音频却没有这样的问题。估计是录音时关掉了后置MIC。

双MIC安卓手机录音问题的更多相关文章

  1. 部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法

    前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML < ...

  2. 安卓手机APP压力monkey测试

    一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行 ...

  3. PowerShell脚本自动设置安卓手机wifi代理

    在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试.最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改 ...

  4. HTML 判断手机的类型(苹果手机安卓手机)

    function isJudege_PlatForm() { var version = navigator.appVersion; var platName = navigator.userAgen ...

  5. 微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决

    微信小程序上传图片的时候,如果是多图片上传,一般都是直接用一个循环进行wx.uploadFile 这个在电脑上面测试与苹果手机上面都不会有什么问题 但当用安卓测试的时候,你会发现小程序会提示一个the ...

  6. Vysor:在电脑里控制你的安卓手机

    Vysor是一款可以使用电脑操作安卓手机的谷歌浏览器插件,在chrome中安装了Vysor插件以后,用户就可以使用电脑打开手机的屏幕,在手机的屏幕界面中,用户不仅可以观看,甚至可以使用电脑直接操作手机 ...

  7. 安卓手机已保存WiFi密码查看助手(开源)

    一.需求分析 最近电脑需要连接WiFi,却发现WiFi密码给忘记了.而手机里有保存过的WiFi密码,但是在手机的设置界面看不到. 虽然已经有一些可以查看WiFi密码的app,但是主要还是担心密码被那些 ...

  8. 安卓手机上运行 PC-E500 程序

    目录 第1章安卓手机上运行 PC-E500 程序    1 1 PockEmul    1 2 下载    1 3 打包BASIC程序    2 4 配置PC-E500模拟器    5 5 载入e50 ...

  9. 关于iphone、安卓手机VPN全面解析

    现在智能手机功能越来越强大,网络APP层出不穷,社交大佬facebook.twitter等纷纷推出了自己的社交APP应用,大部分手机已经内置了很多社交应用,包括facebook等:android.io ...

随机推荐

  1. JAVA面试题:String 堆内存和栈内存

    java把内存划分为两种:一种是栈(stack)内存,一种是堆(heap)内存 在函数中定义的一些基本类型的变量和对象的引用变量都在栈内存中分配,当在一段代码块定义一个变量时,java就在栈中为这个变 ...

  2. POJ 2318 TOYS && POJ 2398 Toy Storage(几何)

    2318 TOYS 2398 Toy Storage 题意 : 给你n块板的坐标,m个玩具的具体坐标,2318中板是有序的,而2398无序需要自己排序,2318要求输出的是每个区间内的玩具数,而231 ...

  3. spring的组成

    ① Spring Core:核心容器,BeanFactory提供了组件生命周期的管理,组件的创建,装配,销毁等功能 SpringContext:ApplicationContext,扩展核心容器,提供 ...

  4. Shipping Transactions > Error: The action can not be performed because the selected records could not be locked.

    Shipping Transactions > Action: Launch Pick Release (B: Go) Error: The action can not be performe ...

  5. sed awk 要获得每行的最后一个逗号后边的内容

    获得每行的最后一个逗号后边的内容.例如:KIAA1967 KIAA1967, xxxxSECIS biding proin 2-like, SECISBP2L, yyyy 1234ankyrin re ...

  6. 1003. Parity(并查集)

    1003 看篇国家论文 <从<parity>的解法谈程序优化> 对于区间i,j 如果用sum[i],sum[j]来表示到i的1的个数的奇偶性 那么仔细想下 sum[i-1] 若 ...

  7. 陈正冲老师对于c语言野指针的解释

    那到底什么是野指针呢?怎么去理解这个“野”呢?我们先看别的两个关于“野”的词: 野孩子:没人要,没人管的孩子:行为动作不守规矩,调皮捣蛋的孩子.野狗:没有主人的狗,没有链子锁着的狗,喜欢四处咬人. 对 ...

  8. 自适应的CSS代码片段(常用)

    /* Smartphones (portrait and landscape) ----------- */ @media only screen and (min-device-width : 32 ...

  9. delphi 数据导出到word

    procedure TFrmWeekAnalysisQry.BtnExportToExcelClick(Sender: TObject);var wordApp,WordDoc,WrdSelectio ...

  10. 自动化测试(四):VBScript脚本语言

    VBS基于对象,只能利用现成的对象,不能封装.继承等,意味着不是真正的面向对象 语言的学习: 1.数据定义,变量定义,表达式 2.程序控制结构 3.函数,方法,类 4.异常处理 VBScript的数据 ...