Android 系统无声问题分析

记录以前解决的无声问题,以便总结解题思路


一,音乐播放中但耳机中无声

Platform:MTK,MT6755

Description:

[预置条件]:插入耳机,后台播放音乐,声音和振动中将触摸提示音开关打开

[测试步骤]:主菜单--设置--声音和振动--信息铃声--随机预览五六个铃--选择任一铃声设为信息铃声--下来状态栏进入音乐

[实际结果]:音乐正在播放但耳机中无声,拖动进度条仍无声,拔出耳机后播放音乐,再次插入耳机,即可恢复


Analysis:

1,mainlog/kernel log pcm流程开关正常;

2,抓取无声音和有声时的digital/analog寄存器,其中digitalregister对比如下,左边为无声右边为有声:


3,查看APdatasheet,对应寄存器所代表的意义;

4,AFE_I2S_CON10bit无声时为0,有声时为1,代表的意义是I2S2_EN;


5,查看代码,搜索到setI2SDacEnable在做AFE_I2S_CON10bitenable/disable,打开相关trace


6,添加trace,看到在恢复音乐播放前AFE_I2S_CON1是被disable的:


7,查看code此场景下setI2SDacEnable(false)的可能,结合mainlog,可以看到HPimpendance的播放在使用:


8,如此定位到mt_soc_pcm_hp_impedance.cmtk_soc_pcm_hp_impedance_close()中未加判断就直接setI2SDacEnable(false)



二,调节音量后设置的拨号盘钢琴、默认音效变为无声

Platform:MTK,MT6755

Description:

[预置条件]:拨号设置:开启拨号键盘触摸音效为默认、钢琴

[测试步骤]:拨号盘--输入字符、数字--观察--音量键--调节铃声、音乐、闹钟音量级--拨号盘输入字符、数字--观察

[实际结果]:调节音量级后的拨号盘音效变为无声

Analysis:

1, 查看log,音量调节时使用的是I2S0dl1DAI播放和拨号盘fastmixer使用DL2DAI播放,

观察log,发现拨号盘无声都是发生在音量播放结束后。


2, 查看codemtk_pcm_I2S0dl1_stop()/mtk_pcm_I2S0dl1_close()中是否有影响无声的操作;其中 mtk_pcm_I2S0dl1_close()中有在设置AFE_I2S_CON3SmartPA相关)


3,再查看dl2相关代码并未对AFE_I2S_CON3做些计数的保护,因此添加相关代码:




三,喇叭无声,耳机有声:

Platform:sdm450 +external codec+smartpa

Description:

[预置条件]:原先喇叭播放有声音

[测试步骤]:音乐播放中插入耳机,耳机有声音,拔出耳机,再点击播放音乐,喇叭无声。

[实际结果]:喇叭无声


Analysis:

1,抓取qxdm log,0x1586 有声音

2,使用tinymix 给smartpa 的输入打tone音,喇叭无声,定位到smartpa的问题;

3,


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值