logo好方法网

蓝牙传输数据的播放方法及装置、蓝牙传输数据的发送方法及装置


技术摘要:
本公开是关于一种蓝牙传输数据的播放方法及装置、蓝牙传输数据的发送方法及装置。其中蓝牙数据播放方法,应用于接收设备,接收设备与发送设备通过蓝牙连接,方法包括:由一个单独的数据接收线程接收发送设备发送的数据包,并将数据包保存在接收设备的缓冲存储区中,其  全部
背景技术:
蓝牙(Bluetooth),是一种无线技术标准,可实现固定设备,移动设备和楼宇个人 域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。当前蓝牙数 据传输在蓝牙信号较差的情况下,接收设备对多媒体数据的播放流畅性将受到影响。当发 送设备与接收设备距离较远,或者,无线传输环境的电磁干扰较强时,接收设备的音乐播放 会出现断音的问题,视频播放会发生跳帧、卡顿的问题。该问题目前是蓝牙设备普遍存在的 共性问题。 以音频数据为例,当前蓝牙音频数据传输普遍基于A2DP(Advanced  Audio  Distribution  Profile,蓝牙音频传输模型协定)传输协议,发送设备将音乐播放器当前正 在播放的音频数据压缩编码,通过蓝牙天线发送给接收设备。接收设备将接收到的音频压 缩数据解码后,再送给喇叭播放。 由于发送设备只将当前正在播放的音频数据传输给接收设备。接收设备将音频数 据,通过一个很小的缓冲存储区缓存后(一般缓冲存储区容量仅保存几百毫秒的音频数 据),由喇叭播放。一旦无线传输信号变差,接收设备无法及时接收到更多音频数据,缓冲存 储区中的音频数据全部播放,没有剩余,则接收设备会发生断音。 另外,当前蓝牙播放设备在播放时,都需要等待接收当前正在播放的数据,在缓冲 存储区存满后再进行播放,导致蓝牙设备播放进度相对于控制设备(例如智能移动终端或 PC)上的播放进度存在一定延迟,少则几十毫秒,多则几百毫秒,两个设备播放不同步,影响 用户体验。
技术实现要素:
为克服相关技术中存在的问题,本公开提供一种蓝牙传输数据的播放方法、蓝牙 传输数据的播放装置、蓝牙传输数据的发送方法、蓝牙传输数据的发送装置、电子设备及计 算机可读存储介质。 根据本公开实施例的第一方面,提供一种蓝牙传输数据的播放方法,应用于接收 设备,接收设备与发送设备通过蓝牙连接,方法包括:由一个单独的数据接收线程接收发送 设备发送的数据包,并将数据包被保存在接收设备的缓冲存储区中,其中,数据包包括当前 播放位置处的数据包和当前播放位置之后的数据包,数据包为音频数据和/或视频数据;播 放数据包。 在一实施例中,接收发送设备发送的数据包包括:当缓冲存储区没有更多剩余空 7 CN 111586152 A 说 明 书 2/12 页 间存储数据包时,停止接收新的数据包,并向发送设备反馈空间不足信息,使发送设备暂停 发送数据包;当缓冲存储区重新获得足够空间存储数据包时,向发送设备反馈空间充足信 息,使发送设备继续发送数据包。 在一实施例中,接收发送设备发送的数据包包括:对接收的每一个数据包进行数 据校验;如果校验失败,则向发送设备反馈校验失败信息,使发送设备重新发送校验失败的 数据包。 在一实施例中,播放数据包包括:由一个单独的播放控制线程接收发送设备发送 的控制命令,并根据控制命令控制数据包播放操作。 在一实施例中,数据包中包括显示时间戳位置,根据控制命令控制数据包播放操 作包括:控制命令中包括命令执行的显示时间戳位置;在缓冲存储区中,查找命令执行的显 示时间戳位置;从命令执行的显示时间戳位置对应的数据包开始,执行控制命令对应的播 放操作。 在一实施例中,根据控制命令控制数据包播放操作还包括:如果缓冲存储区中不 存在命令执行的显示时间戳位置对应的数据包,向发送设备反馈数据请求信息,使发送设 备从命令执行的显示时间戳位置开始发送数据包。 在一实施例中,数据包中不包括显示时间戳位置,根据控制命令控制数据包播放 操作包括:清空缓冲存储区;在接收发送设备发送的数据包之后,从缓冲存储区的起始位置 开始,执行所述控制命令对应的播放操作。 在一实施例中,控制命令包括开始播放,播放暂停,快进或快退。 根据本公开实施例的第二方面,提供一种蓝牙传输数据的发送方法,应用于发送 设备,发送设备与接收设备通过蓝牙连接,方法包括:将需要播放的文件划分成多个数据 包,数据包包括当前播放位置处的数据包和当前播放位置之后未播放的数据包,其中,数据 包为音频数据和/或视频数据;由一个单独的数据发送线程向接收设备发送数据包,使接收 设备将数据包保存在缓冲存储区中并播放数据包。 在一实施例中,向接收设备发送数据包包括:当收到接收设备因缓冲存储区没有 更多剩余空间存储数据包而反馈的空间不足信息时,暂停发送数据包;当收到接收设备因 缓冲存储区重新获得足够空间存储数据包而反馈的空间充足信息时,继续发送数据包。 在一实施例中,向接收设备发送数据包包括:当收到发送设备因数据包校验失败 而反馈的校验失败信息时,重新发送校验失败的数据包。 在一实施例中,方法还包括:由一个单独的命令发送线程向接收设备发送控制命 令,使接收设备根据控制命令控制数据包播放操作。 在一实施例中,数据包中包括显示时间戳位置,向接收设备发送控制命令,使接收 设备根据控制命令控制数据包播放操作,包括:控制命令中包括命令执行的显示时间戳位 置,使接收设备在缓冲存储区中,查找命令执行的显示时间戳位置,并从命令执行的显示时 间戳位置对应的数据包开始,执行所述控制命令对应的播放操作。 在一实施例中,向接收设备发送控制命令,使接收设备根据控制命令控制数据包 播放操作,还包括:接收接收设备因缓冲存储区中不存在命令执行的显示时间戳位置对应 的数据包而反馈的数据请求信息,从命令执行的显示时间戳位置开始发送数据包。 在一实施例中,数据包中不包括显示时间戳位置,向接收设备发送控制命令,使接 8 CN 111586152 A 说 明 书 3/12 页 收设备根据控制命令控制数据包播放,包括:控制命令使接收设备清空缓冲存储区,在接收 发送的数据包后,从缓冲存储区的起始位置开始,执行所述控制命令对应的播放操作。 在一实施例中,控制命令包括开始播放,播放暂停,快进或快退。 根据本公开实施例的第三方面,提供一种蓝牙传输数据的播放装置,应用于接收 设备,接收设备与发送设备通过蓝牙连接,装置包括:数据接收单元,用于通过一个单独的 数据接收线程接收发送设备发送的数据包,并将数据包保存在接收设备的缓冲存储区中, 其中,数据包包括当前播放位置处的数据包和当前播放位置之后的数据包,数据包为音频 数据和/或视频数据;播放控制单元,用于播放数据包。 在一实施例中,数据接收单元还用于:当缓冲存储区没有更多剩余空间存储数据 包时,停止接收新的数据包,并向发送设备反馈空间不足信息,使发送设备暂停发送数据 包;当缓冲存储区重新获得足够空间存储数据包时,向发送设备反馈空间充足信息,使发送 设备继续发送数据包。 在一实施例中,数据接收单元还用于:对接收的每一个数据包进行数据校验;如果 校验失败,则向发送设备反馈校验失败信息,使发送设备重新发送校验失败的数据包。 在一实施例中,播放控制单元还用于:通过一个单独的播放控制线程接收发送设 备发送的控制命令,并根据控制命令控制数据包播放操作。 在一实施例中,数据包中包括显示时间戳位置,播放控制单元还用于:控制命令中 包括命令执行的显示时间戳位置;在缓冲存储区中,查找命令执行的显示时间戳位置;从命 令执行的显示时间戳位置对应的数据包开始,执行控制命令对应的播放操作。 在一实施例中,播放控制单元还用于:如果缓冲存储区中不存在命令执行的显示 时间戳位置对应的数据包,向发送设备反馈数据请求信息,使发送设备从命令执行的显示 时间戳位置开始发送数据包。 在一实施例中,数据包中不包括显示时间戳位置,播放控制单元还用于:清空缓冲 存储区;在接收所述发送设备发送的数据包之后,从缓冲存储区的起始位置开始,执行控制 命令对应的播放操作。 在一实施例中,控制命令包括开始播放,播放暂停,快进或快退。 根据本公开实施例的第四方面,提供一种蓝牙传输数据的发送装置,应用于发送 设备,发送设备与接收设备通过蓝牙连接,装置包括:传输准备单元,用于将需要播放的文 件划分成多个数据包,数据包包括当前播放位置处的数据包和当前播放位置之后未播放的 数据包,其中,数据包为音频数据和/或视频数据;数据发送单元,用于通过一个单独的数据 发送线程向接收设备发送数据包,使接收设备将数据包保存在缓冲存储区中并播放数据 包。 在一实施例中,其特征在于,数据发送单元还用于:当收到接收设备因缓冲存储区 没有更多剩余空间存储数据包而反馈的空间不足信息时,暂停发送数据包;当收到接收设 备因缓冲存储区重新获得足够空间存储数据包而反馈的空间充足信息时,继续发送数据 包。 在一实施例中,数据发送单元还用于:当收到发送设备因数据包校验失败而反馈 的校验失败信息时,重新发送校验失败的数据包。 在一实施例中,装置还包括:命令发送单元,用于通过一个单独的命令发送线程向 9 CN 111586152 A 说 明 书 4/12 页 接收设备发送控制命令,使接收设备根据控制命令控制数据包播放操作。 在一实施例中,数据包中包括显示时间戳位置,命令发送单元还用于:控制命令中 包括命令执行的显示时间戳位置,使接收设备在缓冲存储区中,查找命令执行的显示时间 戳位置,并从命令执行的显示时间戳位置对应的数据包开始,执行控制命令对应的播放操 作。 在一实施例中,命令发送单元还用于:接收接收设备因缓冲存储区中不存在命令 执行的显示时间戳位置对应的数据包而反馈的数据请求信息,从命令执行的显示时间戳位 置开始发送数据包。 在一实施例中,数据包中不包括显示时间戳位置,命令发送单元还用于:控制命令 使接收设备清空缓冲存储区,在接收发送的数据包后,从缓冲存储区的起始位置开始,执行 控制命令对应的播放操作。 在一实施例中,控制命令包括开始播放,播放暂停,快进或快退。 根据本公开实施例的第五方面,提供一种接收设备,包括:存储器,用于存储指令; 以及处理器,用于调用存储器存储的指令执行第一方面的蓝牙传输数据的播放方法。 根据本公开实施例的第六方面,提供一种发送设备,包括:存储器,用于存储指令; 以及处理器,用于调用存储器存储的指令执行第二方面的蓝牙传输数据的发送方法。 根据本公开实施例的第七方面,一种计算机可读存储介质,存储有指令,指令被处 理器执行时,执行第一方面的蓝牙传输数据的播放方法。 根据本公开实施例的第八方面,一种计算机可读存储介质,存储有指令,指令被处 理器执行时,执行第二方面的蓝牙传输数据的发送方法。 本公开的实施例提供的技术方案可以包括以下有益效果:通过缓存当前播放位置 处的数据包和当前播放位置之后未播放的数据包,降低播放延迟,保证接收设备和发送设 备之间的播放同步,在蓝牙信号不好时,接收设备依然可以维持正常播放,避免断音和卡 顿,提高了用户体验。 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本公开。 附图说明 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施 例,并与说明书一起用于解释本公开的原理。 图1是根据一示例性实施例示出的一种蓝牙传输数据的播放方法的流程示意图。 图2是根据一示例性实施例示出的一种蓝牙传输数据的发送方法的流程示意图。 图3是根据一示例性实施例示出的另一种蓝牙传输数据的发送方法的流程示意 图。 图4是根据一示例性实施例示出的一种蓝牙传输数据的播放装置的示意框图。 图5是根据一示例性实施例示出的一种蓝牙传输数据的发送装置的示意框图。 图6是根据一示例性实施例示出的另一种蓝牙传输数据的发送装置的示意框图。 图7是根据一示例性实施例示出的一种装置的示意框图。 图8是根据一示例性实施例示出的一种电子装置的示意框图。 10 CN 111586152 A 说 明 书 5/12 页
分享到:
收藏