CN106921908B - 一种蓝牙音箱实现方法和系统 - Google Patents

一种蓝牙音箱实现方法和系统 Download PDF

Info

Publication number
CN106921908B
CN106921908B CN201710184275.9A CN201710184275A CN106921908B CN 106921908 B CN106921908 B CN 106921908B CN 201710184275 A CN201710184275 A CN 201710184275A CN 106921908 B CN106921908 B CN 106921908B
Authority
CN
China
Prior art keywords
bluetooth
module
native
service program
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710184275.9A
Other languages
English (en)
Other versions
CN106921908A (zh
Inventor
钟波
肖适
刘志明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Jimi Technology Co Ltd
Original Assignee
Chengdu Jimi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Jimi Technology Co Ltd filed Critical Chengdu Jimi Technology Co Ltd
Priority to CN201710184275.9A priority Critical patent/CN106921908B/zh
Publication of CN106921908A publication Critical patent/CN106921908A/zh
Application granted granted Critical
Publication of CN106921908B publication Critical patent/CN106921908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2430/00Signal processing covered by H04R, not provided for in its groups

Abstract

本发明施例提供一种蓝牙音箱实现方法和系统,应用于与第一终端通信连接的蓝牙音箱,涉及蓝牙应用技术领域。该方法首先启动所述蓝牙音箱,确认该蓝牙音箱为SINK端,然后通过Init进程启动Native蓝牙服务程序,最后,通过所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DP SINK协议初始化,使得所述蓝牙音箱配置为被发现状态。本发明实施例能够有效缩短开机过程中蓝牙音箱模式的准备时间,提升用户体验。

Description

一种蓝牙音箱实现方法和系统
技术领域
本发明涉及蓝牙应用技术领域,具体而言,涉及一种蓝牙音箱实现方法和系统。
背景技术
基于Android系统的蓝牙音频系统一般为Source和Sink两种模式,其中,当设备处于Sink模式时,可以接收来自手机等终端设备Source端的音频数据,从而实现蓝牙音箱的功能。经发明人研究发现,现有的Android蓝牙开机初始化流程较多,耗时较长,且在终端设备作为单纯蓝牙音箱的场景时,还需要等待Android启动完蓝牙的相关服务后才能进入,导致用户等待时间较长,体验较差。
发明内容
有鉴于此,本发明实施例提供一种蓝牙音箱实现方法和系统,能够有效缩短开机过程中蓝牙音箱模式的准备时间,提升用户体验。
本发明较佳实施例提供一种蓝牙音箱实现方法,应用于与第一终端通信连接的蓝牙音箱中,所述方法包括以下步骤:
启动所述蓝牙音箱,确认该蓝牙音箱为SINK端;
通过Init进程启动Native蓝牙服务程序;
所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DP SINK协议初始化,使得蓝牙音箱配置为被发现状态。
在本发明较佳实施例的选择中,所述方法还包括:
确认所述第一终端为SOURCE端,获取该SOURCE端的第一设备参数并保存;
根据所述第一设备参数建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
在本发明较佳实施例的选择中,所述方法还包括:
所述SINK端接收所述SOURCE端发送的音频数据,并发送给所述Native蓝牙服务程序;
所述Native蓝牙服务程序对接收到的音频数据进行重采样,将重采样的音频数据写入扬声器对应的声卡中进行音频播放。
在本发明较佳实施例的选择中,当所述蓝牙音箱再次启动时,所述方法还包括:
确认第二终端为SOURCE端,获取该SOURCE端的第二设备参数;
判断所述SINK端的配对历史记录列表中是否包括所述第二设备参数,若包括,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
在本发明较佳实施例的选择中,所述通过Init进程启动Native蓝牙服务程序的步骤包括:
创建一个采用c代码编译的Native蓝牙服务程序;
在Android系统根目录下的Init.rc中注册一个蓝牙服务,当Init进程解析rc文件时启动Native蓝牙服务程序。
本发明较佳实施例还提供一种蓝牙音箱实现系统,应用于与第一终端通信连接的蓝牙音箱中,所述蓝牙音箱实现系统包括:
第一启动模块,用于启动所述蓝牙音箱,确认该蓝牙音箱为SINK端;
第二启动模块,用于通过Init进程启动Native蓝牙服务程序;
初始化模块,用于所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DP SINK协议初始化,使得蓝牙音箱配置为被发现状态。
在本发明较佳实施例的选择中,所述蓝牙音箱实现系统还包括:
参数获取模块,用于确认所述第一终端为SOURCE端,获取该SOURCE端的第一设备参数并保存;
链路建立模块,用于根据所述第一设备参数建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
在本发明较佳实施例的选择中,所述蓝牙音箱实现系统还包括:
接收模块,用于所述SINK端接收所述SOURCE端发送的音频数据,并发送给所述Native蓝牙服务程序
音频播放模块,用于所述Native蓝牙服务程序对接收到的音频数据进行重采样,将重采样的音频数据写入扬声器对应的声卡中进行音频播放。
在本发明较佳实施例的选择中,所述参数获取模块还用于确认第二终端为SOURCE端,获取该SOURCE端的第二设备参数;
所述蓝牙音箱实现系统还包括:
判断模块,用于判断所述SINK端的配对历史记录列表中是否包括所述第二设备参数,若包括,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
在本发明较佳实施例的选择中,所述第二启动模块包括:
创建子模块,用于创建一个采用c代码编译的Native蓝牙服务程序;
启动子模块,用于在Android系统根目录下的Init.rc中注册一个蓝牙服务,当Init进程解析rc文件时启动Native蓝牙服务程序。
与现有技术相比,本发明实施例提供的蓝牙音箱实现方法和系统,通过Init进程直接启动蓝牙音箱中的Native蓝牙服务程序,有效加快了开机过程中蓝牙音箱模式的准备时间,提升用户体验。
进一步地,本发明给出的蓝牙音箱实现方法在进行音频数据传输时,可将接收到的音频数据直接写入扬声器对应的声卡中,有效避免了音频播放过程中的延迟。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种应用蓝牙音箱实现系统的蓝牙音箱的方框结构示意图。
图2为本发明实施例提供的一种蓝牙音箱实现方法的流程示意图。
图3为图2所示的步骤S102的子流程示意图。
图4为本发明实施例提供的一种蓝牙音箱实现方法的另一流程示意图。
图5为本发明实施例提供的一种蓝牙音箱实现系统的方框示意图。
图6为图5所示的第二启动模块的子模块方框示意图。
图标:10-蓝牙音箱;100-蓝牙音箱实现系统;101-第一启动模块;102-第二启动模块;1020-创建子模块;1022-启动子模块;104-初始化模块;106-参数获取模块;108-链路建立模块;110-接收模块;112-音频播放模块;114-判断模块;200-存储器;300-存储控制器;400-处理器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,为本发明实施例提供的一种应用蓝牙音箱实现方法和系统的蓝牙音箱10的方框结构示意图。所述蓝牙音箱10包括蓝牙音箱实现系统100、存储器200、存储控制器300以及处理器400。
其中,所述存储器200、存储控制器300、处理器400各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述蓝牙音箱实现系统100包括至少一个可以软件或固件的形式存储于所述存储器200中或固化在所述蓝牙音箱10的操作系统中的软件功能模块。所述处理器400在所述存储控制器300的控制下访问所述存储器200,以用于执行所述存储器200中存储的可执行模块,例如,所述蓝牙音箱实现系统100所包括的软件功能模块及计算机程序等。
可以理解,图1所示的结构仅为示意,所述蓝牙音箱10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请结合参阅图2,本发明实施例还提供一种可应用于所述蓝牙音箱10的蓝牙音箱实现方法流程示意图,所应说明的是,本发明提供的方法不以图2及以下所述的具体顺序为限制,下面将对图2所示的具体流程进行详细阐述。
步骤S102,启动所述蓝牙音箱10,确认该蓝牙音箱10为SINK端。
在本实施例中,所述蓝牙音箱10的操作系统采用Android系统,所述蓝牙音箱10在接收并响应用户通过点击该蓝牙音箱10的开机键或者通过遥控器发送的开机启动指令,以启动该蓝牙音箱10。其中,启动所述蓝牙音箱10的具体方式可以根据需要进行设定,本实施例对此不做限制。
进一步地,在基于Android系统的蓝牙音频传输模型协议A2DP中定义了两种音频设备,一种是SOURCE端,另一种是SINK端,其中,所述SINK端作为接收端以接收所述SOURCE端发送的音频信息。在本实施例中,所述蓝牙音箱10作为该A2DP中的SINK端。
步骤S102,通过Init进程启动Native蓝牙服务程序。
具体地,请参阅图3,在本实施例中,上述步骤S104可以包括步骤S1040和步骤S1042两个步骤,具体如下。
步骤S1020,创建一个采用c代码编译的Native蓝牙服务程序。
步骤S1022,在Android系统根目录下的Init.rc中注册一个蓝牙服务。当Init进程解析rc文件时启动Native蓝牙服务程序。
在本实施例中,当所述蓝牙音箱10开启后,需创建一个Native蓝牙服务程序。由于Android系统启动初期完全运行c代码,为了提前实现对蓝牙设备的支持,本实施例使用c代码编译Native蓝牙服务程序。其中,在Init.rc文件中注册该服务,当Init进程启动后,用fork函数创建Native蓝牙服务程序,该进程为root组,无需专门设置优先级。在Android系统启动过程中,解析到Init.rc文件中蓝牙native服务相关字段时,开始运行Native蓝牙服务程序。可选地,所述蓝牙音箱10中的蓝牙硬件设备通过USB与IC连接,在所述蓝牙音箱10启动过程中加载USB驱动,再通过对USB设备进行遍历以找到相应的蓝牙USB节点,当找到该节点时即可进行驱动加载。
可选地,在Native蓝牙服务程序运行后,可使用shell脚本执行insmod命令加载蓝牙驱动,并检测是否加载完成。通过在代码中使用access函数查看蓝牙驱动节点文件是否存在,来判定驱动是否已经加载,并通过open蓝牙驱动节点文件来判定驱动是否加载完成。
步骤S104,所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DPSINK协议初始化,使得所述蓝牙音箱10配置为被发现状态。
在本实施例中,当驱动加载完成后,初始化Android系统的蓝牙协议栈。使用Android系统HAL方式,加载蓝牙协议栈库,获取bluedroid的句柄,分别调用Init和enable函数来初始化协议栈,之后蓝牙协议栈就运行在Native蓝牙服务程序中,进而使得所述蓝牙音箱10配置为被发现状态。
应注意,与基于Android系统默认的蓝牙音箱实现方法对比,本实施例中的步骤S100-步骤S104给出的蓝牙音箱实现方法通过在Init中直接启动Native蓝牙服务程序,该Native蓝牙服务程序实现了原有蓝牙音箱模式所有的功能,因此,通过Init进程直接启动蓝牙native服务程序加快了开机过程中蓝牙音箱模式的准备时间,用户体验明显。其中,在实际测试过程中,本实施例给出的蓝牙音箱实现方法可将原有开机进入蓝牙音箱模式耗时38秒缩短到20秒以内。
进一步地,在将所述蓝牙音箱10配置为被发现状态后,若需要实现SOURCE端与所述SINK端之间的音频数据传输,再请次参阅图2,所述蓝牙音箱实现方法还需执行以下步骤来对SOURCE端与所述SINK端进行配对。
步骤S106,确认所述第一终端为SOURCE端,获取该SOURCE端的第一设备参数并保存。
在本实施例中,选取第一终端为SOURCE端,并打开该SOURCE端上的蓝牙服务,以使得所述SINK端获取该SOURCE端的设备参数并保存。其中,所述设备参数可以为所述第一终端的型号、PN码等,本实施例对此不做限制。可选地,被确认为SOURCE端的所述第一终端可以为智能手机、平板电脑等终端设备。
步骤S108,根据所述第一设备参数建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
具体地,在本实施例中,所述SINK端中预先存储有用于验证获取的SOURCE端的设备参数是否符合配对条件的身份验证模块,因此,在获取到所述第一设备参数后,可对所述第一设备参数进行验证,若该第一设备参数通过所述身份验证模块的验证,则建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。应理解,所述身份验证模块的具体验证方式可以有多种,例如,密钥对等,本实施例对此不做限制。
步骤S110,所述SINK端接收所述SOURCE端发送的音频数据,并发送给所述Native蓝牙服务程序。
本实施例中,在成功建立所述SINK端与所述SOURCE端之间的连接链路后,所述SOURCE端发送音频数据给所述SINK端,该SINK端通过蓝牙协议栈将接收到的所述音频数据发送给所述Native蓝牙服务程序。
步骤S112,所述Native蓝牙服务程序对接收到的音频数据进行重采样,将重采样的音频数据写入扬声器对应的声卡中进行音频播放。
本实施例中,所述Native蓝牙服务程序需要对接收到的音频数据进行重采样后,再写入扬声器对应的声卡中进行音频播放。
其中,与基于Android系统默认的蓝牙音箱实现方法对比,本实施例在通过上述步骤S110和步骤S112进行数据传输时,不再需要将音频数据送入混音器中处理,而是直接写入到扬声器对应的声卡设备中进行音频播放,对音频播放过程中的实际延迟有一定改善。
进一步地,在成功完成一次从SOURCE端到SINK端的音频数据传输、播放后,若需要再次启动蓝牙音箱10进行音频数据传输、播放时,如图4所示,所述蓝牙音箱实现方法还包括以下步骤,具体如下。
步骤S114,确认第二终端为SOURCE端,获取该SOURCE端的第二设备参数。
步骤S116,判断所述SINK端的配对历史记录列表中是否包括所述第二设备参数,若包括,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
在本实施例中,再次通过蓝牙音箱10进行音频数据播放时,首先确认第二终端为SOURCE端,并获取该SOURCE端的第二设备参数,将获取的第二设备参数与历史记录列表中保存的SOURCE端的设备参数进行比对,若该历史记录列表中包括该第二设备参数,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路,以进行音频数据的传输。例如,在本实施例中,若所述SINK端判断出获取的所述第二设备参数与所述第一设备参数相同,则可确认所述第二终端与所述第一终端为同一设备,因此,可直接建立所述SINK端与以所述第二终端为SOURCE端之间的蓝牙连接链路。
进一步地,请结合参阅图5,为本发明实施例提供的一种可应用于所述蓝牙音箱10的蓝牙音箱实现系统100。所述蓝牙音箱实现系统100包括第一启动模块101、第二启动模块102、初始化模块104、参数获取模块106、链路建立模块108、接收模块110、音频播放模块112和判断模块114。
所述第一启动模块101用于启动所述蓝牙音箱10,确认该蓝牙音箱10为SINK端。具体地,在本实施例中,所述第一启动模块101可用于执行图2中的步骤S101,具体的操作方法可参考步骤S101的详细描述。
所述第二启动模块102用于通过Init进程启动Native蓝牙服务程序。
在本实施例中,图2中的步骤S102由所述第二启动模块102执行。可选地,在实际实施时,如图5所示,所述第二启动模块102包括创建子模块1020和启动子模块1022。
所述创建子模块1020用于创建一个采用c代码编译的Native蓝牙服务程序。具体地,在本实施例中,所述创建子模块1020可用于执行图3中的步骤S1020,具体的操作方法可参考步骤S1020的详细描述。
所述启动子模块1022用于在Android系统根目录下的Init.rc中注册一个蓝牙服务,当Init进程解析rc文件时启动Native蓝牙服务程序。具体地,在本实施例中,所述启动子模块1022可用于执行图3中的步骤S1022,具体的操作方法可参考步骤S1022的详细描述。
所述初始化模块104用于所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DP SINK协议初始化,使得所述蓝牙音箱10配置为被发现状态。具体地,在本实施例中,所述初始化模块104可用于执行图2中的步骤S104,具体的操作方法可参考步骤S104的详细描述。
所述参数获取模块106用于确认所述第一终端为SOURCE端,获取该SOURCE端的第一设备参数并保存,或用于确认第二终端为SOURCE端,获取该SOURCE端的第二设备参数。具体地,在本实施例中,所述参数获取模块106可用于执行图2中的步骤S106,也可用于执行图4中的步骤S114,具体的操作方法可参考步骤S106或步骤S114的详细描述。
所述链路建立模块108用于根据所述第一设备参数建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。具体地,在本实施例中,所述链路建立模块108可用于执行图2中的步骤S108,具体的操作方法可参考步骤S108的详细描述。
所述接收模块110用于所述SINK端接收所述SOURCE端发送的音频数据,并发送给所述Native蓝牙服务程序。具体地,在本实施例中,所述接收模块110可用于执行图2中的步骤S110,具体的操作方法可参考步骤S110的详细描述。
所述音频播放模块112用于所述Native蓝牙服务程序对接收到的音频数据进行重采样,将重采样的音频数据写入扬声器对应的声卡中进行音频播放。具体地,在本实施例中,所述音频播放模块112可用于执行图2中的步骤S112,具体的操作方法可参考步骤S112的详细描述。
所述判断模块114用于判断所述SINK端的配对历史记录列表中是否包括所述第二设备参数,若包括,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。具体地,在本实施例中,所述判断模块114可用于执行图4中的步骤S116,具体的操作方法可参考步骤S116的详细描述。
综上所述,本发明实施例提供的蓝牙音箱实现方法和系统可基于Android系统实现,与现有Android系统中默认的蓝牙音箱实现方法对比,本实施例通过Init进程直接启动Native蓝牙服务程序,加快了蓝牙音箱10的开机过程中蓝牙音箱模式的准备时间,用户体验明显。
在本发明的描述中,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的预设数量个实施例的装置、方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分。所述模块、程序段或代码的一部分包含一个或预设数量个用于实现规定的逻辑功能。
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种蓝牙音箱实现方法,其特征在于,应用于与第一终端通信连接的蓝牙音箱,该蓝牙音箱中设置有身份验证模块,所述方法包括以下步骤:
启动所述蓝牙音箱,确认该蓝牙音箱为SINK端,该SINK端用于接收作为SOURCE端的第一终端发送的音频信息;
通过Init进程启动Native蓝牙服务程序;
加载USB驱动,通过对USB设备进行遍历以找到对应的蓝牙USB节点,以进行驱动加载,并通过在代码中使用access函数查看蓝牙驱动节点文件是否存在,以判断驱动是否已经加载,并通过open蓝牙驱动节点文件判定驱动是否加载完成;
在加载完成后,所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DP SINK协议初始化,使得所述蓝牙音箱配置为被发现状态;
确认所述第一终端为SOURCE端,获取该SOURCE端的第一设备参数并保存;
利用所述身份验证模块验证所述第一设备参数,并在验证通过后根据所述第一设备参数建立所述SINK端与所述SOURCE端之间的蓝牙连接链路;
所述SINK端接收所述SOURCE端发送的音频数据,并发送给所述Native蓝牙服务程序;
所述Native蓝牙服务程序对接收到的音频数据进行重采样,将重采样的音频数据写入扬声器对应的声卡中进行音频播放。
2.根据权利要求1中所述的蓝牙音箱实现方法,其特征在于,当所述蓝牙音箱再次启动时,所述方法还包括:
确认第二终端为SOURCE端,获取该SOURCE端的第二设备参数;
判断所述SINK端的配对历史记录列表中是否包括所述第二设备参数,若包括,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
3.根据权利要求1中所述的蓝牙音箱实现方法,其特征在于,所述通过Init进程启动Native蓝牙服务程序的步骤包括:
创建一个采用c代码编译的Native蓝牙服务程序;
在Android系统根目录下的Init.rc中注册一个蓝牙服务,当Init进程解析rc文件时启动Native蓝牙服务程序。
4.一种蓝牙音箱实现系统,其特征在于,应用于与第一终端通信连接的蓝牙音箱,该蓝牙音箱中设置有身份验证模块,所述蓝牙音箱实现系统包括:
第一启动模块,用于启动所述蓝牙音箱,确认该蓝牙音箱为SINK端,该SINK端用于接收作为SOURCE端的第一终端发送的音频信息;
第二启动模块,用于通过Init进程启动Native蓝牙服务程序;
初始化模块,用于所述Native蓝牙服务程序控制加载蓝牙协议栈,并对A2DP SINK协议初始化,使得所述蓝牙音箱配置为被发现状态;
参数获取模块,用于确认所述第一终端为SOURCE端,获取该SOURCE端的第一设备参数并保存;
链路建立模块,用于利用所述身份验证模块验证所述第一设备参数,并在验证通过后根据所述第一设备参数建立所述SINK端与所述SOURCE端之间的蓝牙连接链路;
接收模块,用于所述SINK端接收所述SOURCE端发送的音频数据,并发送给所述Native蓝牙服务程序;
音频播放模块,用于所述Native蓝牙服务程序对接收到的音频数据进行重采样,将重采样的音频数据写入扬声器对应的声卡中进行音频播放;
其中,所述第二启动模块还用于加载USB驱动,通过对USB设备进行遍历以找到对应的蓝牙USB节点,以进行驱动加载,并通过在代码中使用access函数查看蓝牙驱动节点文件是否存在,以判断驱动是否已经加载,并通过open蓝牙驱动节点文件判定驱动是否加载完成。
5.根据权利要求4中所述的蓝牙音箱实现系统,其特征在于,所述参数获取模块还用于确认第二终端为SOURCE端,获取该SOURCE端的第二设备参数;
所述蓝牙音箱实现系统还包括:
判断模块,用于判断所述SINK端的配对历史记录列表中是否包括所述第二设备参数,若包括,则直接建立所述SINK端与所述SOURCE端之间的蓝牙连接链路。
6.根据权利要求4中所述的蓝牙音箱实现系统,其特征在于,所述第二启动模块包括:
创建子模块,用于创建一个采用c代码编译的Native蓝牙服务程序;
启动子模块,用于在Android系统根目录下的Init.rc中注册一个蓝牙服务,当Init进程解析rc文件时启动Native蓝牙服务程序。
CN201710184275.9A 2017-03-24 2017-03-24 一种蓝牙音箱实现方法和系统 Active CN106921908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710184275.9A CN106921908B (zh) 2017-03-24 2017-03-24 一种蓝牙音箱实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710184275.9A CN106921908B (zh) 2017-03-24 2017-03-24 一种蓝牙音箱实现方法和系统

Publications (2)

Publication Number Publication Date
CN106921908A CN106921908A (zh) 2017-07-04
CN106921908B true CN106921908B (zh) 2020-05-26

Family

ID=59461149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710184275.9A Active CN106921908B (zh) 2017-03-24 2017-03-24 一种蓝牙音箱实现方法和系统

Country Status (1)

Country Link
CN (1) CN106921908B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438638B (zh) * 2021-07-07 2023-07-28 深圳市汇顶科技股份有限公司 通信控制方法和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022805A (zh) * 2014-06-06 2014-09-03 深圳市爱美家电子科技有限公司 一种主从端蓝牙设备连接方法及装置
CN104104415A (zh) * 2014-06-18 2014-10-15 杨尧任 多个蓝牙从设备之间的通讯方法及其应用方法
CN104104414A (zh) * 2014-06-18 2014-10-15 深圳市警豹电子科技有限公司 多台蓝牙设备通讯及蓝牙设备配对信息的转送方法
CN106412656A (zh) * 2016-10-26 2017-02-15 四川长虹电器股份有限公司 Android智能设备快速连接蓝牙的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286770B (zh) * 2007-04-09 2011-07-06 艾威梯科技(北京)有限公司 自动配置蓝牙a2dp传输音频编码格式的方法和系统
US8041051B2 (en) * 2008-03-24 2011-10-18 Broadcom Corporation Dual streaming with exchange of FEC streams by audio sinks
CN102594987A (zh) * 2012-02-09 2012-07-18 深圳市中兴移动通信有限公司 一种实现蓝牙安全快速配对连接的方法
CN104572078A (zh) * 2014-12-16 2015-04-29 深圳市同洲电子股份有限公司 在Android修复模式下蓝牙功能的实现方法及系统
CN105808198A (zh) * 2014-12-29 2016-07-27 乐视移动智能信息技术(北京)有限公司 应用于安卓系统的音频文件处理方法及装置、终端
CN105630597B (zh) * 2015-12-25 2019-01-18 珠海全志科技股份有限公司 一种基于安卓的a2dp模式动态切换方法、系统及装置
CN105763936B (zh) * 2016-04-19 2019-05-31 深圳市酷开网络科技有限公司 播放音频的方法及装置
CN106101784B (zh) * 2016-05-31 2019-05-21 青岛海信电器股份有限公司 一种智能电视控制蓝牙芯片的复位方法及装置
CN106101901B (zh) * 2016-08-04 2019-06-04 惠州Tcl移动通信有限公司 一种通过近场通讯实现立体声输出的耳机及其方法
CN106528040A (zh) * 2016-11-02 2017-03-22 福建星网视易信息系统有限公司 改进安卓设备音质的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022805A (zh) * 2014-06-06 2014-09-03 深圳市爱美家电子科技有限公司 一种主从端蓝牙设备连接方法及装置
CN104104415A (zh) * 2014-06-18 2014-10-15 杨尧任 多个蓝牙从设备之间的通讯方法及其应用方法
CN104104414A (zh) * 2014-06-18 2014-10-15 深圳市警豹电子科技有限公司 多台蓝牙设备通讯及蓝牙设备配对信息的转送方法
CN106412656A (zh) * 2016-10-26 2017-02-15 四川长虹电器股份有限公司 Android智能设备快速连接蓝牙的方法

Also Published As

Publication number Publication date
CN106921908A (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
TWI435555B (zh) 用以配置通訊裝置之藍芽使用者身份模組存取規範之方法
CN111512655B (zh) 利用安全元件提供通信服务的方法及电子装置
US7305254B2 (en) System and method of software transfer between a mobile phone and a mobile phone accessory
CN104809006B (zh) 车辆和移动装置之间的软件实现的设备和方法
JP2010061659A5 (zh)
WO2013184296A1 (en) Holistic identification of an electronic device
CN105025433A (zh) 一种蓝牙配对方法及终端
WO2013184257A1 (en) Message-based identification of an electronic device
JP2018520439A (ja) 電子ユニットおよび当該電子ユニットにおいて行われる方法
EP3718292B1 (en) Electronic device for managing embedded subscriber identification module and method for same
CN110784846A (zh) 车载蓝牙设备识别方法、装置、电子设备及存储介质
CN111107518A (zh) 显示方法、车载终端、显示系统及计算机可读存储介质
KR20190138088A (ko) 다중 무선 통신 프로토콜들을 지원하는 전자 장치 및 이를 위한 방법
US20030140129A1 (en) Installing communication protocol in a handheld device
WO2019080476A1 (zh) 开启应用程序的方法和第一终端
CN106921908B (zh) 一种蓝牙音箱实现方法和系统
CN108650594B (zh) 一种音箱管理方法及用户终端、计算机存储介质
CN111541629A (zh) 模式自适应方法、装置、设备及计算机可读存储介质
CN114499700B (zh) Ap智能终端通过串口通信实现蓝牙模块产测校验的方法、装置、处理器及其存储介质
US20150312317A1 (en) Vehicle proxy lifecycle management
CN113098869B (zh) 生产测试方法、无线智能设备、上位机、电子设备及介质
CN112367362B (zh) 一种数据处理方法、装置、设备及计算机存储介质
CN105681091B (zh) 升级装置和升级方法
US11316629B2 (en) Method carried out by electronic device comprising secure element, and electronic device
CN115225627A (zh) 文件传输方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 610000 Tianfu Software Park Area A, 1129 Century City Road, Chengdu High-tech Zone, Sichuan Province

Applicant after: Chengdu Jimi Technology Co., Ltd.

Address before: No. 1129 Tianfu Software Park A District Century City high tech Zone of Chengdu City, Sichuan Province Road 610000 7 5 storey building No. 501

Applicant before: CHENGDU XGIMI TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant