音频的差分与单端输出差别

最近支持一个高通某平台音频问题。听筒接打电话都很正常,但是耳机没有声音,对方能听到。这说明耳机接收通道有问题,发送通道是好的。查看了他们软件代码,CODEC设置的是HEADSET,没有问题。用TRACE跟踪服务、方法设备都是正常的。就是耳机没有声音。没办法了,祭出驱动人员的法宝,查看硬件原理图。一看还真看出点道道:接耳机的两根线,只引出了R,L悬空。查看软件代码中单端输出的ADIE配置,发现默认配置的L输出。于是乎想当然的认为硬件必须改板。因为即使改成差分方式,也需要两个线都引出来。

        项目经理处于改板周期长,且效果不确定的考虑咬定说直接用差分方式就行了,并且在其他项目上用过。可是问他具体项目是什么,他又含糊不清。我只好咨询硬件同事。硬件同事回答我说,如果用差分最好是要接两根线。否则可能会有杂音,且声音小。据此我将改板必要性的意见发布给项目经理。项目经理急了,打电话劈头盖脸的说我处理慢,简单的问题拖了这么久。切,我又不是你项目组的,而且我这边有两个项目要负责。我哪有时间专职搞你的问题。不过考虑到毕竟咱也是研发老人了,不能这么没有职业素质,不跟他较真。

        于是走两条线:一条给高通提CASE,咨询单端输出时是否配置为R输出。可这个CASE咨询了3天都没有一个明确答复。最后打电话才得知,没有客户这么用过。他觉得理论上可行;晕,查看代码发现有好几个ADIE的寄存器都需要将LEFT改为RIGHT。这玩意风险可未知;另一条:直接用差分方式,先看看效果;可是只改了需要的位置后,发现没有作用。这下傻眼了。明明应该成功的却没有成功。不知道你是否有这种感觉。这个时候就感觉完全想不通了。项目经理问我计划的时候,只能给他一个保守的时间:还需要三个工作日。

        中午吃饭,科长兄弟,部长大哥拉上项目经理好好聊。最后要求我周末加班来搞。这也没什么问题。研发就这么多人,我不搞其他人搞可能需要更多时间。对我们整个部门不利(现在思想境界确实比以前高了)。下午专心调了调这个代码,用TRACE反复调试,终于发现设备好像被其他地方设错了。本来是差分耳机,结果又被改成了单端耳机。至少问题找到了,剩下就是找到问题如何解决了。先简单的用代码浏览法,将设置单端耳机的代码一搜。好家伙2、30处。不过被我们这边研发人员修改的代码只有4处。那好,反正现在不会用到单端耳机,不管三七二十一全部修改为差分方式。修改代码,编译,下载,测试OK。问题解决了。世界清静了!

你可能感兴趣的:(音频的差分与单端输出差别)