CN108111997B - 蓝牙设备音频同步方法和系统 - Google Patents
蓝牙设备音频同步方法和系统 Download PDFInfo
- Publication number
- CN108111997B CN108111997B CN201711349895.XA CN201711349895A CN108111997B CN 108111997 B CN108111997 B CN 108111997B CN 201711349895 A CN201711349895 A CN 201711349895A CN 108111997 B CN108111997 B CN 108111997B
- Authority
- CN
- China
- Prior art keywords
- audio data
- time value
- data packet
- bluetooth
- target audio
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明涉及一种蓝牙设备音频同步方法和系统,在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包,并获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包后发送至蓝牙从机设备,蓝牙主机设备上在经过第一时间值对应的时间后播放目标音频数据包对应的音频,蓝牙从机设备可以根据第一时间值调整目标音频数据包的播放时刻,在同一时刻播放目标音频数据包对应的音频,减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
Description
技术领域
本发明涉及音频处理技术领域,特别是涉及一种蓝牙设备音频同步方法和系统。
背景技术
随着音频技术的发展,多通道模拟立体声技术的应用日益广泛。将多通道模拟立体声技术运用于蓝牙设备的高级音频中可以真实地再现原声场的声音,能为用户带来更好的听音效果。
蓝牙设备的高级音频是通过蓝牙来连接主机设备与从机设备的不同通道,使不同通道播放相同的音频文件。蓝牙设备在使用的过程中会存在从机设备出现丢包的情况,例如音频信号被干扰,收发音频数据不正常等情况,导致主从机设备的音频包的数量不一致,从而使主机设备与从机设备的音频不同步。
发明内容
基于此,有必要针对蓝牙设备因音频数据丢包导致不同步的问题,提供一种蓝牙设备音频同步方法和系统。
一种蓝牙设备音频同步方法,包括以下步骤:
在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包;
获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
将添加第一时间值的目标音频数据包发送至蓝牙从机设备;其中,蓝牙从机设备在接收到添加第一时间值的目标音频数据包后,根据第一时间值调整目标音频数据包的播放时刻。
进一步的,获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值的步骤包括以下步骤:
获取播放编码缓存中第一个音频数据包至目标音频数据包所需的第二时间值、播放解码缓存中已有音频数据所需的第三时间值和播放DAC缓存中已有音频数据所需的第四时间值,将第二时间值、第三时间值和第四时间值的和值作为第一时间值。
进一步的,获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值的步骤包括以下步骤:
根据编码缓存中音频数据包的数据头信息和DAC的采样率计算第二时间值,根据解码缓存中音频数据量和DAC的采样率计算第三时间值,根据DAC缓存中音频数据量和DAC的采样率计算第四时间值。
进一步的,蓝牙设备音频同步方法还包括以下步骤:
获取发送添加第一时间值的目标音频数据包时的第一时刻值,将第一时刻值发送至蓝牙从机设备;
其中,蓝牙从机设备根据第一时刻值和接收到添加第一时间值的目标音频数据包时的第二时刻值获取音频传输时间值,在经过第一时间值和音频传输时间值的差值对应的时间后,播放目标音频数据包。
一种蓝牙设备音频同步系统,包括:
数据选取单元,用于在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包;
数据添加单元,用于获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
数据发送单元,用于将添加第一时间值的目标音频数据包发送至蓝牙从机设备;其中,蓝牙从机设备在接收到添加第一时间值的目标音频数据包后,根据第一时间值调整目标音频数据包的播放时刻。
根据上述本发明的蓝牙设备音频同步方法和系统,在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包,并获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包后发送至蓝牙从机设备,上述方法可以应用在蓝牙主机设备中,蓝牙主机设备上在经过第一时间值对应的时间后播放目标音频数据包对应的音频,蓝牙从机设备可以根据第一时间值调整目标音频数据包的播放时刻,在同一时刻播放目标音频数据包对应的音频,减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
一种蓝牙设备音频同步方法,包括以下步骤:
发送音频同步请求至蓝牙主机设备;其中,蓝牙主机设备获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
接收蓝牙主机设备返回的添加第一时间值的目标音频数据包,根据第一时间值调整目标音频数据包的播放时刻。
进一步的,蓝牙设备音频同步方法还包括以下步骤:
接收蓝牙主机设备发送添加第一时间值的目标音频数据包时的第一时刻值,获取接收到添加第一时间值的目标音频数据包时的第二时刻值,根据第一时刻值和第二时刻值获取音频传输时间值;
在经过第一时间值和音频传输时间值的差值对应的时间后,播放目标音频数据包。
进一步的,蓝牙设备音频同步方法还包括以下步骤:
在第一时间值小于音频传输时间值时,执行发送音频同步请求至蓝牙主机设备的步骤。
进一步的,蓝牙设备音频同步方法还包括以下步骤:
在接收蓝牙主机设备返回的添加第一时间值的目标音频数据包后,将本地的编码缓存、解码缓存和DAC缓存清零,关闭本地DAC播放设备,并对目标音频数据包中的音频数据进行解析。
一种蓝牙设备音频同步系统,包括:
请求发送单元,用于发送音频同步请求至蓝牙主机设备;其中,蓝牙主机设备获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
音频调整单元,用于接收蓝牙主机设备返回的添加第一时间值的目标音频数据包,根据第一时间值调整目标音频数据包的播放时刻。
根据上述本发明的蓝牙设备音频同步方法和系统,发送音频同步请求至蓝牙主机设备;接收蓝牙主机设备返回的添加第一时间值的目标音频数据包,音频数据包中包含蓝牙主机设备从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,根据第一时间值调整目标音频数据包的播放时刻。上述方法可以应用在蓝牙从机设备中,蓝牙主机设备上在经过第一时间值对应的时间后播放目标音频数据包对应的音频,蓝牙从机设备可以根据第一时间值调整目标音频数据包的播放时刻,在同一时刻播放目标音频数据包对应的音频,减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
一种可读存储介质,其上存储有可执行程序,该程序被处理器执行时实现上述的蓝牙设备音频同步方法的步骤。
一种同步设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述的蓝牙设备音频同步方法的步骤。
根据上述本发明的蓝牙设备音频同步方法,本发明还提供一种可读存储介质和同步设备,能够减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
附图说明
图1是其中一个实施例中蓝牙设备音频同步方法的流程示意图;
图2是其中一个实施例中蓝牙设备音频同步系统的结构示意图;
图3是其中另一个实施例中蓝牙设备音频同步方法的流程示意图;
图4是其中另一个实施例中蓝牙设备音频同步系统的结构示意图;
图5是其中一个具体实施例中SBC数据在主机设备的流转过程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
参见图1所示,为本发明一个实施例的蓝牙设备音频同步方法的流程示意图。该实施例中的蓝牙设备音频同步方法包括以下步骤:
步骤S110:在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包;
在本步骤中,待播放的目标音频数据包可以是位于编码缓存中的音频数据包;
步骤S120:获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
在本步骤中,当前音频数据可以是DAC(Digital to analog converter,数字模拟转换)设备正在播放的音频数据,第一时间值是从当前时刻到播放目标音频数据包的数据的时刻所经过的时间值,目标音频数据包可以携带这一时间值;
步骤S130:将添加第一时间值的目标音频数据包发送至蓝牙从机设备;其中,蓝牙从机设备在接收到添加第一时间值的目标音频数据包后,根据第一时间值调整目标音频数据包的播放时刻。
在本实施例中,在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包,并获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包后发送至蓝牙从机设备,上述方法可以应用在蓝牙主机设备中,蓝牙主机设备上在经过第一时间值对应的时间后播放目标音频数据包对应的音频,蓝牙从机设备可以根据第一时间值调整目标音频数据包的播放时刻,在同一时刻播放目标音频数据包对应的音频,减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
进一步的,在接收到蓝牙从机设备的同步请求时,可以停止向蓝牙从机设备发送音频数据,为后续实现蓝牙主从机设备音频同步做准备。在目标音频数据包之前的音频数据包不再发送,直接解码后进行播放。
进一步的,在将添加第一时间值的目标音频数据包发送至蓝牙从机设备后,可以将位于目标音频数据包之后的其他音频数据包依照先后顺序发送至蓝牙从机设备,使蓝牙从机设备在音频同步后可以连续播放音频,其中,目标音频数据包和其他音频数据包可以在编码缓存中依次排列。
需要说明的是,蓝牙主机与从机两台设备之间在通信之前已建立起蓝牙连接,蓝牙主机设备可以接收并缓存来自手机端或其他音频数据发送端的音频数据,在整理音频数据包之后向蓝牙从机设备发送。
在其中一个实施例中,获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值的步骤包括以下步骤:
获取播放编码缓存中第一个音频数据包至目标音频数据包所需的第二时间值、播放解码缓存中已有音频数据所需的第三时间值和播放DAC缓存中已有音频数据所需的第四时间值,将第二时间值、第三时间值和第四时间值的和值作为第一时间值。
在本实施例中,选取的目标音频数据包可以是编码缓存中的数据包,目标音频数据包需要经过编码缓存,经过解码缓存进行解码,经过DAC缓存对数据进行数模转换,才能通过DAC播放设备进行播放,DAC播放设备的特点是持续播放已解码的音频数据,因此,在播放目标音频数据报之前,编码缓存中目标音频数据包之前的音频数据包、解码缓存中已有的音频数据以及DAC缓存中已有的音频数据需要播放完毕,通过上述第二时间值、第三时间值和第四时间值的和值可以较为准确地得到第一时间值,即播放目标音频数据所需的等待时间。
在其中一个实施例中,获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值的步骤包括以下步骤:
根据编码缓存中音频数据包的数据头信息和DAC的采样率计算第二时间值,根据解码缓存中音频数据量和DAC的采样率计算第三时间值,根据DAC缓存中音频数据量和DAC的采样率计算第四时间值。
在本实施例中,由于音频数据最终是由DAC播放设备连续进行播放,因此所有的音频数据的播放时间与DAC采样率有关,利用DAC采样率和缓存中音频数据量可以快速计算得到相应的时间值,编码缓存中音频数据包中包括不同的音频数据,音频数据包内的音频数据量记录在音频数据包的数据头信息中,因此可以利用该数据头信息获取编码缓存中的音频数据量,解码缓存和DAC缓存中的音频数据量是已知的,可以直接获取得到。
在其中一个实施例中,蓝牙设备音频同步方法还包括以下步骤:
获取发送添加第一时间值的目标音频数据包时的第一时刻值,将第一时刻值发送至蓝牙从机设备;
其中,蓝牙从机设备根据第一时刻值和接收到添加第一时间值的目标音频数据包时的第二时刻值获取音频传输时间值,在经过第一时间值和音频传输时间值的差值对应的时间后,播放目标音频数据包对应的音频。
在本实施例中,除了添加第一时间值的目标音频数据包,还可以将发送添加第一时间值的目标音频数据包时的第一时刻值一同发送至蓝牙从机设备,蓝牙从机设备利用接收到添加第一时间值的目标音频数据包时的第二时刻值以及接收到的第一时刻值,可以计算得到音频传输时间,通过音频传输时间对第一时间值进行修正,在蓝牙从机设备距离较远,音频传输时间较长的情况下,可以使蓝牙从机设备的音频同步更加准确。
根据上述蓝牙设备音频同步方法,本发明实施例还提供一种蓝牙设备音频同步系统,以下就本发明的蓝牙设备音频同步系统的实施例进行详细说明。
参见图2所示,为本发明一个实施例的蓝牙设备音频同步系统的结构示意图。该实施例中的蓝牙设备音频同步系统包括:
数据选取单元210,用于在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包;
数据添加单元220,用于获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
数据发送单元230,用于将添加第一时间值的目标音频数据包发送至蓝牙从机设备;其中,蓝牙从机设备在接收到添加第一时间值的目标音频数据包后,根据第一时间值调整目标音频数据包的播放时刻。
在其中一个实施例中,数据添加单元220获取播放编码缓存中第一个音频数据包至目标音频数据包所需的第二时间值、播放解码缓存中已有音频数据所需的第三时间值和播放DAC缓存中已有音频数据所需的第四时间值,将第二时间值、第三时间值和第四时间值的和值作为第一时间值。
在其中一个实施例中,数据添加单元220根据编码缓存中音频数据包的数据头信息和DAC的采样率计算第二时间值,根据解码缓存中音频数据量和DAC的采样率计算第三时间值,根据DAC缓存中音频数据量和DAC的采样率计算第四时间值。
在其中一个实施例中,数据发送单元230还用于获取发送添加第一时间值的目标音频数据包时的第一时刻值,将第一时刻值发送至蓝牙从机设备;其中,蓝牙从机设备根据第一时刻值和接收到添加第一时间值的目标音频数据包时的第二时刻值获取音频传输时间值,在经过第一时间值和音频传输时间值的差值对应的时间后,播放目标音频数据包对应的音频。
本发明的蓝牙设备音频同步系统与本发明的蓝牙设备音频同步方法一一对应,在上述蓝牙设备音频同步方法的实施例中阐述的技术特征及其有益效果均适用于蓝牙设备音频同步系统的实施例中。
根据上述蓝牙设备音频同步方法,本发明实施例还提供另一种蓝牙设备音频同步方法,以下就本发明的另一种蓝牙设备音频同步方法的实施例进行详细说明。
参见图3所示,为本发明另一个实施例的蓝牙设备音频同步方法的流程示意图。该实施例中的蓝牙设备音频同步方法包括以下步骤:
步骤S310:发送音频同步请求至蓝牙主机设备;其中,蓝牙主机设备在接收到同步请求时选取待播放的目标音频数据包,获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
步骤S320:接收蓝牙主机设备返回的添加第一时间值的目标音频数据包,根据第一时间值调整目标音频数据包的播放时刻。
在本实施例中,发送音频同步请求至蓝牙主机设备;接收蓝牙主机设备返回的添加第一时间值的目标音频数据包,音频数据包中包含蓝牙主机设备从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,根据第一时间值调整目标音频数据包的播放时刻。上述方法可以应用在蓝牙从机设备中,蓝牙主机设备上在经过第一时间值对应的时间后播放目标音频数据包对应的音频,蓝牙从机设备可以根据第一时间值调整目标音频数据包的播放时刻,在同一时刻播放目标音频数据包对应的音频,减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
在其中一个实施例中,蓝牙设备音频同步方法还包括以下步骤:
接收蓝牙主机设备发送添加第一时间值的目标音频数据包时的第一时刻值,获取接收到添加第一时间值的目标音频数据包时的第二时刻值,根据第一时刻值和第二时刻值获取音频传输时间值;
在经过第一时间值和音频传输时间值的差值对应的时间后,播放目标音频数据包。
在本实施例中,除了添加第一时间值的目标音频数据包,还可以接收蓝牙主机设备发送添加第一时间值的目标音频数据包时的第一时刻值,结合接收到添加第一时间值的目标音频数据包时的第二时刻值,可以得到音频传输时间值,通过音频传输时间对第一时间值进行修正,在与蓝牙主机设备距离较远,音频传输时间较长的情况下,可以使与蓝牙主机设备的音频同步更加准确。
在其中一个实施例中,蓝牙设备音频同步方法还包括以下步骤:
在第一时间值小于音频传输时间值时,执行发送音频同步请求至蓝牙主机设备的步骤。
在本实施例中,在第一时间值小于音频传输时间值时,表明接收到目标音频数据包时,蓝牙主机设备已经在播放目标音频数据包,此时进行后续调整操作已无意义,此时可以重新发起同步请求,再次进行音频同步操作,保证音频同步的准确性。
在其中一个实施例中,蓝牙设备音频同步方法还包括以下步骤:
在接收添加第一时间值的目标音频数据包后,将本地的编码缓存、解码缓存和DAC缓存清零,关闭本地DAC播放设备,并对目标音频数据包中的音频数据进行解析。
在本实施例中,在接收到目标音频数据包后,可以将本地的编码缓存、解码缓存和DAC缓存清零,关闭本地DAC播放设备,避免已失步的音频数据的影响。对目标音频数据包中的音频数据进行解析,可以得到直接待播放的音频数据,在等待时间之后可以立即进行播放,保证与蓝牙主机设备的音频播放同步。
需要说明的是,等待时间是第一时间值和音频传输时间值的差值对应的时间,在等待时间结束之后,立即开启本地的DAC播放设备,播放已经得到的待播放音频数据。
根据上述蓝牙设备音频同步方法,本发明实施例还提供一种蓝牙设备音频同步系统,以下就本发明的蓝牙设备音频同步系统的实施例进行详细说明。
参见图4所示,为本发明一个实施例的蓝牙设备音频同步系统的结构示意图。该实施例中的蓝牙设备音频同步系统包括:
请求发送单元410,用于发送音频同步请求至蓝牙主机设备;其中,蓝牙主机设备获取从播放当前音频数据至播放目标音频数据包的数据之间所需的第一时间值,将第一时间值添加至目标音频数据包;
音频调整单元420,用于接收蓝牙主机设备返回的添加第一时间值的目标音频数据包,根据第一时间值调整目标音频数据包的播放时刻。
在其中一个实施例中,音频调整单元420还用于接收蓝牙主机设备发送添加第一时间值的目标音频数据包时的第一时刻值,获取接收到添加第一时间值的目标音频数据包时的第二时刻值,根据第一时刻值和第二时刻值获取音频传输时间值;在经过第一时间值和音频传输时间值的差值对应的时间后,播放目标音频数据包。
在其中一个实施例中,在第一时间值小于音频传输时间值时,请求发送单元410再次发送音频同步请求至蓝牙主机设备。
在其中一个实施例中,音频调整单元420还用于在接收添加第一时间值的目标音频数据包后,将本地的编码缓存、解码缓存和DAC缓存清零,关闭本地DAC播放设备,并对目标音频数据包中的音频数据进行解析。
本发明的蓝牙设备音频同步系统与本发明的蓝牙设备音频同步方法一一对应,在上述蓝牙设备音频同步方法的实施例中阐述的技术特征及其有益效果均适用于蓝牙设备音频同步系统的实施例中。
上述实施例中的“第一”、“第二”等序数词只是为了区分所关联的对象,并不是对象本身的限定。
根据上述蓝牙设备音频同步方法,本发明实施例还提供一种可读存储介质和一种同步设备。
可读存储介质上存储有可执行程序,该程序被处理器执行时实现上述蓝牙设备音频同步方法的步骤;同步设备包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述蓝牙设备音频同步方法的步骤。
上述可读存储介质和同步设备能够使蓝牙主机设备上在经过第一时间值对应的时间后播放目标音频数据包对应的音频,蓝牙从机设备可以根据第一时间值调整目标音频数据包的播放时刻,在同一时刻播放目标音频数据包对应的音频,减少蓝牙主从机设备的音频延时差,改善蓝牙主从机设备的通信异常后的使用效果,实现蓝牙设备的音频同步。
在一个具体的实施例中,蓝牙设备音频同步方法可以应用在蓝牙对箱中。
蓝牙对箱在使用的过程中会存在从机设备出现音频数据丢包的情况,需要主从机设备间重新进行音频数据同步操作。
SBC(Sub Band Code,子带编码)数据在主机设备的流转步骤如图5所示,手机等移动终端可以将音频数据(以SBC数据的形式)通过蓝牙发送到主机设备,主机设备将数据存储到SBC编码buf(缓存)中用于解析整理,添加诸如同步、对齐等信息后发送到从机设备,然后将数据送到解码缓存用于后续解码,解码后推送到DAC缓存通过DAC播放装置播放出去。
具体步骤如下:
步骤一:如果从机设备检测到蓝牙音频数据出现丢包时,从机设备向主机设备发起对齐操作请求,主机设备收到请求后停止向从机设备发送蓝牙音频数据;
步骤二:因为开启DAC播放设备之后,DAC播放设备会一直播放解码出来的数据,利用这种特性,可以在主机设备的SBC高级音频的缓存中挑选第n包音频数据包(例如n=10),通过音频数据包的数据头信息和DAC的采样率计算主机设备SBC编码缓存中第1到第n-1包的音频数据可以播放的时间time1,再计算在解码缓存中已解码的音频数据量可以播放的时间time2,最后加上DAC缓存中已有的待播放音频数据量可以播放的时间time3;
步骤三:步骤二的time1+time2+time3的和值time4就代表主机设备以当前时间为基准,播放缓存的第n包数据需要经过的时间,将这个值整理添加到第n包音频数据包中,发送到从机设备,用于同步操作,并且将发送这包音频数据包的时刻值一起整理发送过去,之后以第n包音频数据包为基础,继续往后开始发送SBC编码缓存中的蓝牙音频数据;
步骤四:从机设备接收到主机设备发过来的用于同步的音频数据包,先从用于同步的音频数据包中得到记录的需要等待播放的时间time4和发送时的时刻,用发送时的时刻和接收到的时刻计算主机设备发送音频数据包到从机设备收到时经过的时间time5,判断time4是否大于time5,若否,即当前时刻超过了主机设备播放到第n包的时刻,也就是音频传输时间超过音频数据包的等待播放时间,从机设备需要重新发起同步请求;若是,time4-time5的差值time6就是从机设备需要等待的时间,在等待时间内从机设备可以将SBC缓存、解码缓存和DAC缓存清零,同时将DAC播放设备关闭,解析用于同步的音频数据包中的数据,完成音频数据包中的数据的解码和缓存的操作
步骤五:从机设备可以设置一个定时值为time6的超时操作,超时时间一到就立刻开启从机设备的DAC播放设备,播放已经解码好的数据,那么从机设备就可以重新与主机设备同步。
在本具体实施例中,主机设备在接收到从机设备的同步请求时启动同步的相关操作,在同步过程中保证主机设备的正常工作,确保同步的准确性;利用主机设备的DAC播放设备会一直播放解码出来的数据的特性,选取同步的基准点,精准到一个音频数据包上,提高同步的精度;
另外,通过SBC数据头信息和DAC采样率计算播放音频数据包前,主机设备播放需要的时间,从机设备计算主机设备发送对齐包时的时间到从机设备收到音频数据包时的时间差,减少主从机设备同步后,两边的音频延时差;从机设备要将SBC编码缓存、解码缓存和DAC缓存中残留的数据清零;主机设备要从音频数据包开始,重新发送数据包,对齐包前的数据直接送到解码器不发送到从机设备,在同步过程中,保持主机设备仍能播放数据,防止播放数据的中断,改善主从机设备通信不正常后的使用效果。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。所述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,包括上述方法所述的步骤。所述的存储介质,包括:ROM/RAM、磁碟、光盘等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种蓝牙设备音频同步方法,其特征在于,包括以下步骤:
在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包,停止向所述蓝牙从机设备发送所述目标音频数据包之前的音频数据包;其中,所述目标音频数据包包括位于编码缓存中的音频数据包;
获取从播放当前音频数据至播放所述目标音频数据包的数据之间所需的第一时间值,将所述第一时间值添加至所述目标音频数据包;
将添加第一时间值的目标音频数据包发送至所述蓝牙从机设备;其中,所述蓝牙从机设备在接收到所述添加第一时间值的目标音频数据包后,根据所述第一时间值调整所述目标音频数据包的播放时刻。
2.根据权利要求1所述的蓝牙设备音频同步方法,其特征在于,所述获取从播放当前音频数据至播放所述目标音频数据包的数据之间所需的第一时间值的步骤包括以下步骤:
获取播放编码缓存中第一个音频数据包至所述目标音频数据包所需的第二时间值、播放解码缓存中已有音频数据所需的第三时间值和播放DAC缓存中已有音频数据所需的第四时间值,将所述第二时间值、所述第三时间值和所述第四时间值的和值作为所述第一时间值。
3.根据权利要求2所述的蓝牙设备音频同步方法,其特征在于,所述获取从播放当前音频数据至播放所述目标音频数据包的数据之间所需的第一时间值的步骤包括以下步骤:
根据编码缓存中音频数据包的数据头信息和DAC的采样率计算所述第二时间值,根据解码缓存中音频数据量和所述DAC的采样率计算所述第三时间值,根据DAC缓存中音频数据量和所述DAC的采样率计算所述第四时间值。
4.根据权利要求1所述的蓝牙设备音频同步方法,其特征在于,还包括以下步骤:
获取发送所述添加第一时间值的目标音频数据包时的第一时刻值,将所述第一时刻值发送至所述蓝牙从机设备;
其中,所述蓝牙从机设备根据所述第一时刻值和接收到所述添加第一时间值的目标音频数据包时的第二时刻值获取音频传输时间值,在经过所述第一时间值和所述音频传输时间值的差值对应的时间后,播放所述目标音频数据包对应的音频。
5.一种蓝牙设备音频同步方法,其特征在于,包括以下步骤:
发送音频同步请求至蓝牙主机设备;其中,所述蓝牙主机设备在接收到所述同步请求时选取待播放的目标音频数据包,停止发送所述目标音频数据包之前的音频数据包,获取从播放当前音频数据至播放所述目标音频数据包的数据之间所需的第一时间值,将所述第一时间值添加至所述目标音频数据包;其中,所述目标音频数据包包括位于编码缓存中的音频数据包;
接收所述蓝牙主机设备返回的所述添加第一时间值的目标音频数据包,根据所述第一时间值调整所述目标音频数据包的播放时刻。
6.根据权利要求5所述的蓝牙设备音频同步方法,其特征在于,还包括以下步骤:
接收所述蓝牙主机设备发送所述添加第一时间值的目标音频数据包时的第一时刻值,获取接收到所述添加第一时间值的目标音频数据包时的第二时刻值,根据所述第一时刻值和所述第二时刻值获取音频传输时间值;
在经过所述第一时间值和所述音频传输时间值的差值对应的时间后,播放所述目标音频数据包。
7.根据权利要求6所述的蓝牙设备音频同步方法,其特征在于,还包括以下步骤:
在所述第一时间值小于所述音频传输时间值时,执行所述发送音频同步请求至蓝牙主机设备的步骤。
8.根据权利要求6所述的蓝牙设备音频同步方法,其特征在于,还包括以下步骤:
在接收所述添加第一时间值的目标音频数据包后,将本地的编码缓存、解码缓存和DAC缓存清零,关闭本地DAC播放设备,并对所述目标音频数据包中的音频数据进行解析。
9.一种蓝牙设备音频同步系统,其特征在于,包括:
数据选取单元,用于在接收到蓝牙从机设备的同步请求时,选取待播放的目标音频数据包,停止向所述蓝牙从机设备发送所述目标音频数据包之前的音频数据包;其中,所述目标音频数据包包括位于编码缓存中的音频数据包;
数据添加单元,用于获取从播放当前音频数据至播放所述目标音频数据包的数据之间所需的第一时间值,将所述第一时间值添加至所述目标音频数据包;
数据发送单元,用于将添加第一时间值的目标音频数据包发送至所述蓝牙从机设备;其中,所述蓝牙从机设备在接收到所述添加第一时间值的目标音频数据包后,根据所述第一时间值调整所述目标音频数据包的播放时刻。
10.一种蓝牙设备音频同步系统,其特征在于,包括:
请求发送单元,用于发送音频同步请求至蓝牙主机设备;其中,所述蓝牙主机设备在接收到所述同步请求时选取待播放的目标音频数据包,停止发送所述目标音频数据包之前的音频数据包,获取从播放当前音频数据至播放所述目标音频数据包的数据之间所需的第一时间值,将所述第一时间值添加至所述目标音频数据包;其中,所述目标音频数据包包括位于编码缓存中的音频数据包;
音频调整单元,用于接收所述蓝牙主机设备返回的所述添加第一时间值的目标音频数据包,根据所述第一时间值调整所述目标音频数据包的播放时刻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349895.XA CN108111997B (zh) | 2017-12-15 | 2017-12-15 | 蓝牙设备音频同步方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711349895.XA CN108111997B (zh) | 2017-12-15 | 2017-12-15 | 蓝牙设备音频同步方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111997A CN108111997A (zh) | 2018-06-01 |
CN108111997B true CN108111997B (zh) | 2020-12-08 |
Family
ID=62217203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711349895.XA Active CN108111997B (zh) | 2017-12-15 | 2017-12-15 | 蓝牙设备音频同步方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111997B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110970040B (zh) * | 2018-09-28 | 2022-05-27 | 炬芯科技股份有限公司 | 无线蓝牙装置的音频同步方法及无线蓝牙装置 |
CN109560913B (zh) * | 2018-11-15 | 2021-08-03 | 珠海慧联科技有限公司 | 一种蓝牙音频设备之间数据时间同步的方法及装置 |
CN109525882B (zh) * | 2018-11-30 | 2021-08-31 | 中国联合网络通信集团有限公司 | 一种同步播放方法、桥接设备和信宿设备 |
CN109451339B (zh) * | 2018-12-28 | 2021-10-01 | 深圳Tcl新技术有限公司 | 音频传输方法、装置、设备及可读存储介质 |
CN109729581B (zh) * | 2019-03-20 | 2021-02-23 | 南京英锐创电子科技有限公司 | 数据包同步电路及方法 |
CN110392291A (zh) * | 2019-07-29 | 2019-10-29 | 昆腾微电子股份有限公司 | 一种蓝牙同步播放方法、装置、系统及存储介质 |
CN112105005B (zh) * | 2019-08-30 | 2024-05-03 | 炬力(珠海)微电子有限公司 | 一种控制蓝牙设备播放的方法及装置 |
TWI733596B (zh) * | 2019-11-05 | 2021-07-11 | 瑞昱半導體股份有限公司 | 可降低藍牙電路內部時脈更新複雜度的多成員藍牙裝置 |
KR102523889B1 (ko) | 2020-11-05 | 2023-04-19 | 선전 구딕스 테크놀로지 컴퍼니, 리미티드 | 오디오 동시 재생 방법, 장치, 및 설비 |
CN113179468B (zh) * | 2020-11-05 | 2022-10-11 | 深圳市汇顶科技股份有限公司 | 音频同步播放方法、装置、设备及存储介质 |
CN113535115A (zh) * | 2021-07-23 | 2021-10-22 | 北京小米移动软件有限公司 | 音频播放方法、装置、电子设备及存储介质 |
CN116974506A (zh) * | 2022-04-24 | 2023-10-31 | 华为技术有限公司 | 一种音频播放方法、系统以及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8818173B2 (en) * | 2011-05-26 | 2014-08-26 | Avid Technology, Inc. | Synchronous data tracks in a media editing system |
CN104320843A (zh) * | 2014-10-08 | 2015-01-28 | 络达科技股份有限公司 | 蓝牙发声装置的音频同步方法 |
CN105592568A (zh) * | 2015-12-22 | 2016-05-18 | Tcl通力电子(惠州)有限公司 | 音频播放方法及系统 |
CN106454449A (zh) * | 2016-10-25 | 2017-02-22 | 深圳芯智汇科技有限公司 | 主音箱、从音箱及路由器控制同步播放音频的方法 |
CN106792073A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 跨设备的音视频数据同步播放的方法、播放设备及系统 |
CN107454510A (zh) * | 2017-07-10 | 2017-12-08 | 珠海市杰理科技股份有限公司 | 蓝牙对箱的音频同步播放方法、系统 |
-
2017
- 2017-12-15 CN CN201711349895.XA patent/CN108111997B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8818173B2 (en) * | 2011-05-26 | 2014-08-26 | Avid Technology, Inc. | Synchronous data tracks in a media editing system |
CN104320843A (zh) * | 2014-10-08 | 2015-01-28 | 络达科技股份有限公司 | 蓝牙发声装置的音频同步方法 |
CN105592568A (zh) * | 2015-12-22 | 2016-05-18 | Tcl通力电子(惠州)有限公司 | 音频播放方法及系统 |
CN106454449A (zh) * | 2016-10-25 | 2017-02-22 | 深圳芯智汇科技有限公司 | 主音箱、从音箱及路由器控制同步播放音频的方法 |
CN106792073A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 跨设备的音视频数据同步播放的方法、播放设备及系统 |
CN107454510A (zh) * | 2017-07-10 | 2017-12-08 | 珠海市杰理科技股份有限公司 | 蓝牙对箱的音频同步播放方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108111997A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108111997B (zh) | 蓝牙设备音频同步方法和系统 | |
RU2423009C1 (ru) | Способ и устройство для измерения синхронизации воспроизведения речевых потоков в пределах предложения без влияния на разборчивость | |
US10454811B2 (en) | Apparatus and method for de-jitter buffer delay adjustment | |
EP3591908B9 (en) | Method and device for lip-speech synchronization among multiple devices | |
KR101655456B1 (ko) | 애드혹 적응형 무선 이동 사운드 시스템 및 그 방법 | |
CN104320843B (zh) | 蓝牙发声装置的音频同步方法 | |
US10735120B1 (en) | Reducing end-to-end delay for audio communication | |
CN109547946B (zh) | 一种音频数据通信方法 | |
WO2013056123A2 (en) | Quality of user experience testing for video transmissions | |
CN106664161A (zh) | 基于冗余的包传输错误恢复的系统和方法 | |
US8046407B2 (en) | Method for processing a control message and a message processor, a media service, a media service system | |
KR20120042833A (ko) | 역방향의 강력한 헤더 압축 수신기 | |
US9053699B2 (en) | Apparatus and method for audio frame loss recovery | |
CN109450490B (zh) | 一种音频数据通信设备及系统 | |
CN109673021B (zh) | 业务时延确定方法 | |
CN105306110A (zh) | 一种实现音乐同步播放的方法及系统 | |
US9401150B1 (en) | Systems and methods to detect lost audio frames from a continuous audio signal | |
US7822011B2 (en) | Self-synchronized streaming architecture | |
CN106331820B (zh) | 音视频的同步处理方法和装置 | |
CN109525873B (zh) | 一种音频播放同步方法及装置 | |
CN112995730A (zh) | 音画同步调整方法、装置、电子设备及介质 | |
CN109039994B (zh) | 一种计算音频和视频异步时差的方法及设备 | |
CN109246664B (zh) | 一种语音测试方法及装置 | |
CN109327724B (zh) | 音视频同步播放方法和装置 | |
CN112764709B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Patentee after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Patentee before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |