掌桥专利:专业的专利平台
掌桥专利
首页

连接建立方法、装置、设备、存储介质及程序产品

文献发布时间:2023-06-19 16:04:54



技术领域

本申请实施例涉及蓝牙技术领域,特别涉及一种连接建立方法、装置、设备、存储介质及程序产品。

背景技术

随着蓝牙等短距离无线通信技术的不断发展,无线耳机等基于蓝牙的音频设备的应用也越来越广泛。

在相关技术中,终端设备接收到音频设备发送的蓝牙广播消息后,可以向音频设备发起服务查询,以查询音频设备支持的属性,并根据服务查询的结果,与音频设备建立音频连接。

发明内容

本申请实施例提供了一种连接建立方法、装置、设备、存储介质及程序产品。所述技术方案包括:

一方面,本申请实施例提供了一种连接建立方法,所述方法由终端设备执行,所述方法包括:

接收第一音频设备发送的蓝牙广播消息;

当所述第一音频设备与第二音频设备属于同一设备分组时,根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接;

其中,所述第二音频设备是所述终端设备已连接或确定连接的音频设备;所述属性支持信息用于指示音频设备支持的服务。

一方面,本申请实施例提供了一种连接建立装置,所述装置包括:

广播接收模块,用于接收第一音频设备发送的蓝牙广播消息;

连接建立模块,用于当所述第一音频设备与第二音频设备属于同一设备分组时,根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接;

其中,所述第二音频设备是所述终端设备已连接或确定连接的音频设备;所述属性支持信息用于指示音频设备支持的服务。

另一方面,本申请实施例提供了一种处理芯片,所述处理芯片用于执行如上所述的连接建立方法。

另一方面,本申请实施例提供了一种处理芯片,所述处理芯片中设置有如上所述的连接建立装置。

另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述处理器和所述存储器之间通过总线相连;所述处理器执行所述存储器中存储的计算机指令,以使得所述计算机设备实现如上所述的连接建立方法。

又一方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机指令,所述计算机指令用于被处理器执行,以实现上述连接建立方法。

又一方面,本申请提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。该计算机程序产品用于实现上述连接建立方法。

又一方面,本申请提供了一种计算机程序,该计算机程序由计算机设备的处理器执行,以实现上述连接建立方法。

本申请实施例提供的技术方案至少包括如下有益效果:

终端设备在接收到第一音频设备发送的蓝牙广播消息时,在已经与第二音频设备建立了音频连接的情况下,若第一音频设备与第二音频设备属于同一设备分组,则根据第二音频设备的属性支持信息与第一音频设备建立音频连接,节省了向第一音频设备进行服务查询的过程,极大的缩短了音频连接的建立时间,提高了音频连接的建立效率。

附图说明

图1是本申请一个示例性实施例提供的无线音频播放系统的系统架构图;

图2是本申请涉及的RSI值的消息结构图;

图3示出了本申请涉及的音频连接示意图;

图4示出了本申请涉及的服务查询示意图;

图5示出了本申请涉及的GATT结构示意图;

图6示出了本申请一个示例性实施例提供的连接建立方法的流程图;

图7示出了本申请一个示例性实施例提供的连接建立方法的流程图;

图8示出了本申请一个示例性实施例提供的连接建立方法的流程图;

图9是图8所示实施例涉及的一种音频连接的流程图;

图10示出了本申请一个示例性实施例提供的连接建立方法的流程图;

图11是本申请一个示例性实施例提供的连接建立装置的结构示意图;

图12是本申请一个示例性实施例提供的计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

应理解,在本申请的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。

在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。

本申请实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。比如预定义可以是指协议中定义的。

得益于蓝牙(Bluetooth,BT)等短距离无线通信技术的发展,无线耳机等基于蓝牙的音频设备也越来越多的被用户所接受,其实现形式也越来越多样化。比如,目前的无线耳机有真无线立体声(True Wireless Stereo,TWS)蓝牙耳机等等。

无线耳机等音频设备在使用时,需要与终端设备(即音源设备)建立基于蓝牙的无线音频连接,并播放终端设备推送的音频数据。在某些业务场景下,音频设备还可以向终端设备反馈用户操作,以及用户的语音数据等等。

请参考图1,其示出了本申请一个示例性实施例提供的无线音频播放系统的系统架构图。如图1所示,该系统包括音频设备110以及终端设备120。

其中,音频设备110可以是蓝牙耳机、或者支持蓝牙协议的其它音频播放设备,比如蓝牙音箱等等。音频设备110也可以是支持蓝牙协议的计算机设备,例如,可以是智能手机、平板电脑、智能电视、以及个人电脑等等。

音频设备110具有播放音频的功能,例如,音频设备110中设置有扬声器组件。

可选的,音频设备110还具有音频采集功能、操作接收功能等等。比如,音频设备110中还设置有拾音器/麦克风、操作按键、以及触摸传感器等等。

终端设备120可以是支持蓝牙协议的计算机设备,例如,终端设备120可以是智能手机、平板电脑、智能电视、以及个人电脑等等。

终端设备120与音频设备110之间通过蓝牙协议建立连接后,终端设备120可以向音频设备110推送音频数据,由音频设备对该音频数据进行播放。

可选的,音频设备110可以采集用户的语音(比如,在通话场景或者语音控制场景),获得用户的语音数据,并将语音数据回传给终端设备120。

可选的,音频设备110也可以在接收到对音频设备110中的操作按键或者触摸传感器的操作时,将操作信号传输给终端设备120,由终端设备120根据该操作信号执行相应的操作。

比如,在一些方案中,音频设备110可以根据接收到的用户操作,向终端设备120发送控制信息,以对终端设备120中与音频播放相关的功能进行控制,比如切换至上一首、切换至下一首、音量调节、接听/挂断电话等等。

蓝牙低功耗音频(Bluetooth Low Energy Audio,BLE-Audio,也称为LE-Audio),是蓝牙协议的一项新的音频传输技术,给人们带来更低功耗、更低成本、更高质量、以及更低延迟的无线音频服务,而TWS耳机是当下市场最火的蓝牙产品之一。

BLE Audio提供了CSIP(Coordinated Set Identification Profile,协调集识别配置文件)协议,可以让属于同一个组合中的设备在与外部设备交互时,达成协调同步的目的。该协议中主要说明了外部设备如何将一个组合中的多个独立的设备识别为同一个组合。针对属于同一个组合中的多个设备,要想同时与外部设备一起使用的话,每一个设备都需要跟外部设备建立独立的BLE Audio连接,同时可以根据获取到的每个设备的组合标识信息,比如,组合标识解析值(Set Identity Resolving Key,SIRK)进行判断,将具有相同SIRK值的设备组成一个组合。

针对首次连接,支持BLE Audio的TWS耳机,在耳机开盖时,两只耳机会发送LEAudio广播,用户选择连接一只耳机时,手机(终端设备)先与该耳机1进行连接,以建立LEAudio连接,并获取该耳机的SIRK,此时,耳机1可以正常与手机之间进行语音数据的交互。手机在收到耳机2的LE Audio广播时,可以解析判断此耳机2与当前连接的耳机1是否属于相同的协调集(即是否属于相同的设备分组)。

请参考图2,其示出了本申请涉及的RSI值的消息结构图。如图2所示,LE Audio广播消息中的RSI值包含hash值和prand字段,其中,prand字段包含随机部分和固定部分(即结尾的1和0)。hash值可以由SIRK和prand字段计算得到。

手机根据耳机1的SIRK,与耳机2的广播消息携带的RSI值中的prand字段,计算出一个hash值,然后将计算得到的hash值与耳机2的广播消息中的RSI值的hash字段比对,确定两者是否一致。若两者一致,则手机自动与另一只耳机2建立LE Audio连接。

请参考图3,其示出了本申请涉及的音频连接示意图。如图3所示,手机与TWS耳机建立LE-Audio的过程可以如下:

S31,TWS耳机中的耳机1和耳机2发送LE-Audio广播。

其中,TWS耳机的耳机盒打开之后,耳机1和耳机2将各自发送LE-Audio广播。

S32,手机打开蓝牙低功耗LE扫描后,扫描到耳机1发送的LE-Audio广播(广播1)。

S33,用户点击连接耳机1,手机与耳机1之间建立LE连接,向耳机1发起服务查询,根据服务查询结果与耳机1建立LE-Audio连接。

S34,手机向耳机1获取SIRK。

S35,手机扫描到耳机2发送的LE-Audio广播(广播2)。

S36,手机根据耳机1的SIRK以及广播2中的RSI值的prand字段计算hash值。

S37,手机判断计算出hash值与广播2中的hash字段是否一致;若是,进入S38,否则结束。

S38,手机与耳机2之间建立LE连接,向耳机2发起服务查询,根据服务查询结果与耳机2建立LE-Audio连接。

其中,上述步骤S36与后续的步骤S35至步骤S38之间的执行顺序并不限定,也就是说,步骤S36与步骤S35至步骤S38可以同步执行,也可以按照先后顺序执行。比如,手机在执行步骤S36的同时,还可以执行步骤S35至步骤S38。

请参考图4,其示出了本申请涉及的服务查询示意图。如图4所示,上述服务查询的过程,是指客户端41(Client)向服务端42(Server)查询其支持的各项属性的过程。其中,在服务查询过程中,客户端41向服务端42发送ATT(Attribute,属性)请求/命令,服务端42向客户端41返回ATT响应,该ATT响应中包含服务端42支持的属性的相关信息。

在LE-Audio协议中,服务查询的结果为通用属性协调集协议(Generic AttributeProfile,GATT)结构信息。请参考图5,其示出了本申请涉及的GATT结构示意图。

如图5所示,GATT结构信息指示服务端支持的一致多项服务(service),每项服务对应有自己的特征(characteristic)、描述(descriptor)等字段,在服务查询过程中,每一个字段都需要进行单独的ATT查询,因此,当service较多且其内容较复杂时,需要花费的ATT查询的时间将会很多。

由于LE-Audio底层采用的是GATT协议的连接架构,无论是手机端还是耳机端支持的service都较多,因此,两边的服务查询流程耗时都较长,以目前LE-audio需要用到的协议为例,手机针对单个耳机的服务查询时间需要2~3秒钟左右,两只耳机的时间需要5~6s,导致首次LE-Audio的连接速度非常慢,影响用户体验。

请参考图6,其示出了本申请一个示例性实施例提供的连接建立方法的流程图。该方法可以用于终端设备中;其中,该终端设备可以是上述图1所示系统中的终端设备120。该方法可以包括如下步骤。

步骤601,接收第一音频设备发送的蓝牙广播消息。

在本申请实施例中,第一音频设备可以是图1所示系统中的音频设备110。

其中,第一音频设备可以周期性的发送蓝牙广播消息,以便周围的终端设备可以发现该第一音频设备。

步骤602,当第一音频设备与第二音频设备属于同一设备分组时,根据第二音频设备的属性支持信息与第一音频设备建立音频连接;第二音频设备是终端设备已连接或确定连接的音频设备;属性支持信息用于指示音频设备支持的服务。

其中,第二音频设备是终端设备已连接的音频设备,可以是指终端设备已经与第二音频设备之间建立了音频连接或者底层连接。

上述第二音频设备是终端设备确定连接的音频设备,可以是指终端设备接收到与第二音频设备之间建立音频连接的指令,且终端尚未完成与第二音频设备之间的音频连接或者底层连接的建立。

当第一音频设备和第二音频设备属于同一个设备分组时,比如,第一音频设备和第二音频设备组成一对TWS耳机时,第一音频设备和第二音频设备支持的属性类型是相同的,因此,在建立音频连接时,如果第二音频设备是终端设备已连接或确定连接的音频设备,则终端设备可以使用第二音频设备的属性支持信息来建立与第一音频设备之间的音频连接,不需要再通过服务查询的方式向第一音频设备查询其支持的属性,从而节省了对第一音频设备进行服务查询的步骤。

综上所述,通过本申请实施例所示的方案,终端设备在接收到第一音频设备发送的蓝牙广播消息时,在已经与第二音频设备建立了音频连接的情况下,若第一音频设备与第二音频设备属于同一设备分组,则根据第二音频设备的属性支持信息与第一音频设备建立音频连接,节省了向第一音频设备进行服务查询的过程,极大的缩短了音频连接的建立时间,提高了音频连接的建立效率。

在上述6所示的方案的一种可能的实现方式中,终端设备可以获取第二音频设备的组合标识信息,并根据该第二音频设备的组合标识信息来确定第一音频设备和第二音频设备是否属于同一个设备分组。当根据该第二音频设备的组合标识信息确定第一音频设备和第二音频设备属于同一个设备分组时,即可以根据第二音频设备的属性支持信息与第一音频设备建立音频连接。

基于上述图6所示的方案,请参考图7,其示出了本申请一个示例性实施例提供的连接建立方法的流程图。以终端设备是手机,第一音频设备和第二音频设备是TWS蓝牙耳机,建立的连接为LE-Audio连接为例,该方法可以包括如下步骤。

步骤701,耳机开盖,耳机1和耳机2进配对后开始发送蓝牙低功耗广播。

步骤702,手机打开蓝牙,同时开启BLE扫描。

步骤703,手机首先扫描到耳机1发送的广播,与耳机1完成底层LE链路的连接。

步骤704,手机向耳机1获取耳机1的SIRK;同时,手机对耳机1发起服务查询,根据服务查询得到的属性支持信息建立与耳机1之间的LE-Audio协议的连接。

步骤705,手机扫描到耳机2的广播,判断耳机2与耳机1属于同一个设备分组。

步骤706,手机根据向耳机1查询得到的属性支持信息,建立与耳机1之间的LE-Audio协议的连接。

在上述步骤706中,手机不需要向耳机1发起服务查询。

在一些实施例中,在根据第二音频设备的组合标识信息确定第一音频设备与第二音频设备属于同一设备分组的过程中,终端设备在获取到第二音频设备的组合标识信息后,可以从第一音频设备获取该第一音频设备的组合标识信息,进而确定第一音频设备的组合标识信息与第二音频设备的组合标识信息是否相同,从而确定第一音频设备与第二音频设备是否属于同一设备分组。

请参考图8,其示出了本申请一个示例性实施例提供的连接建立方法的流程图。该方法可以由终端设备执行;其中,该终端设备可以是图1所示系统中的终端设备120。该方法可以包括如下步骤。

步骤801,终端设备接收第二音频设备发送的蓝牙广播消息。

在本申请实施例中,终端设备打开蓝牙扫描功能后,可以接收周围的音频设备发送的蓝牙广播消息。

步骤802,终端设备执行与第二音频设备之间建立音频连接的流程。

可选的,终端设备接收到第二音频设备发送的蓝牙广播消息后,可以在蓝牙扫描界面上显示第二音频设备的信息,此时,若接收到用户对蓝牙扫描界面上显示的第二音频设备的选项的点击操作,则终端设备可以接收到与第二音频设备建立连接的指令,则终端设备可以执行与第二音频设备之间建立音频连接的流程。

其中,上述终端设备与第二音频设备之间建立音频连接的流程可以包括如下子步骤:

S802a,终端设备建立与第二音频设备之间的底层连接。

以蓝牙低功耗场景为例,终端设备可以与第二音频设备之间建立底层LE连接,并通过底层LE连接与第二音频设备之间进行密钥协商,以实现链路层数据的加密。

其中,上述底层LE连接建立以及链路层数据加密等步骤可以按照BLE标准中规定的方式执行。

S802b,终端设备向第二音频设备发起服务查询,获得第二音频设备的属性支持信息。

其中,终端设备向第二音频设备发起的服务查询过程,可以查询第二音频设备支持哪些服务,以及第二音频设备支持的服务对应的能力/属性等信息。

比如,终端设备可以向第二音频设备查询以下信息中的至少一种:

1)第二音频设备是否支持媒体播放功能;

2)第二音频设备是否支持通话功能;

3)第二音频设备是否支持操作控制;

4)第二音频设备支持哪些操作控制(比如,是否支持暂停播放操作、是否支持下一曲的切换操作、是否支持上一曲的切换操作等等);

5)第二音频设备的编码能力/编码方式;

6)第二音频设备使用的编码参数。

其中,在上终端设备对第二音频设备发起服务查询时,终端设备可以向第二音频设备发送服务查询指令,第二音频设备接收到该服务查询指令后,可以向终端设备返回其支持的服务的相关信息。

其中,上述服务查询的过程可以按照BLE标准(例如LE Audio协议的相关标准)中规定的方式执行。查询到的属性支持信息的信息结构可以参考上述图5所示的结构。

S802c,终端设备根据第二音频设备的属性支持信息,与第二音频设备之间建立音频连接。

终端设备与第二音频设备之间建立音频连接时,可以根据步骤802b中查询到的,与第二音频设备支持的服务相关的信息发送音频连接建立请求。

比如,终端设备在完成对第二音频设备的服务查询之后,可以向第二音频设备发送用于配置音频连接的指令,比如ATT协议(Attribute Protocol,属性协议)写指令,该ATT写指令用于在音频设备中写入第二音频连接的相关配置信息,以完成音频连接的例。相应的,第二音频设备接收到该ATT写指令之后,根据ATT写指令中的相关配置信息来执行对音频连接的配置。

其中,上述音频连接的建立过程可以按照BLE标准(例如LE Audio协议的相关标准)中规定的音频连接建立方式来执行。

此外,终端设备与第二音频设备之间建立音频连接的流程还可以包括:

S802d,终端设备向第二音频设备发起标识查询,获得第二音频设备的组合标识信息。

在本申请实施例中,在建立与第二音频设备之间的底层连接后,终端设备还可以向第二音频设备查询其组合标识信息。

比如,以BLE协议为例,上述底层连接为底层LE连接时,上述组合标识信息可以是SIRK。

步骤803,终端设备接收第一音频设备发送的蓝牙广播消息。

其中,上述第一音频设备是第二音频设备之外的另一个蓝牙设备。在本申请实施例中,终端设备接收到第一音频设备发送的蓝牙广播消息,且确定该蓝牙广播消息的发送方不是第二音频设备时,可以执行后续步骤。

