一种动态调整AVRCP版本的方法及终端设备转让专利

申请号 : CN201880098310.8

文献号 : CN112889096B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 国珊珊萧维廷唐能福宋业全

申请人 : 华为技术有限公司

摘要 :

一种动态调整AVRCP版本的方法及装置,涉及芯片技术和芯片安全领域,能够解决支持高版本的AVRCP的TG,可能导致CT播放TG中的音乐文件时CT无法显示歌曲信息的问题。该方法包括:终端设备响应于对端设备发送的第一SDP请求消息,向对端设备发送第一SDP响应消息,携带第一AVRCP版本的版本号(601);终端设备响应对端设备发送的至少两个浏览请求消息,用于对端设备请求显示媒体播放器的媒体信息(602);终端设备响应于对端设备发送的第二SDP请求消息,第二SDP请求消息为终端设备与对端设备断开连接后再次连接时发送的,向对端设备发送第二SDP响应消息,携带的第二AVRCP版本的版本号低于第一AVRCP版本的版本号(603)。该方法及装置用于TG与CT蓝牙连接时CT如何获取媒体信息。

权利要求 :

1.一种动态调整音频/视频远程控制协议AVRCP版本的方法,应用于终端设备,所述终端设备包括媒体播放器,其特征在于,所述方法包括:终端设备响应于对端设备发送的第一服务发现协议SDP请求消息,向所述对端设备发送第一SDP响应消息,所述第一SDP响应消息携带第一AVRCP版本的版本号;

所述终端设备响应所述对端设备发送的至少两个浏览请求消息,所述浏览请求消息用于所述对端设备请求显示媒体播放器的媒体信息;

所述终端设备响应于所述对端设备发送的第二SDP请求消息,所述第二SDP请求消息为所述终端设备与所述对端设备断开连接后再次连接时发送的,向所述对端设备发送第二SDP响应消息,所述第二SDP响应消息携带第二AVRCP版本的版本号,所述第二AVRCP版本的版本号低于所述第一AVRCP版本的版本号。

2.根据权利要求1所述的方法,其特征在于,所述第一AVRCP版本的版本号为AVRCP1.4,所述第二AVRCP版本的版本号为AVRCP1.3。

3.根据权利要求1或2所述的方法,其特征在于,当所述终端设备接收到一个所述浏览请求消息时,所述方法还包括:所述终端设备向所述对端设备发送浏览响应消息,所述浏览响应消息指示所述媒体播放器不支持所述对端设备请求显示所述媒体播放器的媒体信息。

4.根据权利要求1所述的方法,其特征在于,若所述终端设备接收到至少两个所述浏览请求消息,则所述方法还包括:所述终端设备将所述对端设备的设备信息记录在预置的设备信息集合中;

在所述终端设备向所述对端设备发送所述第二SDP响应消息之前,所述方法还包括:所述终端设备查询所述对端设备的设备信息是否在所述预置的设备信息集合中;

若所述对端设备的设备信息在所述预置的设备信息集合中,则所述终端设备确定向所述对端设备发送所述第二SDP响应消息。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

若所述对端设备的设备信息不在所述预置的设备信息集合中,则所述终端设备向所述终端设备发送所述第一SDP响应消息。

6.根据权利要求5所述的方法,其特征在于,所述对端设备的设备信息包括所述对端设备的蓝牙信息,或所述对端设备的设备信息包括所述对端设备的蓝牙信息和设备类型;

所述预置的设备信息集合包括至少一个设备的蓝牙信息或至少一个设备的蓝牙信息和设备类型,或所述预置的设备信息集合为空。

7.根据权利要求6所述的方法,其特征在于,所述蓝牙信息为所述对端设备的蓝牙地址的前三位,或所述蓝牙信息为所述对端设备的蓝牙名称,或所述蓝牙信息为所述对端设备的蓝牙地址的前三位以及蓝牙名称。

8.根据权利要求1所述的方法,其特征在于,若所述终端设备接收到至少两个所述浏览请求消息,则所述方法还包括:所述终端设备将蓝牙配对文件中所述对端设备对应的AVRCP版本字段的内容置为所述第二AVRCP版本的版本号,所述蓝牙配对文件包括与所述终端设备进行蓝牙配对的对端设备的设备信息,所述设备信息包括所述对端设备对应的AVRCP版本字段。

9.根据权利要求1所述的方法,其特征在于,所述第二SDP响应消息还包括所述第二AVRCP版本支持的特性;

所述方法还包括:

所述终端设备将所述终端设备中所述第一AVRCP版本的特性更新为所述第二AVRCP版本的特性。

10.根据权利要求1所述的方法,其特征在于,所述媒体信息包括歌曲信息,所述歌曲信息包括歌曲名、歌曲数量、歌词以及歌曲的播放时长。

11.一种终端设备,其特征在于,所述终端设备包括存储器、处理器、收发器和显示器,所述存储器存储有指令,当所述指令被所述处理器执行时,使得所述终端设备执行以下操作:响应于对端设备发送的第一服务发现协议SDP请求消息,向所述对端设备发送第一SDP响应消息,所述第一SDP响应消息携带第一AVRCP版本的版本号;

响应所述对端设备发送的至少两个浏览请求消息,所述浏览请求消息用于所述对端设备请求显示媒体播放器的媒体信息,向所述对端设备发送每个所述浏览请求消息对应的浏览响应消息,所述浏览响应消息指示所述媒体播放器不支持所述对端设备请求显示媒体播放器的媒体信息;

将所述对端设备的设备信息记录在预置的设备信息集合中;

响应于所述对端设备发送的第二SDP请求消息,所述第二SDP请求消息为所述终端设备与所述对端设备断开连接后再次连接时发送的,查询所述对端设备的设备信息是否在所述预置的设备信息集合中;若所述对端设备的设备信息在所述预置的设备信息集合中,则向所述对端设备发送第二SDP响应消息;所述第二SDP响应消息携带第二AVRCP版本的版本号,所述第二AVRCP版本的版本号低于所述第一AVRCP版本的版本号。

12.根据权利要求11所述的终端设备,其特征在于,所述第一AVRCP版本的版本号为AVRCP1.4,所述第二AVRCP版本的版本号为AVRCP1.3。

13.根据权利要求11或12所述的终端设备,其特征在于,所述操作还包括:若所述对端设备的设备信息不在所述预置的设备信息集合中,则向所述终端设备发送所述第一SDP响应消息。

14.根据权利要求11所述的终端设备,其特征在于,所述对端设备的设备信息包括所述对端设备的蓝牙信息,或所述对端设备的设备信息包括所述对端设备的蓝牙信息和设备类型;

所述预置的设备信息集合包括至少一个设备的蓝牙信息或至少一个设备的蓝牙信息和设备类型,或所述预置的设备信息集合为空。

15.根据权利要求14所述的终端设备,其特征在于,所述蓝牙信息为所述对端设备的蓝牙地址的前三位,或所述蓝牙信息为所述对端设备的蓝牙名称,或所述蓝牙信息为所述对端设备的蓝牙地址的前三位以及蓝牙名称。

16.根据权利要求11所述的终端设备,其特征在于,所述第二SDP响应消息还包括所述第二AVRCP版本支持的特性;

所述操作还包括:将所述终端设备中所述第一AVRCP版本的特性更新为所述第二AVRCP版本的特性。

17.根据权利要求11所述的终端设备,其特征在于,所述媒体信息包括歌曲信息,所述歌曲信息包括歌曲名、歌曲数量、歌词以及歌曲的播放时长。

18.一种芯片,其特征在于,所述芯片包括存储器和处理器,所述存储器存储有指令,当所述指令被所述处理器执行时,使得所述芯片执行如权利要求1‑10任一项所述的方法。

19.一种终端设备,其特征在于,所述终端设备包括存储器,所述存储器存储有计算机指令,当所述计算机指令被执行时,使得所述终端设备执行如权利要求1‑10任一项所述的方法。

20.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行如权利要求1‑10任一项所述的方法。

说明书 :

一种动态调整AVRCP版本的方法及终端设备

技术领域

[0001] 本申请涉及芯片技术和芯片安全领域,尤其涉及一种动态调整音频/视频远程控制协议(Audio/Video Remote Control Profile,AVRCP)版本的方法及终端设备。

背景技术

[0002] AVRCP定义了如何控制流媒体的特征,包括暂停、停止、启动重放、音量控制以及其他类型的远程控制操作。AVRCP定义了两个设备角色,即控制设备(controller,CT)和目标设备(target,TG)。CT通常为远程控制设备,TG为特征可以更改的设备。CT可通过发送命令帧到TG发起传输过程,TG可接收命令帧并按命令帧响应。CT可以为个人电脑(personal computer,PC)、掌上电脑(Personal Digital Assistant,PDA)、电话、车载系统、耳机和播放/录音设备等,TG可以为播放/录音设备、电视和耳机等。例如,CT为车载系统,TG为手机,当手机和车载系统通过蓝牙技术连接上时,车载系统可以控制手机进行音乐播放,显示手机上音乐播放时的状态、歌名以及歌手等信息,还可以浏览手机上的音乐文件和显示播放列表等。
[0003] AVRCP有多个服务版本,不同版本的兼容性不同,TG如果支持高版本的AVRCP,可能导致CT如果要播放TG中的音乐文件时CT侧无法显示音乐文件的歌曲信息。

发明内容

[0004] 本申请实施例提供一种动态调整AVRCP版本的方法,能够解决支持高版本的AVRCP的TG,可能导致CT播放TG中的音乐文件时CT无法显示歌曲信息的问题。
[0005] 第一方面,提供一种动态调整AVRCP版本的方法,应用于终端设备;终端设备包括媒体播放器,该方法包括:终端设备响应于对端设备发送的第一服务发现协议SDP请求消息,向对端设备发送第一SDP响应消息,第一SDP响应消息携带第一AVRCP版本的版本号;终端设备响应对端设备发送的至少两个浏览请求消息,浏览请求消息用于对端设备请求显示媒体播放器的媒体信息;终端设备响应于对端设备发送的第二SDP请求消息,第二SDP请求消息为终端设备与对端设备断开连接后再次连接时发送的,向对端设备发送第二SDP响应消息,第二SDP响应消息携带第二AVRCP版本的版本号,第二AVRCP版本的版本号低于第一AVRCP版本的版本号。第一AVRCP版本可以表征终端设备支持对端设备可查询终端设备的媒体播放器列表,第二AVRCP版本可以表征终端设备不支持对端设备查询终端设备的媒体播放器列表。终端设备在回复对端设备的AVRCP版本号不同时,终端设备与对端设备后续的链路行为也不同。这样,在终端设备支持对端设备可查询终端设备的媒体播放器列表的情况下,如果终端设备接收到对端设备发送的至少两个浏览请求消息,终端设备可知道对端设备请求的媒体播放器不支持对端设备访问媒体信息,那么在下一次连接时,终端设备可以将终端设备的第一AVRCP版本降为第二AVRCP版本,对端设备就不会向终端设备发送该浏览请求消息,以避开终端设备支持对端设备可查询终端设备的媒体播放器列表,但是对端设备请求的媒体播放器不支持对端设备访问媒体信息的情况,也就避免了对端设备访问不到媒体播放器的媒体信息导致对端设备无法显示媒体信息的问题。其中的终端设备例如可以为手机,对端设备为车载设备,媒体播放器为音乐播放器,媒体信息为音乐播放器的音乐文件夹的歌曲信息。
[0006] 在一种可能的设计中,第一AVRCP版本的版本号为AVRCP1.4,第二AVRCP版本的版本号为AVRCP1.3。即,当终端设备的AVRCP版本为AVRCP1.4,对端设备可查询终端设备的媒体播放器列表,当终端设备的AVRCP版本为AVRCP1.3,对端设备后续不查询终端设备的媒体播放器列表,也不向终端设备的媒体播放器请求浏览媒体信息,也就避免了终端设备支持对端设备可查询终端设备的媒体播放器列表,但是终端设备的媒体播放器不支持访问媒体信息从而导致对端设备无法显示媒体信息问题。
[0007] 在一种可能的设计中,当终端设备接收到一个浏览请求消息时,该方法还包括:终端设备向对端设备发送浏览响应消息,浏览响应消息指示媒体播放器不支持对端设备请求显示媒体播放器的媒体信息。媒体播放器例如可以为网易云音乐、QQ音乐和酷狗音乐等。媒体信息例如可以为网易云音乐的歌曲信息。媒体播放器不支持对端设备请求显示媒体播放器的媒体信息可以理解为媒体播放器不支持AVRCP浏览(browsing)。由于不支持AVRCP browsing,对端设备会重复地向终端设备发送浏览请求消息,终端设备识别出这种重复发送的行为说明对端设备请求的媒体播放器不支持AVRCP浏览。
[0008] 在一种可能的设计中,若终端设备接收到至少两个浏览请求消息,则该方法还包括:终端设备将对端设备的设备信息记录在预置的设备信息集合中;在终端设备向对端设备发送第二SDP响应消息之前,该方法还包括:终端设备查询对端设备的设备信息是否在预置的设备信息集合中;若对端设备的设备信息在预置的设备信息集合中,则终端设备确定向对端设备发送第二SDP响应消息。如果对端设备的设备信息在预置的设备信息集合中,说明终端设备与对端设备上一次连接过程中出现了对端设备无法访问终端设备的媒体播放器的媒体信息的行为,相当于将这种历史行为记录下来,以便终端设备与对端设备断开后再次连接时,如果对端设备请求获知终端设备的AVRCP版本时,终端设备降版本回复给对端设备,以便终端设备与对端设备的链路行为发生变化,避免对端设备再次发送出现媒体信息无法访问的浏览请求消息。
[0009] 在一种可能的设计中,该方法还包括:若对端设备的设备信息不在预置的设备信息集合中,则终端设备向终端设备发送第一SDP响应消息。这里如果对端设备的设备信息不在预置的设备信息集合中,说明之前未出现对端设备请求访问终端设备的媒体播放器的媒体信息时无法访问的情况,终端设备可以正常回复对端设备AVRCP的版本号,不需要降版本回复。
[0010] 在一种可能的设计中,对端设备的设备信息包括对端设备的蓝牙信息,或对端设备的设备信息包括对端设备的蓝牙信息和设备类型;其中,蓝牙信息为对端设备的蓝牙地址的前三位,或蓝牙信息为对端设备的蓝牙名称,或蓝牙信息为对端设备的蓝牙地址的前三位以及蓝牙名称;预置的设备信息集合包括至少一个设备的蓝牙信息或至少一个设备的蓝牙信息和设备类型,或预置的设备信息集合为空。设备的蓝牙地址一般有六位,且设备的蓝牙地址对于每个设备来说是唯一的,如果记录设备的蓝牙地址的全六位,只能记录这一个设备,因此,可以将蓝牙地址的前三位记录下来,这样,可以将设备的厂商记录下来,也就将该厂商的其他设备都记录下来,也避免了该厂商的其他设备都出现媒体信息无法显示的情况。
[0011] 在一种可能的设备中,若终端设备接收到至少两个浏览请求消息,则该方法还包括:终端设备将蓝牙配对文件中对端设备对应的AVRCP版本字段的内容置为第二AVRCP版本的版本号,蓝牙配对文件包括与终端设备进行蓝牙配对的对端设备的设备信息,设备信息包括对端设备对应的AVRCP版本字段。这样,终端设备与对端设备断开后再次连接时,可以查询蓝牙配对文件中对端设备的AVRCP版本字段的内容,以便向对端设备回复终端设备的AVRCP版本为第二ACRVP版本的版本号。
[0012] 在一种可能的设计中,第二SDP响应消息还包括第二AVRCP版本支持的特性;该方法还包括:终端设备将终端设备中第一AVRCP版本的特性更新为第二AVRCP版本的特性。也就是说,终端设备在回复给对端设备AVRCP的版本号时降版本回复的同时,也需要降终端设备中AVRCP版本的版本特性的参数值修改为降低后的版本的参数值,以便终端设备与对端设备根据修改后的参数值继续通信。
[0013] 在一种可能的设计中,媒体信息包括歌曲信息,歌曲信息包括歌曲名、歌曲数量、歌词以及歌曲的播放时长。
[0014] 第二方面,提供一种终端设备,终端设备包括存储器、处理器、收发器和显示器,存储器存储有指令,当指令被处理器执行时,使得终端设备执行以下操作:响应于对端设备发送的第一SDP请求消息,向对端设备发送第一SDP响应消息,第一SDP响应消息携带第一AVRCP版本的版本号;响应对端设备发送的至少两个浏览请求消息,浏览请求消息用于对端设备请求显示媒体播放器的媒体信息,向对端设备发送每个浏览请求消息对应的浏览响应消息,浏览响应消息指示媒体播放器不支持对端设备请求显示媒体播放器的媒体信息;将对端设备的设备信息记录在预置的设备信息集合中;响应于对端设备发送的第二SDP请求消息,第二SDP请求消息为终端设备与对端设备断开连接后再次连接时发送的,查询对端设备的设备信息是否在预置的设备信息集合中;若对端设备的设备信息在预置的设备信息集合中,则向对端设备发送第二SDP响应消息;第二SDP响应消息携带第二AVRCP版本的版本号,第二AVRCP版本的版本号低于第一AVRCP版本的版本号。
[0015] 在一种可能的设计中,第一AVRCP版本的版本号为AVRCP1.4,第二AVRCP版本的版本号为AVRCP1.3。
[0016] 在一种可能的设计中,该操作还包括:若对端设备的设备信息不在预置的设备信息集合中,则向终端设备发送第一SDP响应消息。
[0017] 在一种可能的设计中,对端设备的设备信息包括对端设备的蓝牙信息,或对端设备的设备信息包括对端设备的蓝牙信息和设备类型;其中,蓝牙信息为对端设备的蓝牙地址的前三位,或蓝牙信息为对端设备的蓝牙名称,或蓝牙信息为对端设备的蓝牙地址的前三位以及蓝牙名称;预置的设备信息集合包括至少一个设备的蓝牙信息或至少一个设备的蓝牙信息和设备类型,或预置的设备信息集合为空。
[0018] 在一种可能的设计中,第二SDP响应消息还包括第二AVRCP版本支持的特性;操作还包括:将所述终端设备中所述第一AVRCP版本的特性更新为所述第二AVRCP版本的特性。
[0019] 在一种可能的设计中,媒体信息包括歌曲信息,歌曲信息包括歌曲名、歌曲数量、歌词以及歌曲的播放时长。
[0020] 第三方面,提供一种芯片,芯片包括存储器和处理器,存储器存储有指令,当指令被处理器执行时,使得芯片执行如第一方面所述的方法。
[0021] 第四方面,提供一种终端设备,包括存储器,存储器存储有计算机指令,当计算机指令被执行时,使得终端设备执行如第一方面所述的方法。
[0022] 第五方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行如第一方面所述的方法。
[0023] 由此,本申请提供的ACRCP查询方法,能够使得对端设备无法访问终端设备的媒体播放器的媒体信息从而能无法显示该媒体信息时,终端设备对AVRCP版本进行降版本处理,使得终端设备与对端设备断开后再次连接时,根据降后的版本进行通信,避免对端设备无法访问终端设备的媒体播放器的媒体信息从而能无法显示该媒体信息的问题。

附图说明

