最近在项目上debug音频POP音问题,属于手机音频关闭播放后的一小段时间产生的POP音。音频PA采用的是某知名厂商的模拟PA。无论数字PA还是模拟PA,虽然有所差别,但是debug思路是相似的,只是换汤不换药而已。

其实,在手机音频POP音问题,POP音的产生会分多种情形下。今日小白就来简单讲述一下,手机音频POP音常见的问题与debug思路。

耳机插入与拔出

关于耳机插拔产生的POP音问题,作为手机开发者来说,属于最常见的问题。究其原因还是因为耳机座MICBIAS处于打开状态而造成的。耳机座子的MICBIAS处于耳机座子的最外部的位置。所以,无论插入还是拔出,耳机的GND PIN都会碰到带电的耳机座上的Micbias,使得电流流入耳机,从而产生POP音。

耳机插入

在MTK平台,机器识别耳机的插入与拔出是通过int被拉低来判断的。

根据耳机结构的设计,INT位于座子最里面,当最里面的 INT PIN因为和L接触而被拉低时,机器就默认为耳机已经插入到位了。此方法为MTK判断耳机的插入的方式很简单。当INT被拉低后的指定时间内,机器根据ACCDET的分压情况来判断插入的耳机为三段式还是四段式。道理虽然都懂,但是不好的地方会存在一些bug点,因为在以前的项目中曾出现缓慢的插入三段式耳机机器错误的识别为四段式耳机,究其原因,后面有时间再详聊。

言归正传,其实关于耳机插入产生的POP音,主要存在于慢插拔过程中。耳机插入,INT通过L 声道被拉低,随后的260ms左右的时间,Micbias电压升上去。在Micbias带电的同时,因慢插拔,只要耳机头的GND因接触到带电的Micbias,都会导致电流传递到耳机声道处,最终都会产生POP音。

在一些项目里有通过修改INT拉低与Micbias上电之间的时间间隔即Micbias上电时间,来改善慢插拔出现的POP音问题。但终究无法根本性解决,只要你足够慢,就始终会复现这类问题。然而如果你快速插拔的话,此类问题将不存在。

图为快速插入耳机无POP音,关键信号的波形图。

图为MTK平台,快速插入耳机的关键信号波形变化。我们可以发现,在int拉低,260ms后MICBIAS才被拉高上电。由于快速,所以L声道不存在电压波动。

耳机拔出

关于耳机拔出时产生的POP音,其产生的道理和插入是一样的。

从波形图中,可以看到拔出瞬间左声道会有明显的尖峰电压,其最终在耳机输出端表现为POP音。同时MTK平台设计,在四段式耳机插入后即使手机不执行任何动作,MICBIAS都存在电压,也就意味着,几乎手机处于任何状态,拔出耳机都会存在POP音问题。

如果要想根本解决,改耳机座的结构其实是可以的,但是几乎没有公司这么做,同时这类问题在后期的客诉中也从未有过。所以在项目遇到这类问题时,大家都是默认为不是问题。

关于手机常见音频POP音产生的原因以及解决思路(一)——耳机插入与拔出相关推荐

  1. 音频POP音、咚啪音问题

    音频POP音.咚啪音问题: 音频POP音.咚啪音问题 | DD'Notes背景问题一般带音频的设备可能都会遇到POP音.咚啪音问题,特别是在工作的时候动态切换通道路径,或者开始工作或结束工作的时候.但 ...

  2. 音视频播放疑难杂症分析和解决思路

    问题背景: 音视频相较于其他业务开发,门槛比较高的一个原因开发过程遇到问题比较多,而且每个问题背后都需要一定的理论基础和丰富的调试经验的才能分析出来.有些音视频开发小白,遇到一些诸如视频卡顿.声画不同 ...

  3. ## 耳机插入电脑无声音,疑难解答显示“音频服务无响应”的一种解决思路:

    耳机插入电脑无声音,疑难解答显示"音频服务无响应"的一种解决思路: 除了百度搜出的各种办法,还可以尽量关注最本质的问题:声卡驱动问题, 驱动不是越新越好,如果自己不知道如何选择.建 ...

  4. 什么是内存泄漏,常见引起引起内存泄漏的原因,及解决办法

    一:什么是内存泄露 内存泄露是指:内存泄漏也称作"存储渗漏",用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元.直到程序结束.(其实说白了就是该内存 ...

  5. 电脑看不到android文件夹,电脑无法查看安卓手机外部存储(emulated)文件原因及解决方法...

    电脑无法查看安卓手机外部存储(emulated)文件原因及解决方法 eonegh • 2019 年 09 月 07 日 从安卓端传输图片,CSV,TXT等文件到电脑端时就会经常出现无法显示问题(这里是 ...

  6. Pr 处理音频后音画不同步的解决方法

    问题描述:在Pr中调用Au去处理视频的音频,只是进行一些简单的去噪和调制,处理完成后,在Pr的视频播放,出现音画不同步的问题.使用的录屏软件 PowerREC Pro 问题原因:估计是那些帧速率和采样 ...

  7. iOS 手机照片上传服务器方向不对的原因以及解决方法

    苹果手机上传图片到服务器,发现图片方向不对,实践发现: 1:原因:  相机拍照后直接取出来的UIimage(用UIImagePickerControllerOriginalImage取出),它本身的i ...

  8. 常见内存溢出原因及解决思路

    内存溢出(OOM)通常出现在某一块内存空间耗尽的时候,导致内存溢出的原因有很多,常见的有堆溢出.直接内存溢出.永久区溢出等. 堆溢出 堆是Java程序中最为重要的内存空间,由于大量的对象都直接分配在堆 ...

  9. 常见的电脑运行卡顿原因及解决方法

    大家在日常使用电脑过程中,会发现多开几个文件就卡顿,其实很多时候都跟C盘长期不清理有关,C盘的内存被下载的软件安装包.页面文件.休眠文件.更新文件等一系列的文件占据.大的文件甚至能占到20-30G,驱 ...

  10. 常见过拟合、欠拟合原因及解决办法

    引言 在机器学习中,我们将模型在训练集上的误差称之为训练误差,又称之为经验误差,在新的数据集(比如测试集)上的误差称之为泛化误差,泛化误差也可以说是模型在总体样本上的误差.对于一个好的模型应该是经验误 ...

最新文章

  1. css媒体查询移动优先和pc优先
  2. python故事书_python的故事
  3. 阿里云——ECS——Linux服务器购买流程——超级细致
  4. 逻辑地址、线性地址、物理地址和虚拟地址
  5. matlab R2017b 初始化缓慢的问题
  6. 2022年上海房地产研究报告
  7. Pandoc安装与使用总结
  8. 想去游戏公司做游戏,最重要的是什么素养?
  9. 基于ITK的读并写 2D的DICOM 图像
  10. 盘点SQL中最难的5件事
  11. 让我们一起打起FPGA工程师就业保卫战
  12. 微信小程序约课_基于微信小程序的瑜伽馆约课系统设计
  13. android 自动语音,在Android上自动下载离线语音识别语言
  14. 2012年数学建模国赛D题(机器人避障问题)优秀论文.doc
  15. 金山词霸2003导致我的程序堆栈溢出错误
  16. win8经典开始菜单计算机,win8开始菜单,教您Win8系统如何恢复经典开始菜单
  17. 工信部将对大型、超大型数据中心全面节能监察,核算PUE实测值
  18. 与物联网结合,ABB如何抢滩电力大数据?
  19. Leetcode792-匹配子序列的单词数
  20. 数据连接 3G ppp pppd

热门文章

  1. Java 程序员 金三银四面试必备:高速突击学习框架 + 性能优化
  2. 如何学计算机打字,电脑如何快速学会打字
  3. 深入理解Arduino下的ESP8266_Non-OS_SDK API① Non-OS SDK
  4. 错误代码0x800F081F怎么解决,安装NET Framework
  5. Android系统sdcard目录
  6. 怎么可以优化网站的打开速度?
  7. element-ui el-table 表格疯狂抖动
  8. 不可不看:管理定理一网打尽
  9. 迅捷pdf转换器——如何提取pdf中的图片
  10. 【折腾系列—All In One主机】3、 iKuai软路由安装前的设置