步骤804,终端设备获取第二音频设备的组合标识信息。

在本申请实施例中,步骤804可以在步骤802之后执行,也可以在步骤802执行的过程中执行。在步骤804执行时,终端设备已经与第二音频设备之间建立了底层连接或者音频连接;或者,在步骤804时,终端设备已经接收到了与第二音频设备进行连接的指令。也就是说,此时终端设备已连接或确定连接上述第二音频设备。

在一种可能的实现方式中,当终端设备已经向第二音频设备查询到第二音频设备的组合标识信息(比如按照上述S802d的流程查询到第二音频设备的组合标识信息)时,在步骤804中,可以直接从本地读取查询到第二音频设备的组合标识信息。

在另一种可能的实现方式中,当终端设备尚未向第二音频设备查询到第二音频设备的组合标识信息时,在步骤804中,终端设备可以按照上述S802d的流程,向第二音频设备查询其组合标识信息。此时,步骤804与上述S802d为同一个步骤。

步骤805,终端设备获取第一音频设备的组合标识信息。

在本申请实施例中,终端设备可以向第一音频设备查询该第一音频设备的组合标识信息。

比如,终端设备可以建立与第一音频设备之间的底层连接,并通过与第一音频设备之间的底层连接,向第一音频设备查询其组合标识信息。

在一种可能的实现方式中,第一音频设备发送的蓝牙广播消息中包含第一哈希字段;

在获取第一音频设备的组合标识信息之前,终端设备可以根据第二音频设备的组合标识信息生成第二哈希字段;当第一哈希字段与第二哈希字段相同时,建立与第一音频设备之间的底层连接。

以BLE协议为例,在本申请实施例中,第一音频设备发送的蓝牙广播消息的RSI值中包含第一哈希字段以及prand字段,终端设备可以提取第一音频设备发送的蓝牙广播消息中的第一哈希字段以及prand字段,根据提取到的prand字段和第二音频设备的SIRK做哈希计算,得到第二哈希字段,当比对确定第一哈希字段与第二哈希字段相同时,终端设备可以建立与第一音频设备之间的底层连接。

步骤806,当第一音频设备的组合标识信息与第二音频设备的组合标识信息相同时,终端设备确定第一音频设备与第二音频设备属于同一设备分组。

在本申请实施例中,终端设备通过与第一音频设备之间的底层连接获取到第一音频设备的组合标识信息之后,将其与第二音频设备的组合标识信息进行比对,若两者一致,则第一音频设备的组合标识信息与第二音频设备的组合标识信息匹配,即认为第一音频设备与第二音频设备属于同一设备分组。

步骤807,当第一音频设备与第二音频设备属于同一设备分组时,终端设备根据第二音频设备的属性支持信息与第一音频设备建立音频连接。

在一种可能的实现方式中,当第一音频设备与第二音频设备属于同一设备分组时,根据第二音频设备的属性支持信息与第一音频设备建立音频连接,包括:

当第一音频设备与第二音频设备属于同一设备分组时,将第二音频设备的属性支持信息获取为第一音频设备的属性支持信息;

根据第一音频设备的属性支持信息,与第一音频设备建立音频连接。

在本申请实施例中,当终端设备确定第一音频设备与第二音频设备属于同一设备分组时,可以认为第一音频设备与第二音频设备是同一套音频设备,比如同一副TWS耳机,可以认为两者的属性支持信息(比如上述GATT结构信息)也是相同的,此时,终端设备可以直接使用第二音频设备的组合标识信息与第一音频设备建立音频连接,不需要再向第一音频设备查询属性支持信息。

在一种可能的实现方式中,终端设备根据第二音频设备的属性支持信息与第一音频设备建立音频连接之前,还可以将第二音频设备的属性支持信息,复用为第一音频设备的属性支持信息。

比如,在一个示例性的方案中,终端设备在确定上述第一哈希字段与第二哈希字段相同之后,或者,在建立与第一音频设备之间的底层连接之后,即可以将第二音频设备的属性支持信息,暂时复用为第一音频设备的属性支持信息。

再比如,在另一个示例性的方案中,终端设备在确定第一音频设备与第二音频设备属于同一设备分组后,将第二音频设备的属性支持信息,复用为第一音频设备的属性支持信息。

在本申请实施例中,当属性支持信息包括GATT结构信息时,终端设备将第二音频设备的属性支持信息复用为第一音频设备的属性支持信息之后,除了根据该属性支持信息与第一音频设备建立音频连接之外,还可以进一步读取GATT结构信息中的各字段对应的参数值。对于第一音频设备和第二音频设备来说,当两者属于同一设备分组时,两者的GATT结构信息虽然相同,但是两者的GATT结构信息中的字段对应的参数值可能是不同的。

步骤808,当第一音频设备的组合标识信息与第二音频设备的组合标识信息不同时,终端设备通过底层连接,向第一音频设备发起服务查询,获得第一音频设备的属性支持信息。

在本申请实施例中,若第一音频设备的组合标识信息与第二音频设备的组合标识信息不同,则终端设备可以认为第一音频设备与第二音频设备不是同一套音频设备,两者的属性支持信息可能不同,此时,终端设备可以向第一音频设备发起服务查询。

步骤809,终端设备根据第一音频设备的属性支持信息,与第一音频设备建立音频连接。

其中,在BLE协议场景下,上述蓝牙广播消息可以为蓝牙低功耗LE广播消息,上述音频连接可以为蓝牙低功耗LE音频连接。

其中,上述第一音频设备和第二音频设备可以为真无线立体声TWS耳机。

请参考图9,其示出了本申请实施例涉及的一种音频连接的流程图。如图9所示,以BLE协议场景下,终端设备是手机,第一音频设备和第二音频设备是一副耳机为例,该音频连接的流程可以如下:

S901,耳机开盖,耳机1和耳机2进配对后开始发送蓝牙低功耗广播。

S902,手机打开蓝牙,同时开启BLE扫描。

S903,手机首先扫描到耳机1发送的广播1,与耳机1完成底层LE链路的连接。

S904,手机向耳机1获取耳机1的SIRK1;同时,手机对耳机1发起服务查询,根据服务查询得到的GATT结构建立与耳机1之间的LE-Audio协议的连接。

S905,手机扫描到耳机2的广播2,根据SIRK1与广播2中的信息计算哈希值。

S906,手机判断计算得到的哈希值与广播2中的哈希字段是否相同;若是,进入S907,否则结束。

S907,手机与耳机2完成底层LE链路的连接。

S908,暂时复用耳机1的GATT结构,作为耳机2的GATT结构。

S909,手机向耳机2获取耳机2的SIRK2。

S910,手机判断SIRK1与SIRK2是否一致;若是,进入S911,否则,进入S912。

S911,使用复用的耳机1的GATT结构,与耳机2建立LE-Audio协议的连接。

S912,对耳机1发起服务查询;根据服务查询得到的GATT结构建立与耳机2之间的LE-Audio协议的连接。

在上述图9所示的方案中,当手机解析到耳机2的广播中的哈希字段与广播内容计算出来的hash值一致时,手机发起对耳机2的LE连接。

由于耳机1和耳机2代码是同一套代码,只是两种初始化的角色不同,因此两者的GATT结构是相同的,也可以变相认为是同一个设备,只是两者之间可能一些属性值不同,比如左耳耳机在与手机的协议连接阶段会配置接收左声道数据,右耳耳机会配置接收左声道数据。因此,对于手机来说没有必要针对耳机2再做一遍服务发现及查询的过程。在本申请实施例中,当手机主动发起对耳机2的LE连接时,手机先暂时复用耳机1的GATT结构给耳机2,同时进行对耳机2的SIRK读取步骤。

由于上述方案中,手机通过底层LE连接查询耳机的SIRK,因此,SIRK可以采取加密的方式进行传输,即查询到的SIRK是基于底层LE连接且经过加密得到的SIRK,其是唯一且安全的。当手机获取到SIRK2后,手机将耳机1与耳机2的SIRK进行对比,如果发现一致,说明这两耳机是一对,因为通常情况下,SIRK是产品出厂固化的,只有是匹配成对的耳机才拥有相同的SIRK。至此,手机将直接复用耳机1的GATT结构给耳机2,省去针对耳机2的服务查询过程,随后发起对耳机2的LE-Audio协议连接。

如果手机发现SIRK1与SIRK2不一致,则说明耳机2并非与耳机1一对,有可能是外部设备盗用耳机1的广播内容进行伪造,此时手机不会将耳机1与耳机2认为是一副设备。而手机也需要单独针对耳机2进行完整的服务查询以及LE-audio协议的连接。

通过本申请上述方案,一方面,在保证安全的情况下,手机通过复用耳机1的GATT结构,从而省去手机针对耳机2的服务查询环节,进而节省出2~3s的连接时间。并且,如果外围设备数量更多,即多个外部设备组成一个Group并且都支持CSIP协议时,通过此方案可以节省出更多的连接时间。

