资讯详情

资讯详情

蓝牙中间件 -- 识别按下手机端音乐App的播放/暂停按钮的策略

问题视频问题视频 音乐暂停状态触发一级报警音后蓝牙音乐自动播放正确结果应当是RVC信号来之前用户在手机音乐App按下的暂停视为“用户按下的暂停”RVC信号来之后不应当播放视频。发生原因RVC信号发生后中间件丢失焦点通知P层P层App层也对自身管控的“是否用户按下的暂停”标志位进行变更。也影响中间件自身管控的“是否用户按下的暂停”标志位。所以RVC信号结束后中间件获得焦点这个标志位是不确定的状态。如果是认为“用户按下暂停”则不播放视频如果认为不是“用户按下暂停”则播放视频。困难点前任员工不知道是否用户下达了蓝牙音乐暂停的命令 A2DP 协议没有提供这样的协议只提供蓝牙音乐推流和停止推流的状态。只从状态无法直接得出是否是命令引起的因为车机端也可以请求暂停请求暂停的原因可能是用户按下车机端蓝牙音乐App暂停键也可能是RVC信号触发导致蓝牙中间件自动请求暂停这就不能视为人为按下的了但是蓝牙状态的回复只有一个“停止推流的状态”解决手段1、取消P层自身管控的“是否用户按下的暂停”标志位统一由中间件管理每次P层使用前跟中间件通信去获取这个标志位。2、虽然协议只提供状态但是车机端可能有请求命令。如果没有车机端的请求协议变更了状态从推流变成停止推流则认为是用户按下了暂停如果手机端有电话过来这种场景停止推流可以根据HFP协议和A2DP协议综合判断不视为用户按下暂停。如果有车机端的请求协议变更了状态从推流变成停止推流分两种情况①有RVC信号抢了焦点不认为是用户按下了暂停②如果是切源切到Radio或者是P层按下暂停认为是用户按下了暂停。①②均可以根据 注册给焦点管理类的onLoss回调去判断当前所在源是哪个。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →