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

技术编号:25406641 阅读:22 留言:0更新日期:2020-08-25 23:09
本公开是关于一种蓝牙传输数据的播放方法及装置、蓝牙传输数据的发送方法及装置。其中蓝牙数据播放方法,应用于接收设备,接收设备与发送设备通过蓝牙连接,方法包括:由一个单独的数据接收线程接收发送设备发送的数据包,并将数据包保存在接收设备的缓冲存储区中,其中,数据包包括当前播放位置处的数据包和当前播放位置之后的数据包,数据包为音频数据和/或视频数据;播放数据包。通过缓存当前播放位置处的数据包和当前播放位置之后未播放的数据包,降低播放延迟,保证接收设备和发送设备之间的播放同步,在蓝牙信号不好时,接收设备依然可以维持正常播放,避免断音和卡顿,提高了用户体验。

【技术实现步骤摘要】
蓝牙传输数据的播放方法及装置、蓝牙传输数据的发送方法及装置
本公开涉及数据传输领域,尤其涉及蓝牙传输数据的播放方法、蓝牙传输数据的播放装置、蓝牙传输数据的发送方法、蓝牙传输数据的发送装置、电子设备及计算机可读存储介质。
技术介绍
蓝牙(Bluetooth),是一种无线技术标准,可实现固定设备,移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。当前蓝牙数据传输在蓝牙信号较差的情况下,接收设备对多媒体数据的播放流畅性将受到影响。当发送设备与接收设备距离较远,或者,无线传输环境的电磁干扰较强时,接收设备的音乐播放会出现断音的问题,视频播放会发生跳帧、卡顿的问题。该问题目前是蓝牙设备普遍存在的共性问题。以音频数据为例,当前蓝牙音频数据传输普遍基于A2DP(AdvancedAudioDistributionProfile,蓝牙音频传输模型协定)传输协议,发送设备将音乐播放器当前正在播放的音频数据压缩编码,通过蓝牙天线发送给接收设备。接收设备将接收到的音频压缩数据解码后,再送给喇叭播放。由于发送设备只将当前正在播放的音频数据传输给接收设备。接收设备将音频数据,通过一个很小的缓冲存储区缓存后(一般缓冲存储区容量仅保存几百毫秒的音频数据),由喇叭播放。一旦无线传输信号变差,接收设备无法及时接收到更多音频数据,缓冲存储区中的音频数据全部播放,没有剩余,则接收设备会发生断音。另外,当前蓝牙播放设备在播放时,都需要等待接收当前正在播放的数据,在缓冲存储区存满后再进行播放,导致蓝牙设备播放进度相对于控制设备(例如智能移动终端或PC)上的播放进度存在一定延迟,少则几十毫秒,多则几百毫秒,两个设备播放不同步,影响用户体验。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种蓝牙传输数据的播放方法、蓝牙传输数据的播放装置、蓝牙传输数据的发送方法、蓝牙传输数据的发送装置、电子设备及计算机可读存储介质。根据本公开实施例的第一方面,提供一种蓝牙传输数据的播放方法,应用于接收设备,接收设备与发送设备通过蓝牙连接,方法包括:由一个单独的数据接收线程接收发送设备发送的数据包,并将数据包被保存在接收设备的缓冲存储区中,其中,数据包包括当前播放位置处的数据包和当前播放位置之后的数据包,数据包为音频数据和/或视频数据;播放数据包。在一实施例中,接收发送设备发送的数据包包括:当缓冲存储区没有更多剩余空间存储数据包时,停止接收新的数据包,并向发送设备反馈空间不足信息,使发送设备暂停发送数据包;当缓冲存储区重新获得足够空间存储数据包时,向发送设备反馈空间充足信息,使发送设备继续发送数据包。在一实施例中,接收发送设备发送的数据包包括:对接收的每一个数据包进行数据校验;如果校验失败,则向发送设备反馈校验失败信息,使发送设备重新发送校验失败的数据包。在一实施例中,播放数据包包括:由一个单独的播放控制线程接收发送设备发送的控制命令,并根据控制命令控制数据包播放操作。在一实施例中,数据包中包括显示时间戳位置,根据控制命令控制数据包播放操作包括:控制命令中包括命令执行的显示时间戳位置;在缓冲存储区中,查找命令执行的显示时间戳位置;从命令执行的显示时间戳位置对应的数据包开始,执行控制命令对应的播放操作。在一实施例中,根据控制命令控制数据包播放操作还包括:如果缓冲存储区中不存在命令执行的显示时间戳位置对应的数据包,向发送设备反馈数据请求信息,使发送设备从命令执行的显示时间戳位置开始发送数据包。在一实施例中,数据包中不包括显示时间戳位置,根据控制命令控制数据包播放操作包括:清空缓冲存储区;在接收发送设备发送的数据包之后,从缓冲存储区的起始位置开始,执行所述控制命令对应的播放操作。在一实施例中,控制命令包括开始播放,播放暂停,快进或快退。根据本公开实施例的第二方面,提供一种蓝牙传输数据的发送方法,应用于发送设备,发送设备与接收设备通过蓝牙连接,方法包括:将需要播放的文件划分成多个数据包,数据包包括当前播放位置处的数据包和当前播放位置之后未播放的数据包,其中,数据包为音频数据和/或视频数据;由一个单独的数据发送线程向接收设备发送数据包,使接收设备将数据包保存在缓冲存储区中并播放数据包。在一实施例中,向接收设备发送数据包包括:当收到接收设备因缓冲存储区没有更多剩余空间存储数据包而反馈的空间不足信息时,暂停发送数据包;当收到接收设备因缓冲存储区重新获得足够空间存储数据包而反馈的空间充足信息时,继续发送数据包。在一实施例中,向接收设备发送数据包包括:当收到发送设备因数据包校验失败而反馈的校验失败信息时,重新发送校验失败的数据包。在一实施例中,方法还包括:由一个单独的命令发送线程向接收设备发送控制命令,使接收设备根据控制命令控制数据包播放操作。在一实施例中,数据包中包括显示时间戳位置,向接收设备发送控制命令,使接收设备根据控制命令控制数据包播放操作,包括:控制命令中包括命令执行的显示时间戳位置,使接收设备在缓冲存储区中,查找命令执行的显示时间戳位置,并从命令执行的显示时间戳位置对应的数据包开始,执行所述控制命令对应的播放操作。在一实施例中,向接收设备发送控制命令,使接收设备根据控制命令控制数据包播放操作,还包括:接收接收设备因缓冲存储区中不存在命令执行的显示时间戳位置对应的数据包而反馈的数据请求信息,从命令执行的显示时间戳位置开始发送数据包。在一实施例中,数据包中不包括显示时间戳位置,向接收设备发送控制命令,使接收设备根据控制命令控制数据包播放,包括:控制命令使接收设备清空缓冲存储区,在接收发送的数据包后,从缓冲存储区的起始位置开始,执行所述控制命令对应的播放操作。在一实施例中,控制命令包括开始播放,播放暂停,快进或快退。根据本公开实施例的第三方面,提供一种蓝牙传输数据的播放装置,应用于接收设备,接收设备与发送设备通过蓝牙连接,装置包括:数据接收单元,用于通过一个单独的数据接收线程接收发送设备发送的数据包,并将数据包保存在接收设备的缓冲存储区中,其中,数据包包括当前播放位置处的数据包和当前播放位置之后的数据包,数据包为音频数据和/或视频数据;播放控制单元,用于播放数据包。在一实施例中,数据接收单元还用于:当缓冲存储区没有更多剩余空间存储数据包时,停止接收新的数据包,并向发送设备反馈空间不足信息,使发送设备暂停发送数据包;当缓冲存储区重新获得足够空间存储数据包时,向发送设备反馈空间充足信息,使发送设备继续发送数据包。在一实施例中,数据接收单元还用于:对接收的每一个数据包进行数据校验;如果校验失败,则向发送设备反馈校验失败信息,使发送设备重新发送校验失败的数据包。在一实施例中,播放控制单元还用于:通过一个单独的播放控制线程接收发送设备发送的控制命令,并根据控制命令控制数据包播放操作。在一实施例中,数据包中包括显示时间戳位置,播放控制单元还用于:控制命令中包括命本文档来自技高网
...

【技术保护点】
1.一种蓝牙传输数据的播放方法,其特征在于,应用于接收设备,所述接收设备与发送设备通过蓝牙连接,所述方法包括:/n由一个单独的数据接收线程接收所述发送设备发送的数据包,并将所述数据包保存在所述接收设备的缓冲存储区中,其中,所述数据包包括当前播放位置处的数据包和当前播放位置之后的数据包,所述数据包为音频数据和/或视频数据;/n播放所述数据包。/n

【技术特征摘要】
1.一种蓝牙传输数据的播放方法,其特征在于,应用于接收设备,所述接收设备与发送设备通过蓝牙连接,所述方法包括:
由一个单独的数据接收线程接收所述发送设备发送的数据包,并将所述数据包保存在所述接收设备的缓冲存储区中,其中,所述数据包包括当前播放位置处的数据包和当前播放位置之后的数据包,所述数据包为音频数据和/或视频数据;
播放所述数据包。


2.根据权利要求1所述的蓝牙传输数据的播放方法,其特征在于,所述接收所述发送设备发送的数据包包括:
当所述缓冲存储区没有更多剩余空间存储数据包时,停止接收新的数据包,并向所述发送设备反馈空间不足信息,使所述发送设备暂停发送数据包;
当所述缓冲存储区重新获得足够空间存储数据包时,向所述发送设备反馈空间充足信息,使所述发送设备继续发送数据包。


3.根据权利要求1所述的蓝牙传输数据的播放方法,其特征在于,所述接收所述发送设备发送的数据包包括:
对接收的每一个数据包进行数据校验;
如果校验失败,则向所述发送设备反馈校验失败信息,使所述发送设备重新发送校验失败的数据包。