另一方面,增加了SIRK的判断环节,而不是简单地通过耳机2广播字段的解析来判断耳机2和耳机1为一对设备,因为广播内容容易被外部设备所伪造,即第三方设备盗用耳机1的广播内容进行LE广播,使手机误认为该三方设备和耳机1为一组设备而直接复用其GATT结构,但其实该三方设备的GATT结构和耳机1并不相同,最终会导致手机与该三方设备无法正常进行工作,同时也存在通信安全等风险。通过对SIRK的判断,可以对两个设备是否会一副设备进行深层次的判断,保证其安全性。

综上所述,通过本申请实施例所示的方案,终端设备在接收到第一音频设备发送的蓝牙广播消息时,在已经与第二音频设备建立了音频连接的情况下,若第一音频设备与第二音频设备属于同一设备分组,则根据第二音频设备的属性支持信息与第一音频设备建立音频连接,节省了向第一音频设备进行服务查询的过程,极大的缩短了音频连接的建立时间,提高了音频连接的建立效率。

在另一些实施例中,在根据第二音频设备的组合标识信息确定第一音频设备与第二音频设备属于同一设备分组时,终端设备在获取到第二音频设备的组合标识信息后,通过第一音频设备发送的蓝牙广播消息,即可以确定第一音频设备与第二音频设备是否属于同一设备分组。

请参考图10,其示出了本申请一个示例性实施例提供的连接建立方法的流程图。该方法可以由终端设备和音频设备交互执行;其中,该音频设备可以是上述图1所示系统中的音频设备110,该终端设备可以是图1所示系统中的终端设备120。该方法可以包括如下步骤。

步骤1001,终端设备接收第二音频设备发送的蓝牙广播消息。

步骤1002,终端设备执行与第二音频设备之间建立音频连接的流程。

步骤1003,终端设备接收第一音频设备发送的蓝牙广播消息。

步骤1004,终端设备获取第二音频设备的组合标识信息。

其中,上述步骤1001至步骤1004的执行过程,与图8所示实施例中的步骤801至步骤804的执行过程类似,此处不再赘述。

步骤1005,终端设备根据第二音频设备的组合标识信息生成第二哈希字段。

步骤1006,当第一哈希字段与第一音频设备发送的蓝牙广播消息中的第二哈希字段相同时,确定第一音频设备与第二音频设备属于同一设备分组。

在本申请实施例中,上述第二哈希字段的计算方式可以参考上述图8所示实施例中的描述,此处不再赘述。

步骤1007,当第一音频设备与第二音频设备属于同一设备分组时,终端设备根据第二音频设备的属性支持信息与第一音频设备建立音频连接。

在本申请实施例中,终端设备在根据第一广播消息和第二音频设备的组合标识信息,确定出第一音频设备与第二音频设备属于同一设备分组后,可以直接根据第二音频设备的属性支持信息与第一音频设备建立音频连接,不需要再进行组合标识信息的直接比对,从而进一步缩短了音频连接的时长。

综上所述,通过本申请实施例所示的方案,终端设备在接收到第一音频设备发送的蓝牙广播消息时,在已经与第二音频设备建立了音频连接的情况下,若第一音频设备与第二音频设备属于同一设备分组,则根据第二音频设备的属性支持信息与第一音频设备建立音频连接,节省了向第一音频设备进行服务查询的过程,极大的缩短了音频连接的建立时间,提高了音频连接的建立效率。

请参考图11,其示出了本申请一个示例性实施例提供的在连接建立装置的结构示意图。该连接建立装置1100可以用于执行如上述图6或图8所示的实施例中,由终端设备执行的全部或者部分步骤;该装置包括:

广播接收模块1101,用于接收第一音频设备发送的蓝牙广播消息;

连接建立模块1102,用于当所述第一音频设备与所述第二音频设备属于同一设备分组时,根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接;

其中,所述第二音频设备是所述终端设备已连接或确定连接的音频设备;所述属性支持信息用于指示音频设备支持的服务。

在一种可能的实现方式中,所述装置还包括:

第一标识信息获取模块,用于在所述连接建立模块根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接之前,获取所述第二音频设备的组合标识信息;所述组合标识用于指示音频设备所属的设备分组;

所述连接建立模块1102,用于当根据所述第二音频设备的组合标识信息确定所述第一音频设备与所述第二音频设备属于同一设备分组时,根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接。

在一种可能的实现方式中,所述蓝牙广播消息中包含第一哈希字段;

所述装置还包括:

第一字段生成模块,用于在所述连接建立模块1102根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接之前,根据所述第二音频设备的组合标识信息生成第二哈希字段;

第一确定模块,用于当所述第一哈希字段与所述第二哈希字段相同时,确定所述第一音频设备与所述第二音频设备属于同一设备分组。

