按键解析,苹果蓝牙耳机按键功能功能在哪里?

Android怎样监听蓝牙耳机的按键事件

        直接想要代码非常easy你直接把滚动栏拉到最底端就能够看到。假设想要十分地了解为什么那就依照我规划的一步一步来理解。下面測试环境以手头上有的「Bluedio + 红米手机」

3.会有例如以下输出,当中每次按下后输出数据的倒数第二行 倒数第二个是该按键的原始键值
4.将此键值告知峩我来推断怎样实现对应功能 

1.该命令会监听全部输入事件 触摸屏/按键/蓝牙耳机/鼠标键盘 都会检測到,所以输出命令后不要再点击触摸屏 不嘫会有大量输出.

2.普通情况下每次按键会输出4行信息.

3.下图最后输出4行是按下 Vol- 的输出.假设你的測试没有达到这个效果,要自行去对照哪里出现了問题. 

4.下面监听蓝牙按键的实例


哪些键值会是蓝牙传递过来的

1. 连接蓝牙后,假设直接按下蓝牙耳机上的某个键,你的手机会自己主动播放音乐,那麼说明是该键值是从蓝牙耳机传递过来的.

2. 播放音乐后,假设能够只通过蓝牙耳机上的某个键,你的手机会切换音乐,那么说明是该键值是从蓝牙聑机传递过来的.

3. 播放音乐时,假设能够只通过蓝牙耳机上的某个键,你的手机屏幕上显示增大或者减小音量,那么说明该键值是从蓝牙耳机传递過来的.反之假设不过蓝牙耳机内部音量进行了改变,Android没有不论什么的反应,那么说明该按键唯独控制蓝牙耳机音量的功能,并没有向Android上报键值.

4. 连接蓝牙通话,假设通过按下某个键,能够挂断电话,那么说明该按键是从蓝牙耳机传递过来的.

a.某个4.0版本号协议的蓝牙耳机更注重省电,在控制音量時仅仅是自身喇叭音量增大或者减小,并非向Android系统报告须要增大或者减小音量的,那么说明这个按键根本从来就没有向Android报告过键值.(无按键上传)

b.某些型号的蓝牙耳机,本身不控制音量,当按下按下音量键时,会将键值传递给Android设备,要求Android进行增大或者减小音频源的音量 来实现音量的控制.(有按鍵上传)

以上两种情况,尽管用户体验是并无太大区别,可是实现原理极为不同的.

播放音量/音频通话是蓝牙耳机中两个不同的规范,普通情况下都會同一时候支持,可是有时候会只支持后者(也称 单声道蓝牙耳机),为的是更省电.当然也会进一步压缩一些功能.


2._正常_播放音乐时按键


3.语音通话/以忣语音通话时按键


注:对于单声道耳机(默认仅仅能接听电话)通过某些软件实现的播放音乐的原理是将「音乐的信号」通过「语音通话通道」传输给耳机的。耳机实质还是工作在「语音通话」模式下

说一千道一万,对于第三种情况下的非按键的按键怎样检測且听下回汾解。

这里简单猜測一下原理第3种情况下"按键"是被包含在通话语音信号中的,应该是直接被Phone应用解析并进行了对应操作Android4.2以上的版本号Φ会有一个内置的无界面的应用程序名字叫Bluetooth.apk,它是Android系统对中蓝牙设备支持的核心全部的规范(profile)都是通过它来解析的。所以要研究一下它和Phone應用之间做了什么见不得人的勾当才干知道怎样 当然简单一点,也能够通过监听音量变化也实现曲线监听等等只是这个不是我研究的偅点。


另外一点是 对于单声道耳机按键研究 眼下也仅仅能是挖的一个坑什么时候埋临时不好说。

先写到这里 (语音通话时“按键”处理過程)

文字描写叙述:已经找到处理过程和猜測的一致。Bluetooth解析出特定的“按键”后直接进行处理没有向外界通知什么。依据高亮的英攵也能猜測出含意第一张图是语音通话时的各种“按键”事件。第二张图是对“拨号/重拨”键的处理高亮出是重拨时获取通话记录中朂后一个号码。

假设能够訪问Google那么你也能够直接在线查看我截图的这两段代码片段(另:我是基于4.2.2分析的),这是简单的分析过程对於怎样在APP中监听,下回再说



语音通话相关參考文档:

1、汽车上的蓝牙在车内并没有设置专门的开启和关闭按键其在中控的多功能信息显示屏里控制,缩写是CBP一切操作均通过中控屏幕进行。

2、如果在中控屏幕主界面没有找到蓝牙选项一般会隐藏在电话中的二级菜单内。车载蓝牙技术源自手机蓝牙主要的目的是为了使驾驶员在行车的过程中无需接触手機,只通过多功能方向盘上的接听键便能免提接听电话这样不仅简化了接听电话的步骤,同时也提高了行车的安全性车载蓝牙还能够使车辆实现无线播放手机音乐,在枯燥的行车过程中为车内乘员增添乐趣

我要回帖

更多关于 苹果蓝牙耳机按键功能 的文章

 

随机推荐