[0024] 图1为本申请实施例提供的一种网络架构示意图;
[0025] 图2为本申请实施例提供的一种终端设备的结构示意图;
[0026] 图3为TG与CT遵循的蓝牙协议架构示意图;
[0027] 图4为TG与CT通过ACRCP查询TG与CT间的服务版本与特性之间的信号交互示意图;
[0028] 图4A为手机与车载设备的屏幕显示示意图;
[0029] 图4B为手机与车载设备的屏幕显示示意图;
[0030] 图5为TG与CT通过ACRCP查询TG与CT间的服务版本与特性之间的信号交互示意图;
[0031] 图6为本申请实施例提供的一种动态调整AVRCP版本的方法的信号交互图;
[0032] 图7为本申请实施例提供的一种动态调整AVRCP版本的方法的信号交互图;
[0033] 图8为本申请实施例提供的一种芯片的结构示意图;
[0034] 图9为本申请实施例提供的一种终端设备的结构示意图;
[0035] 图10为本申请实施例提供的一种终端设备的结构示意图。

具体实施方式

[0036] 本申请实施例提供一种动态调整AVRCP版本的方法及装置,可以应用于终端设备与对端设备蓝牙连接后,对端设备播放终端设备中的媒体文件的过程,例如终端设备与对端设备蓝牙连接成功后,对端设备可以播放并显示终端设备中的音乐文件。
[0037] 本申请的网络架构可以包括终端设备和对端设备,终端设备可以是手机和平板电脑等具有蓝牙功能、安装有媒体播放器且支持AVRCP的设备,对端设备可以是车载设备、蓝牙耳机以及PC等支持蓝牙功能、安装有媒体播放器且支持AVRCP的设备。如图1所示,终端设备11可以为手机,对端设备12为车载设备。例如媒体播放器为音乐播放器时,终端设备与对端设备通过蓝牙连接成功后,终端设备在显示音乐播放进度的同时,对端设备可以同时播放终端设备中的音乐文件,并且显示终端设备中音乐播放时的状态、歌手以及歌手信息等,用户还可操作对端设备来控制音乐的暂停、停止、启动播放、音量控制以及其他类型的控制操作。这里的终端设备就相当于TG,对端设备就相当于CT。
[0038] 在一个示例中,终端设备可以通过如图2所示的结构实现。以终端设备为手机为例,图2示出了手机的通用硬件架构进行说明。图2所示的手机可以包括:射频(radio Frequency,RF)电路210、存储器220、其他输入设备230、显示屏240、传感器250、音频电路260、I/O子系统270、处理器280、以及电源290等部件。本领域技术人员可以理解,图2所示的手机的结构并不构成对手机的限定,可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本领域技术人员可以理解显示屏240属于用户界面(user Interface,UI),显示屏240可以包括显示面板241和触摸面板242。且手机可以包括比图示更多或者更少的部件。尽管未示出,手机还可以包括摄像头、蓝牙模块等功能模块或器件,在此不再赘述。
[0039] 进一步地,处理器280分别与RF电路210、存储器220、音频电路260、I/O子系统270、以及电源290均连接。I/O子系统270分别与其他输入设备230、显示屏240、传感器250均连接。其中,RF电路210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器280处理。存储器220可用于存储软件程序以及模块。处理器280通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。其他输入设备230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。显示屏240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单,还可以接受用户输入。传感器250可以为光传感器、运动传感器或者其他传感器。音频电路260可提供用户与手机之间的音频接口。I/O子系统270用来控制输入输出的外部设备,外部设备可以包括其他设备输入控制器、传感器控制器、显示控制器。处理器280是手机200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行手机200的各种功能和处理数据,从而对手机进行整体监控。电源290(比如电池)用于给上述各个部件供电,优选的,电源可以通过电源管理系统与处理器280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
[0040] 在本申请实施例中,RF电路210可以向对端设备发送信息和接收对端设备的信息,并将接收的信息发送给处理器280进行处理。存储器220可用于存储执行本申请实施例方法的软件程序以及模块。处理器280可通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理,例如执行本申请实施例中的方法步骤。显示屏240可以用于显示媒体播放器播放媒体文件时的图像。
[0041] 本申请可以适用于蓝牙工作模式为基本速率(Basic Rate,BR)和增强速率(Enhanced Data Rate,EDR)的设备,且适用于蓝牙5.0及5.0以下的蓝牙技术标准,例如还适用于蓝牙4.2、4.0以及3.0等技术标准。
[0042] 当手机作为TG与CT蓝牙连接时,TG与CT遵循的蓝牙协议架构可以如图3所示,包括可并行工作的连接管理协议(Link Manager Protocol,LMP)和逻辑链路控制和适配协议(Logical Link Control and Adaption Protocol,L2CAP)、音/视频控制传输(Audio/Video Control Transport Protocol,AVCTP)、服务发现协议(Service Discovery Protocol,SDP)、音视频远程控制协议(Audio/Video Remote ControlProfile,AVRCP)以及应用(Application)。
[0043] LMP负责各蓝牙设备间连接的建立;L2CAP与LMP并行工作,当业务数据不经过LMP时,L2CAP为上层提供服务;AVCTP协议描述了蓝牙设备间音/视频的控制信号交换的格式和机制,AVCTP是一个总体的协议,具体的控制信息由其指定的协议(如AVRCP)实现,AVCTP本身只指定控制命令(command)和响应(response)的总体的格式。SDP是所有用户模式的基础,使用SDP可以查询到设备信息和服务类型,从而在蓝牙设备间建立相应的连接。AVRCP用于提供控制设备的标准接口,即定义了如何控制流媒体的特征,包括暂停、停止、启动重放、音量控制及其它类型的远程控制操作;Application为TG与CT之间的应用程序之间通信。
[0044] 首先可通过TG与CT建立异步无连接(Asynchronous Connectionless Less,ACL)物理链路,在此基础上建立LMP协议和L2CAP连接,TG与CT建立一对一或一对多的连接,再通过SDP可以查询到设备信息和服务类型,从而在TG与CT间建立相应的连接,接下来再通过AVCTP协议建立TG与CT间音/视频的控制信号交换的格式和机制,而后通过ACRCP协议实现TG与CT间的控制信令交互。
[0045] 其中,AVRCP有多个服务版本,包括AVRCP1.0、AVRCP1.3、AVRCP1.4以及AVRCP1.5等。随着版本的演进,功能不断增加,且每个版本的链路流程也不同。当TG的AVRCP的服务版本为AVRCP1.4时,TG与CT建立蓝牙连接以播放CT中的音乐文件的过程中,TG与CT通过ACRCP查询TG与CT间的服务版本与特性之间的信号交互可以如图4所示,包括如下步骤。
[0046] 步骤41、CT可先向TG发送SDP请求(SDP request),用于请求查询TG的AVRCP服务版本与特性;
[0047] 步骤42、当TG的AVRCP服务版本为AVRCP1.4时,TG向CT回复SDP响应(SDP response)消息,该SDP响应消息指示TG的AVRCP服务版本为AVRCP1.4,说明TG支持AVRCP browsing;需要说明的是,从AVRCP协议的角度来说,AVRCP1.3是不支持浏览(browsing)的,AVRCP1.4是支持browsing的。如果一个设备的AVRCP版本是1.3,说明该设备不支持browsing;如果一个设备AVRCP版本是AVRCP1.4,设备在出厂时,设备厂商可以定义AVRCP1.4支持browsing或不支持browsing。本申请是以设备的AVRCP版本是AVRCP1.4且AVRCP1.4支持browsing进行说明的。这里的设备支持browsing在AVRCP协议中可以这样理解,以TG为手机,CT为车载设备来说,如果手机支持browsing,那么车载设备侧可以获取手机中的音乐播放器的列表,例如音乐播放器的列表指示手机侧的音乐播放器包括QQ音乐、网易云音乐以及酷狗音乐等,车载设备侧可以进一步选择浏览列表中的任一音乐播放器,例如选择浏览网易云音乐的这一音乐播放器时,浏览网易云音乐可以理解为:浏览网易云音乐的音乐文件夹,该音乐文件夹在车载设备屏幕中可以显示有多个歌曲的歌曲名、多个歌手以及多种音乐类型等,这样用户就可以在音乐文件夹中选择或搜索要播放的歌曲。这样,用户既可以在手机侧的网易云音乐中选择要播放的歌曲,也可以在车载设备显示的网易云音乐的音乐文件夹中选择要播放的歌曲,当播放某一歌曲时,手机侧只是显示歌曲的播放进度,车载设备侧可同时播放这一歌曲,且在车载设备的屏幕中显示有正在播放的歌曲的歌词、歌手信息、歌曲评论以及歌曲的专辑等。
[0048] 步骤43、在CT确定TG支持AVRCP browsing的情况下,CT再向TG发送获取文件项目请求(get folder item request),以请求获取TG的音乐播放器的列表,列表中包括TG侧多个音乐播放器的应用程序的ID;
[0049] 步骤44、TG向CT回复获取文件项目响应(get folder item response),获取文件项目响应包括该列表;例如该列表中多个音乐播放器的应用程序的ID包括QQ音乐、网易云音乐以及酷狗音乐等应用程序的ID,如表1所示;
[0050] 表1
[0051] 音乐播放器 IDQQ音乐 00
网易云音乐 01
酷狗音乐 11
… …
[0052] 步骤45、CT再向GT发送请求浏览播放器请求(set browsed player request),set browsed player request中包括CT选定的音乐播放器的ID,以请求浏览TG中的音乐播放器;例如CT选定的音乐播放器为网易云音乐,那么set browsed player request中包括网易云音乐的应用程序的ID:01,以请求浏览网易云音乐;以下步骤以网易云音乐为例进行说明。
[0053] 步骤46、TG中网易云音乐如果支持浏览,TG向CT回复播放器支持浏览响应(set browsed player response),以指示CT该TG中的网易云音乐支持AVRCP browsing;如果TG中的网易云音乐不支持浏览,TG向CT回复播放器不支持浏览(player not browsable)的响应。音乐播放器是不是支持AVRCP浏览,可以决定于音乐播放器的应用程序是否注册支持AVRCP浏览的服务,即如果音乐播放器的应用程序未注册支持AVRCP浏览的服务,那么音乐播放器不支持ACRCP浏览;或者说,音乐播放器不支持AVRCP浏览是音乐播放器支持的音频格式与CT不兼容,例如音乐播放器支持wav、ogg以及mid等格式,而CT支持的格式有mp3、amr、以及flac等;或者,音乐播放器不支持AVRCP浏览,是由于音乐播放器的不支持AVRCP的蓝牙协议,不能被CT访问;或者说,音乐播放器不支持AVRCP浏览是由于音乐播放器的应用程序不支持蓝牙传输音频数据至CT等。
[0054] 步骤47、如果TG中网易云音乐支持浏览,那么CT可以继续向TG发送获取项目属性的浏览命令(browsing command for get item attributes),以向TG获取网易云音乐的歌曲信息等,而后继续执行步骤48;但是如果网易云音乐不支持浏览,CT在接收到player not browsable的响应后,不会发送browsing command for get item attributes给TG,而是会重复向TG发送set browsed player request,但是TG又不给CT响应set browsed player response,导致播放音乐时CT无法显示歌曲信息;以TG为手机,CT为车载设备为例,这时手机侧的屏幕中显示的图像可以为车载设备请求浏览的音乐播放器的画面,车载设备侧在接收到player not browsable的响应时,可以显示有歌曲信息获取失败的提示信息,例如该提示信息可以为:“获取歌曲信息失败”或者“未知”等,或者屏幕中不显示任何提示信息,即黑屏状态。如图4A为手机向车载设备发送player not browsable的响应时手机和车载设备的屏幕显示示意图。
[0055] 步骤48、TG再向CT回复获取项目属性的响应(response for get item attributes),response for get item attributes中携带网易云音乐的歌曲信息。以TG为手机,CT为车载设备为例,如图4B,这时手机侧的屏幕中显示的图像可以为车载设备请求浏览的音乐播放器的画面,车载设备侧在接收到网易云音乐的歌曲信息时,可以在车载设备侧的屏幕中显示网易云音乐的歌曲的歌曲名、网易云音乐的播放器名称以及歌曲的演唱者等。
[0056] 举例来说,如果CT为车载设备,TG为手机,在手机与车载系统通过蓝牙技术连接以播放手机中的音乐时,车载设备可首先查询手机的服务版本与特性,当手机回复AVRCP版本为AVRCP1.4,表征手机支持AVRCP浏览,车载系统可继续发送携带网易云音乐的标识的set_browsed_player request命令给手机,以请求浏览网易云音乐的歌曲信息,当手机中的网易云音乐应用程序不支持AVRCP浏览时,手机会向车载系统回复player_not_browsable响应,以指示网易云音乐不支持AVRCP浏览,这时车载系统不再发送用于获取歌曲信息的请求至手机,而是重复发送set_browsed_playerrequest命令至手机,导致车载系统播放手机中的网易云音乐的音乐文件时车载系统无法显示歌曲信息。
[0057] 如图5所示,如果CT向TG发送SDP request请求查询TG的AVRCP服务版本与特性,当TG的AVRCP服务版本为AVRCP1.3时,TG向CT回复的SDPresponse指示TG的AVRCP服务版本为AVRCP1.3,AVRCP1.3版本不支持AVRCP browsing,这时CT会直接向TG发送获取元素属性命令(get element attributes command)以获取TG端的音乐播放器的歌曲信息,TG就会向CT回复获取元素属性响应(get element attributes response)将该歌曲信息发送给CT。
[0058] 由此看来,TG向CT回复的SDP响应消息中携带的TG的AVRCP的服务版本不同,CT的后续行为也不同,即TG与CT建立的链路不同。其中,get element attributes command和get element attributes response属于get element attributes的命令,browsing command for get item attributes和response for get item attributes属于get item attributes的命令,get element attributes和get item attributes的命令都用于获取歌曲信息,区别在于请求获取的歌曲信息的字段不同,相应的response中回复的歌曲信息也有所不同。
[0059] 针对CT在与TG蓝牙连接以播放TG中的音乐文件,而TG中的音乐播放器不支持浏览导致CT无法显示歌曲信息的问题,本申请提供一种动态调整AVRCP版本的方法,如图6所示,包括:
[0060] 601、终端设备响应于对端设备发送的第一SDP请求消息,向对端设备发送第一SDP响应消息,第一SDP响应消息携带第一AVRCP版本的版本号。
[0061] 终端设备可以为TG,对端设备可以为CT,例如TG为具有蓝牙功能,安装有音乐播放且支持AVRCP的手机,CT为具有蓝牙功能,安装有音乐播放且支持AVRCP的车载设备,在手机与车载设备建立蓝牙连接以便车载设备播放手机音乐播放器中的音乐文件的过程中,如果手机接收到车载设备发送的SDP request,手机支持的AVRCP版本为AVRCP1.4,那么手机回复车载设备的第一SDP response中指示手机支持的AVRCP版本为AVRCP1.4,即第一AVRCP版本的版本号为AVRCP1.4。
[0062] 602、终端设备响应对端设备发送的至少两个浏览请求消息,浏览请求消息用于请求对端设备请求显示媒体播放器的媒体信息。
[0063] 根据图4的交互流程,示例性的,车载设备在得知手机支持AVRCP1.4时,确定手机支持AVRCP browsing,而后会继续向手机发送set browsed player request,set browsed player request中包括车载设备选定的音乐播放器的ID,以请求浏览手机中的该音乐播放器,手机中该音乐播放器如果不支持浏览,手机向车载设备回复player not browsable的响应,以指示该音乐播放器不支持浏览,那么车载设备会向手机重复发送set browsed player request,而不发送browsing command for get item attributes给手机,导致车载设备无法显示歌曲信息,于是,手机可以将车载设备重复发送set browsed player request的操作识别为车载设备在请求浏览媒体播放器时存在异常操作,或者说,识别出车载设备在请求浏览媒体播放器时存在特定行为。
[0064] 603、终端设备响应于对端设备发送的第二SDP请求消息,第二SDP请求消息为终端设备与对端设备断开连接后再次连接时发送的,向对端设备发送第二SDP响应消息,第二SDP响应消息携带第二AVRCP版本的版本号,第二AVRCP版本的版本号低于第一AVRCP版本的版本号。
[0065] 示例性的,在手机识别出车载设备存在异常操作的情况下,如果手机与车载设备断开蓝牙连接,再次建立蓝牙连接以便车载设备播放手机音乐播放器中的音乐文件的过程中,如果手机接收到车载设备发送的SDP request,这时手机向车载设备发送的SDP response中可以指示手机支持的AVRCP版本为AVRCP1.3,即第二AVRCP版本的版本号为AVRCP1.3。AVRCP1.3的版本号低于AVRCP1.4的版本号。这样一来,手机与车载设备的链路与上一次建立蓝牙连接的链路不同,这一次手机与车载设备建立蓝牙连接的操作可以如图5所示,不会发生车载设备向手机发送set browsed player request,也就不会出现车载设备重复向手机发送set browsed player request的异常操作。
[0066] 这样通过本申请图6所示的实施例,手机与车载设备蓝牙配对连接播放音乐时,手机能够识别出车载设备重复发送set browsed player request的异常行为,手机与车载设备断开蓝牙连接后再次连接时,车载设备在发送SDP request查询手机侧的AVRCP版本时,会将手机原本支持的第一AVRCP版本降低,降为第二AVRCP版本,以避免在向车载设备回复第一AVRCP版本时车载设备出现的异常行为,第二AVRCP版本不支持AVRCP browsing,且会使得车载设备向手机发送get element attributes来获取歌曲信息,避免了车载设备下一次继续出现重复发送set browsed player request至手机,导致的车载设备无法显示歌曲信息的问题。
[0067] 下面以终端设备为手机,对端设备为车载设备进一步对本申请实施例进行说明,如图7所述,本申请实施例的方法可以包括:
[0068] 701、车载设备向手机发送SDP请求,即SDP request,以查询手机的AVRCP版本。
[0069] 车载设备与手机建立蓝牙连接的过程中,车载设备若要播放手机中的音乐播放器的音乐文件时,车载设备需要向手机发送SDP请求来查询手机的AVRCP版本,以便车载设备可以根据手机的AVRCP版本来确定播放音乐文件时的操作的标准接口,即如何控制音乐文件的特征,包括暂停、停止、启动重放、音量控制及其它类型的远程控制操作等。AVRCP版本可以是前述举例的AVRCP1.0、AVRCP1.3、AVRCP1.4以及AVRCP1.5等其中的一种。
[0070] 702、手机向车载设备发送第一SDP响应,即第一SDP response,第一SDP响应携带第一AVRCP版本的版本号AVRCP1.4。
[0071] 如果手机的AVRCP版本为AVRCP1.4,可以继续如图4所示的流程。
[0072] 703、车载设备向手机发送获取文件项目请求,即get folder item request,以请求获取手机中的媒体播放器的列表。
[0073] 每个媒体播放器都对应一个ID。
[0074] 704、手机向车载设备发送获取文件项目响应,即get folder item response,该get folder item response中包括手机中的媒体播放器的列表。
[0075] 705、车载设备向手机发送浏览请求消息,即发送前述的浏览播放器请求set browsed player request,浏览请求消息用于请求浏览播放器。
[0076] 请求浏览播放器可以理解为请求浏览音乐播放器中的音乐文件,包括歌曲信息,例如歌手,歌曲时长以及歌曲名等。浏览请求消息中包括车载设备请求的媒体播放器的ID。
[0077] 706、手机向车载设备发送浏览响应消息,浏览响应消息用于指示播放器不支持浏览。
[0078] 如果由于手机中的音乐播放器不支持通过蓝牙协议浏览,或者音乐播放器的版本太低而不支持浏览时,从图4的说明可知,手机可以向车载设备发送不支持浏览的响应,即发送的player not browsable的响应。
[0079] 707、若手机在预设时间段内接收到车载设备发送的至少N个浏览请求消息,手机确定车载设备存在异常操作,或者说,确定车载设备无法显示播放器的媒体信息。N为正整数。
[0080] 从图4的说明可知,如果车载设备接收到手机发送的player not browsable的响应,不会继续发送browsing command for get item attributes给TG,而是会重复向手机发送set browsed player request,如果这里的预设时间段为1s,N为3,那么也就是说,如果手机在1s内接收到车载设备发动的至少3个浏览请求消息,手机就会确定车载设备存在异常操作,或者说,手机确定车载设备存在特定行为。N也可以为其它值,本申请不做限定。也就是说,在本申请实施例中,手机侧增加了识别手机的对端设备的特定行为的机制。
[0081] 708、手机将车载设备的设备信息记录在预置的设备信息集合中。
[0082] 一种可能的实现中,车载设备的设备信息可以包括车载设备的蓝牙信息,或车载设备的设备信息包括车载设备的蓝牙信息和设备类型。
[0083] 其中,蓝牙信息为车载设备的蓝牙地址的前三位,或蓝牙信息为车载设备的蓝牙名称,或蓝牙信息为车载设备的蓝牙地址的前三位以及蓝牙名称。这里记录蓝牙地址的前三位是由于:设备的蓝牙地址有六位:XX:XX:XX:XX:XX:XX,每个设备的蓝牙地址都不一样,即蓝牙地址对不同的设备来说是不同的,如果记录设备的蓝牙地址的六位时,只标记了这一个设备存在特定行为,而蓝牙地址的前三位能够标记出设备的厂商或者该设备用到的蓝牙芯片的厂商,如果厂商的一个设备存在特定行为,为了设备能够便利该厂商的设备或蓝牙芯片都能够顺利获得要连接蓝牙的设备的歌曲信息,可以将这个设备或蓝牙芯片的厂商都记录在预置的设备信息集合中,这样,一旦该蓝牙芯片或该设备厂商的一个设备的设备信息被记录在该预置的设备信息集合中,可以认为该蓝牙芯片或设备厂商的设备都会存在这种特定行为。因此,只将蓝牙地址的前三位存储于该预置的设备信息集合中即可。
[0084] 相应的,预置的设备信息集合包括至少一个设备的蓝牙信息或至少一个设备的蓝牙信息和设备类型,或预置的设备信息集合为空,即在未记录设备信息之前,该集合初始时为空。
[0085] 另一种可能的实现中,步骤708还可以替换为:手机将蓝牙配对文件中车载设备对应的AVRCP版本字段的内容置为第二AVRCP版本的版本号。例如第二AVRCP版本的版本号可以为AVRCP 1.3。蓝牙配对文件可以为bt_config.conf文件,该bt_config.conf文件用于记录已经与手机建立蓝牙配对的设备的设备信息,本申请在bt_config.conf文件中新增一个字段AVRCP version,即AVRCP版本字段,该字段指示手机向与手机建立蓝牙配对的设备回复SDP响应时携带的手机的第二AVRCP版本的版本号,例如bt_config.conf文件中车载设备在该字段下的内容为AVRCP 1.3,表示手机在向车载设备发送SDP响应时,应该回复车载设备该手机的AVRCP版本的版本号为AVRCP 1.3。该蓝牙配对文件也可以为本申请在手机侧的一个新建文件,新建文件中包括AVRCP version字段。
[0086] 709、手机再次接收到车载设备发送的SDP请求消息。
[0087] 这里的再次接收到SDP请求消息,可以理解为在步骤708之后,手机与车载设备断开蓝牙连接之后,再次建立蓝牙连接时,手机接收到车载设备发送的SDP请求消息。
[0088] 710、手机查询车载设备的设备信息是否在预置的设备信息集合中,若车载设备的设备信息在预置的设备信息集合中,则手机确定向车载设备发送第二SDP响应消息,第二SDP响应消息携带第二AVRCP版本的版本号,第二AVRCP版本的版本号低于第一AVRCP版本的版本号。而后,执行步骤711。若车载设备的设备信息不在预置的设备信息集合中,则返回步骤702继续执行。
[0089] 若设备信息为车载设备的蓝牙地址的前三位,手机在查询到车载设备的蓝牙地址的前三位在预置的设备信息集合中,则手机确定向车载设备这次发送第二SDP响应消息,第二SDP响应消息携带第二AVRCP版本的版本号,即携带ACRCP1.3,ACRCP1.3低于ACRCP1.4。
[0090] 或者,按照步骤708中的另一种可能的实现,步骤710也可以替换为:手机查询蓝牙配对文件中车载设备对应的AVRCP版本字段的内容为第二AVRCP版本的版本号。
[0091] 711、手机向车载设备发送第二SDP响应消息。
[0092] 第二SDP响应消息中携带第二AVRCP版本的版本号,即ACRCP1.3,也就是说,手机通知车载设备获知手机侧的ACRCP版本为ACRCP1.3。
[0093] 该第二SDP响应消息还包括第二AVRCP版本支持的特性。由于手机侧这一次与车载设备建立蓝牙连接时向车载设备回复的第二SDP响应消息相较于上一次回复的第一SDP响应消息更改了手机侧的ACRCP版本的版本号,那么相应的,手机侧就可以将更改后的第二ACRCP版本ACRCP1.3支持的特性也告知给车载设备。
[0094] 相应的,该方法还可以包括:手机将手机中第一AVRCP版本的特性更新为第二AVRCP版本的特性,即手机将手机中ACRCP1.4的特性对应的字段以及字段的内容更新为ACRCP1.3的字段以及字段的内容。
[0095] 712、车载设备向手机发送获取元素属性命令,即发送的get element attributes command,以获取手机播放器的媒体文件信息。
[0096] 从图5的流程来看,如果手机向车载设备回复的SDP响应消息中指示手机的ACRCP版本的版本号为ACRCP1.3,那么车载设备在接收到该SDP响应消息时,不再执行如上一次建立蓝牙连接时的步骤703,而是向手机发送获取元素属性命令来获取手机播放器的媒体文件信息,例如媒体文件信息可以为音乐播放器的歌曲信息。
[0097] 713、手机向车载设备发送获取元素属性响应,即发送的get element attributes response,获取元素属性响应中包括媒体文件信息。
[0098] 这样一来,手机与车载设备建立蓝牙连接的过程中,一旦手机侧识别到车载设备发生了异常操作或者特定行为,在手机与车载设备断开蓝牙连接后再次连接时,车载设备在查询手机侧的AVRCP版本时,手机可以向车载设备回复的AVRCP版本的版本号比上一次建立连接的版本号低,不同的版本号下手机与车载设备的链路行为不同,例如AVRCP版本的版本号为ACRCP1.4时,链路行为如图4所示,AVRCP版本的版本号为ACRCP1.4时,链路行为如图5所示,这样避免了图4中如果手机侧的音乐播放器不支持浏览时,车载设备重复发送set browsed player request至手机,导致的车载设备无法显示歌曲信息的问题。
[0099] 图8示出了本申请提供的一种芯片的结构示意图。
[0100] 芯片可以为系统级芯片(System‑on‑a‑Chip,SoC)80,也可称片上系统,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。从狭义角度讲,SoC是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,SoC是一个微小型系统。一般将SoC定义为将微处理器或者核(core)81、模拟知识产权核(Intellectual Property core,IP核)82、数字IP核83和存储器(或片外存储控制接口)84集成在单一芯片上。
[0101] core81,例如是中央处理器(central processing unit,CPU)的Core,即算术逻辑运算单元(arithmetic logic unit,ALU),用于运行SoC的存储器84中的指令以及处理软件中的数据等;
[0102] 存储器84包括各种易失、非易失以及Cache等存储器;
[0103] 模拟IP核82和数字IP核83,可将一些在数字电路中常用,但比较复杂的功能模块设计成可修改参数的模块。如有限长单位冲激响应(Finite Impulse Response,FIR)滤波器、同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)控制器、外设部件互连标准(Peripheral Component Interconnect,PCI)接口等。
[0104] 在本申请实施例中,SoC80可以与蓝牙芯片85配合工作实施本申请的技术方案,例如SoC80和蓝牙芯片85都设计在TG的主板电路上,SoC80中的存储器84中存储有执行本申请实施例的方法步骤的程序和数据,例如具体存储在SoC80的只读存储器(Read‑Only Memory,ROM)中,core81可以运行ROM中存储的方法步骤的程序和数据。
[0105] 以TG为手机,TC为车载设备为例,手机与车载设备蓝牙连接时,手机中的蓝牙芯片85通过蓝牙协议接收CT发送的SDP请求和浏览请求消息等,并将SDP请求和浏览请求消息传输给SoC80进行处理,SoC80可通过蓝牙芯片85向CT发送SDP响应和浏览响应消息等。当SoC80接收到至少两个浏览请求消息时,可以识别出车载设备无法显示媒体信息,可以将车载设备的设备信息记录在存储器84中,当手机与车载设备断开后再次连接时,当SoC80通过蓝牙芯片85接收到车载设备发送的SDP请求消息,SoC80可以查询到车载设备的设备信息记录在存储器84中,SoC80确定通过蓝牙芯片85向车载设备发送降低AVRCP版本后的AVRCP版本号,以便车载设备与手机的链路行为发生变化,避免车载设备无法显示媒体信息的问题。
[0106] 图9示出了本申请提供的一种终端设备的结构示意图。
[0107] 终端设备可被称为接入终端、UE、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备以及第五代移动通信技术(5‑Generation,5G)通信系统中的用户设备。上述各个电子设备仅是对终端设备的举例说明,终端设备还可以是其它电子设备,例如包含SoC80和蓝牙芯片85的手机和Pad等。
[0108] 如图9所示,当终端设备为手机时,手机90包括SoC80、蓝牙芯片85、控制电路、天线以及输入输出装置。SoC80主要用于对通信协议以及通信数据进行处理,以及对整个终端设备进行控制,执行软件程序,处理软件程序的数据。蓝牙芯片85可用于通过蓝牙协议与对端设备进行通信。控制电路主要用于基带信号与射频信号的转换以及对射频信号的处理。控制电路和天线一起也可以叫做收发器,主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏或键盘,主要用于接收用户输入的数据以及对用户输出数据。
[0109] 本领域技术人员可以理解,为了便于说明,图9仅示出了一个处理器(SoC80)。在实际的终端设备中,可以存在多个处理器。
[0110] 如图10所示,本申请实施例还提供一种终端设备10,终端设备包括存储器100、处理器102、收发器103和显示器104,存储器100存储有指令,存储器100、处理器102、收发器103和显示器104通过总线105相互连接;总线105可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。显示器104可以用于显示媒体播放器的图像等。
[0111] 当指令被处理器102执行时,使得终端设备10执行以下操作:
[0112] 响应于对端设备发送的第一服务发现协议SDP请求消息,向对端设备发送第一SDP响应消息,第一SDP响应消息携带第一AVRCP版本的版本号;
[0113] 响应对端设备发送的至少两个浏览请求消息,浏览请求消息用于对端设备请求显示媒体播放器的媒体信息,向对端设备发送每个浏览请求消息对应的浏览响应消息,浏览响应消息指示媒体播放器不支持对端设备请求显示媒体播放器的媒体信息;
[0114] 将对端设备的设备信息记录在预置的设备信息集合中;
[0115] 响应于对端设备发送的第二SDP请求消息,第二SDP请求消息为终端设备与对端设备断开连接后再次连接时发送的,查询对端设备的设备信息是否在预置的设备信息集合中;若对端设备的设备信息在预置的设备信息集合中,则向对端设备发送第二SDP响应消息;第二SDP响应消息携带第二AVRCP版本的版本号,第二AVRCP版本的版本号低于第一AVRCP版本的版本号。
[0116] 该操作具体的实现方式可以参照图6或图7中的实施例中的说明,本申请不再赘述。
[0117] 在一种可能的设计中,第一AVRCP版本的版本号为AVRCP1.4,第二AVRCP版本的版本号为AVRCP1.3。
[0118] 操作还可以包括:若对端设备的设备信息不在预置的设备信息集合中,则向终端设备发送第一SDP响应消息。
[0119] 其中,对端设备的设备信息包括对端设备的蓝牙信息,或对端设备的设备信息包括对端设备的蓝牙信息和设备类型;其中,蓝牙信息为对端设备的蓝牙地址的前三位,或蓝牙信息为对端设备的蓝牙名称,或蓝牙信息为对端设备的蓝牙地址的前三位以及蓝牙名称;预置的设备信息集合包括至少一个设备的蓝牙信息或至少一个设备的蓝牙信息和设备类型,或预置的设备信息集合为空。
[0120] 需要说明的是,第二SDP响应消息还包括第二AVRCP版本支持的特性;相应地,该操作还可以包括:将终端设备中第一AVRCP版本的特性更新为第二AVRCP版本的特性。
[0121] 以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。