在一种可能的实现方式中,所述装置还包括:

第一标识信息获取模块,用于在所述连接建立模块1102根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接之前,获取所述第一音频设备的组合标识信息;

第二确定模块,用于当所述第一音频设备的组合标识信息与所述第二音频设备的组合标识信息相同时,确定所述第一音频设备与所述第二音频设备属于同一设备分组。

在一种可能的实现方式中,所述蓝牙广播消息中包含第一哈希字段;

所述装置还包括:

第一字段生成模块,用于在所述第一标识信息获取模块获取所述第一音频设备的组合标识信息之前,根据所述第二音频设备的组合标识信息生成第二哈希字段;

连接建立模块1102,还用于当所述第一哈希字段与所述第二哈希字段相同时,建立与所述第一音频设备之间的底层连接。

在一种可能的实现方式中,所述第一标识信息获取模块,用于通过所述底层连接,向所述第一音频设备获取所述第一音频设备的组合标识信息。

在一种可能的实现方式中,所述装置还包括:

服务查询模块,用于当所述第一音频设备的组合标识信息与第二音频设备的组合标识信息不同时,通过所述底层连接,向所述第一音频设备发起服务查询,获得所述第一音频设备的属性支持信息;

所述连接建立模块1102,还用于根据所述第一音频设备的属性支持信息,与所述第一音频设备建立音频连接。

在一种可能的实现方式中,所述蓝牙广播消息为蓝牙低功耗LE广播消息;所述音频连接为蓝牙低功耗LE音频连接。

在一种可能的实现方式中,所述组合标识信息为组合标识解析值SIRK;所述属性支持信息为通用属性协调集协议GATT结构信息。

在一种可能的实现方式中,所述第一音频设备和所述第二音频设备为真无线立体声TWS耳机。

综上所述,通过本申请实施例所示的方案,终端设备在接收到第一音频设备发送的蓝牙广播消息时,在已经与第二音频设备建立了音频连接的情况下,若第一音频设备与第二音频设备属于同一设备分组,则根据第二音频设备的属性支持信息与第一音频设备建立音频连接,节省了向第一音频设备进行服务查询的过程,极大的缩短了音频连接的建立时间,提高了音频连接的建立效率。

需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

请参考图12,其示出了本申请一个实施例提供的计算机设备1200的结构示意图。该计算机设备1200可以包括:处理器1201、接收器1202、发射器1203、存储器1204和总线1205。

处理器1201包括一个或者一个以上处理核心,处理器1201通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。

接收器1202和发射器1203可以实现为一个通信组件,该通信组件可以是一块通信芯片。该通信芯片也可以称为收发器。

存储器1204通过总线1205与处理器1201相连。

存储器1204可用于存储计算机程序,处理器1201用于执行该计算机程序,以实现上述方法实施例中的各个步骤。

此外,存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,电可擦除可编程只读存储器,可擦除可编程只读存储器,静态随时存取存储器,只读存储器,磁存储器,快闪存储器,可编程只读存储器。

在一个示例性的方案中,当计算机设备1200实现为终端设备时,所述收发器1202,用于接收第一音频设备发送的蓝牙广播消息;

处理器1201,当所述第一音频设备与第二音频设备属于同一设备分组时,根据所述第二音频设备的属性支持信息与所述第一音频设备建立音频连接;其中,所述第二音频设备是所述终端设备已连接或确定连接的音频设备;所述属性支持信息用于指示音频设备支持的服务。

其中,上述计算机设备1200中的处理器1201和/或收发器1202执行的过程可以参考上述各个方法实施例中,由终端设备执行的各个步骤。

本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机指令,所述计算机指令由处理器加载并执行以实现上述各个方法实施例中,由终端设备或者音频设备执行的全部或者部分步骤。

本申请还提供了一种芯片,该芯片用于在计算机设备中运行,以使得计算机设备执行上述各个方法实施例中,由终端设备执行的全部或者部分步骤。

本申请还提供了一种计算机程序产品,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。上述计算机程序产品可以用于实现上述各个方法实施例中,由终端设备执行的全部或者部分步骤。

本申请还提供了一种计算机程序产品,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行上述各个方法实施例中,由终端设备执行的全部或者部分步骤。

本申请还提供了一种计算机程序,该计算机程序由计算机设备的处理器执行,以实现上述各个方法实施例中,由终端设备执行的全部或者部分步骤。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

相关技术
  • 连接建立方法、装置、设备、存储介质及程序产品
  • 连接建立方法、装置、设备、存储介质及程序产品
技术分类

06120114690900