关于车机挂断蓝牙电话后使用方控调节音量,默认调节的音频流应为媒体流,实际却是电话流的问题

  • 问题描述
  • 问题分析
    • 一、排查maybeActiveStreamType
    • 二、排查mVolumeControlStream
  • 解决办法:

问题描述

在车机系统中,挂断蓝牙电话后使用方控调节音量,理论上默认调节的音频流应该为媒体流,但是在测试过程中实际调节的却显示为电话流,对此问题进行分析。
注:只是方控调节音量时会出现,通过屏幕滑动音量条调节状态正常。

问题分析

在方控调节的过程中调用的是adjustSuggetedStreamVolume方法,其中参数streamType有两种赋值,分别为maybeActiveStreamType和mVolumeControlStream,现对这两种赋值逐一排查。

一、排查maybeActiveStreamType

maybeActiveStreamType是由getActiveStreamType函数进行赋值,添加log,打印通话时调节音量和挂断后调节音量两种状态下的maybeActiveStreamType值;
注:0为通话,3为媒体
打印结果如下图:

maybeActiveStreamVolume的赋值情况

通话时maybeActiveStreamType为0,挂断之后maybeActiveStreamType为3,没问题,排除。

二、排查mVolumeControlStream

mVolumeControlStream是通过forceVolumeControlStream这个函数给他赋的值,经搜索,只有在SystemUI中的VolumeDialogControllerImpl.java中调用了该函数。

注:安卓系统有一套原生的强制机制也是问题所在,如下图:

即当mVolumeControlStream等于-1时,音量按键调节根据当前音频流调节,当mVolumeControlStream不等于-1时,必须调节mVolumeControlStream的音频流。这个bug的问题就在于当打通蓝牙电话后,首次按音量键调节,mVolumeControlStream的值会被SystemUI中的VolumeDialogControllerImpl.java调用forceVolumeControlStream函数给改成了0,所以之后每一次按键调节音量都被强制调节mVolumeControlStream的电话音频流。

解决办法:

屏蔽掉SystemUI中的VolumeDialogControllerImpl.java调用forceVolumeControlStream函数的代码,如下图:

解决办法稍微有一点粗暴,但是把问题解决了,至于安卓为什么要有这样一套强制机制,我也还没想明白,肯定在手机上会有作用,也欢迎了解的小伙伴和我交流哦!

关于车机挂断蓝牙电话后使用方控调节音量,默认调节的音频流应为媒体流,实际却是电话流的问题解决相关推荐

  1. 帝豪gs车机系统wince_GKUI 19后装车机体验:质感有余/功能不足

    针对老车主对于智能汽车的需求,吉利汽车旗下的亿咖通科技推出了自有品牌的后装智能车机,号称是原厂专车定制升级方案,实现原车线束对插,并借助GKUI 19系统实现更丰富的功能. 目前亿咖通在售的GKUI ...

  2. 聚观早报 | 神舟十四号飞行任务圆满成功;大众ID大面积车机故障

    今日要闻:神舟十四号载人飞行任务圆满成功:大众 ID 系列被曝大面积车机故障:比亚迪:刀片电池将会用于商用车:SpaceX推出新一代"星盾"服务:花椒直播将在12月12日上市 神舟 ...

  3. 关于车机互联方式的一点想法

    关于车机互联方式,现阶段有两种主要方式: 1.车机与手机互联后,手机的内容通过usb或wifi投射到车机端,车机端或直接显示,或做一定的修改再显示. 2.车机端几乎不与手机发生数据交互,而仅仅利用手机 ...

  4. 汽车电子(二)--- 车机娱乐系统介绍

    在过去的8年内,智能手机领域,尤其是Android/IOS等操作系统的发展, 智能手机已经发生了翻天覆地的变化, 从原来的键盘机变成了触摸屏,硬按键数量减少, 支持众多第三方App等. 当今, 智能车 ...

  5. 车联网(智能车机)测试行业解决方案

    智能车机系统行业解读 汽车智能车机核心系统由信息系统娱乐系统(IVI系统).导航系统.智能网联系统.安全系统四个子系统组成,为用户提供信息娱乐.导航定位.安全监测.数据交互.云服务等多样性服务的综合性 ...

  6. qnx的汽车全液晶仪表-基于qnx系统的汽车仪表-车机系统开发

    如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额0.1元起步,多少随意 声明:本文只用于个人学习交流,若不慎造成侵权,请及时联系我,立即予以改正 锋影 e-mail:174 ...

  7. 搭载高德地图车机版的天之眼智能后视镜开售 高德用户可享免单

    4月20日,车载导航厂家天之眼推出的YunOS智能后视镜正式上市,并在阿里汽车平台首发,刚刚发布不久的高德地图车机版成为系统标配.如果您正在考虑一款安装简便,功能强大的车联网智能产品,这款智能后视镜或 ...

  8. android 动画实现倒车,一种快速实现Android车机冷启动全景倒车的方法与流程

    本发明涉及一种快速实现Android车机冷启动全景倒车的方法,属于车辆设备技术领域. 背景技术: 目前市场上的车机在解决倒车辅助系统的冷启动时存在时间较长的弊端,主要原因是由于虚拟机的运行及加载方式导 ...

  9. 嘴哥有料系列-can教程3:车机娱乐系统在整车CAN网络的位置与作用

    原文章:https://mp.weixin.qq.com/s/Lwerwb1BGRe2I7gIwMdR3g 在过去的8年内,智能手机领域,尤其是Android/IOS等操作系统的发展, 智能手机已经发 ...

最新文章

  1. C++走向远洋——61(项目一、排序函数模板)
  2. FlasCC Windows下开发环境搭建
  3. Scrapy爬虫框架命令行操作
  4. 电子表单设计,表单打印,表单填写,数据发布,VC++,VB,源代码组件库
  5. 电脑中没有oracle服务器,用AnySQL在没有oracle客户端的服务器上发送邮件
  6. 【转】逆变与协变详解
  7. 在8080端口输出php的输出,端口8080上的PHP错误
  8. 蓝桥杯(java)阶乘计算,输入一个正整数n,输出n!的值。(高精度计算,用到数组)
  9. x64 结构体系下的内存寻址
  10. oracle坏块修复
  11. 卡巴斯基称新型黑客雇佣组织正在攻击欧洲律所
  12. [原创]如何高效的组织我们的测试团队
  13. input accept属性控制选择文件类型
  14. cookie和seseion的区别和联系点
  15. 一大批裁员降薪企业名单在路上,你中了吗?
  16. 100以内的的自然数对有多少?
  17. C语言枚举类 口袋中有红、黄、蓝、白、黑5种颜色的球若干个
  18. 大数据时代从繁乱冗杂中精准提取核心文本信息 × Python Tkinter 生成词云图
  19. https是什么_http与https的区别
  20. 施密特正交方法例题(用于学习)

热门文章

  1. lightoj 1018 - Brush (IV)
  2. 数字电子技术实验作业(8)
  3. 多态 (多态的用处,意义,应用)
  4. 白底黑字or黑底白字,眼睛更喜欢哪一个?
  5. 华南师范焦老师沙龙笔记——用技术变革科学研究
  6. 优采云自动采集器,轻松获取优质文章资源!
  7. 当我得知给我电话的是机器人,我惊呆了!
  8. 上界通配符和下界通配符
  9. html5模拟点击事件,css3模拟jq点击事件的实例代码
  10. Laya打oppo包调试时注意问题