4.根据权利要求1所述的蓝牙传输数据的播放方法,其特征在于,所述播放所述数据包包括:
由一个单独的播放控制线程接收所述发送设备发送的控制命令,并根据所述控制命令控制数据包的播放操作。


5.根据权利要求4所述的蓝牙传输数据的播放方法,其特征在于,所述数据包中包括显示时间戳位置;
所述根据所述控制命令控制数据包的播放操作还包括:
所述控制命令中包括命令执行的显示时间戳位置;
在所述缓冲存储区中,查找所述命令执行的显示时间戳位置;
从所述命令执行的显示时间戳位置对应的数据包开始,执行所述控制命令对应的播放操作。


6.根据权利要求5所述的蓝牙传输数据的播放方法,其特征在于,所述根据所述控制命令控制数据包的播放操作还包括:
如果所述缓冲存储区中不存在所述命令执行的显示时间戳位置对应的数据包,向发送设备反馈数据请求信息,使发送设备从所述命令执行的显示时间戳位置开始发送数据包。


7.根据权利要求4所述的蓝牙传输数据的播放方法,其特征在于,所述数据包中不包括显示时间戳位置;
所述根据所述控制命令控制数据包的播放操作还包括:
清空所述缓冲存储区;
在接收所述发送设备发送的数据包之后,从所述缓冲存储区的起始位置开始,执行所述控制命令对应的播放操作。


8.根据权利要求4-7任一项所述的蓝牙传输数据的播放方法,其特征在于,所述控制命令包括开始播放,播放暂停,快进或快退。


9.一种蓝牙传输数据的发送方法,其特征在于,应用于发送设备,所述发送设备与接收设备通过蓝牙连接,所述方法包括:
将需要播放的文件划分成多个数据包,所述数据包包括当前播放位置处的数据包和当前播放位置之后未播放的数据包,其中,所述数据包为音频数据和/或视频数据;
由一个单独的数据发送线程向所述接收设备发送所述数据包,使所述接收设备将所述数据包保存在缓冲存储区中并播放所述数据包。


10.根据权利要求9所述的蓝牙传输数据的发送方法,其特征在于,所述向所述接收设备发送所述数据包包括:
当收到所述接收设备因所述缓冲存储区没有更多剩余空间存储数据包而反馈的空间不足信息时,暂停发送数据包;
当收到所述接收设备因所述缓冲存储区重新获得足够空间存储数据包而反馈的空间充足信息时,继续发送数据包。


11.根据权利要求9所述的蓝牙传输数据的发送方法,其特征在于,所述向所述接收设备发送所述数据包包括:
当收到所述发送设备因所述数据包校验失败而反馈的校验失败信息时,重新发送校验失败的数据包。


12.根据权利要求9所述的蓝牙传输数据的发送方法,其特征在于,所述方法还包括:
由一个单独的命令发送线程向所述接收设备发送控制命令,使所述接收设备根据所述控制命令控制数据包播放操作。


13.根据权利要求12所述的蓝牙传输数据的发送方法,其特征在于,所述数据包中包括显示时间戳位置,
所述向所述接收设备发送控制命令,使所述接收设备根据所述控制命令控制数据包播放操作,包括:
所述控制命令中包括命令执行的显示时间戳位置,使所述接收设备在所述缓冲存储区中,查找所述命令执行的显示时间戳位置,并从所述命令执行的显示时间戳位置对应的数据包开始,执行所述控制命令对应的播放操作。


14.根据权利要求13所述的蓝牙传输数据的发送方法,其特征在于,所述向所述接收设备发送控制命令,使所述接收设备根据所述控制命令控制数据包播放操作,还包括:
接收所述接收设备因所述缓冲存储区中不存在所述命令执行的显示时间戳位置对应的数据包而反馈的数据请求信息,从所述命令执行的显示时间戳位置开始发送数据包。


15.根据权利要求12所述的蓝牙传输数据的发送方法,其特征在于,所述数据包中不包括显示时间戳位置,
所述向所述接收设备发送控制命令,使所述接收设备根据所述控制命令控制数据包播放操作,包括:
所述控制命令使所述接收设备清空所述缓冲存储区,在接收发送的数据包后,从所述缓冲存储区的起始位置开始,执行所述控制命令对应的播放操作。


16.根据权利要求12-15任一项所述的蓝牙传输数据的发送方法,其特征在于,所述控制命令包括开始播放,播放暂停,快进或快退。


17.一种蓝牙传输数据的播放装置,其特征在于,应用于接收设备,所述接收设备与发送设备通过蓝牙连接,所述装置包括:
数据接收单元,用于通过一个单独的数据接收线程接收所述发送设备发送的数据包,并将所述数据包保存在所述接收设备的缓冲存储区中,其中,所述数据...

【专利技术属性】
技术研发人员:金涛
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1