python 补获按键_qpython可以捕获耳机按键吗?

耳机插拔/线控按键识别流程

1.文档概述

本文以msm8909平台,android N为例,介绍了通用情况下,耳机插拔的流程步骤,以及对耳机类型的识别逻辑。以方便在项目工作中经常会遇到耳机不被识别,或者识别后不能正常工作等情况,都可以参考此文档检测判断逻辑,确定问题根本,理解底层框架。

2.耳机的类型

从主观来看,耳机分三段耳机和四段耳机,而四段耳机又分为欧标和美标两种。通常,四段耳机被写作headset,而三段耳机写作headphones。具体的区别如下图:

l 三段耳机:线序分别为,L、R、G,没有MIC端,所以三段耳机无法使用mic,只能接受声音,另外,三段耳机L,R线序长度正常,G端比较长

l 四段-美标(CTIA)耳机:线序分别为L,R,G,M,第三阶为GND

l 四段-欧标(OMTP)耳机:线序分别为L,R,M,G,第四段为GND

由于CTIA和OMTP在MIC和GND是相反的,所以会出现有些耳机插入手机上声音很小,按住HOOK将恢复正常,说明耳机和手机不匹配造成。

如想兼容两种不同类型的耳机:

有以下方式可以选择:

1. 增加硬件兼容支持两种耳机

2. 使用转接线

在软件上,除了上述情况以外,还有一些外设设备会链接到耳机接孔,比如:自拍杆,外接音箱,TTY设备或者AUX延长线等,在软件上,对这些额外的设备进行了一个分类,如下枚举:

65enum wcd_mbhc_plug_type {

66 MBHC_PLUG_TYPE_INVALID= -1, ——无效设备

67 MBHC_PLUG_TYPE_NONE, ——未接入设备

68 MBHC_PLUG_TYPE_HEADSET, ——四段耳机

69 MBHC_PLUG_TYPE_HEADPHONE, ——三段耳机

70 MBHC_PLUG_TYPE_HIGH_HPH, ——高阻抗耳机

71 MBHC_PLUG_TYPE_GND_MIC_SWAP, ——欧美标标志位

72};

可以在log中检索如下样例,确认目前MBHC耳机状态类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值