CN108495239B - 多设备间音频精确同步播放的方法、装置、设备及存储介质 - Google Patents

多设备间音频精确同步播放的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN108495239B
CN108495239B CN201810045967.XA CN201810045967A CN108495239B CN 108495239 B CN108495239 B CN 108495239B CN 201810045967 A CN201810045967 A CN 201810045967A CN 108495239 B CN108495239 B CN 108495239B
Authority
CN
China
Prior art keywords
playing
time
audio signal
lower device
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
Application number
CN201810045967.XA
Other languages
English (en)
Other versions
CN108495239A (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.)
Shenzhen X Focus Technology Co ltd
Original Assignee
Shenzhen X Focus 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 Shenzhen X Focus Technology Co ltd filed Critical Shenzhen X Focus Technology Co ltd
Priority to CN201810045967.XA priority Critical patent/CN108495239B/zh
Publication of CN108495239A publication Critical patent/CN108495239A/zh
Application granted granted Critical
Publication of CN108495239B publication Critical patent/CN108495239B/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
    • H04R3/12Circuits for transducers, loudspeakers or microphones for distributing signals to two or more loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/04Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明揭示了一种多设备间音频精确同步播放的方法、装置、设备及存储介质,包括:接收上位设备按指定方式生成的音频信号,所述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段所述音频信号,并在每段所述音频信号上附加播放时间戳;根据所述音频信号播放相应的音频。本发明的多设备间音频精确同步播放的方法、装置、设备及存储介质的有益效果为:降低了多设备间同步播放的误差,提高了同步精度,且同步后误差抖动范围小,同步过程中受网络延时的影响低,还降低了多设备在同步播放时对硬件的依赖程度低,只要设备间可以通过网络相互访问即可完成,通用性强。

Description

多设备间音频精确同步播放的方法、装置、设备及存储介质
技术领域
本发明涉及到无线通讯领域,特别是涉及到一种多设备间音频精确同步播放的方法、装置、设备及存储介质。
背景技术
随着网络技术的高度成熟,网络资源的日益丰富,wifi智能音箱应用也越来越方泛,人们对wifi智能音箱的要求也越来越高。过去通过功放有线连接的5.1声道音响系统,也逐步被wifi智能音箱的无线连接技术所取代。但是,对于发烧级的用户来说,5.1声道音响系统的各个喇叭的声音必须严格同步,否则用户体验将会大打折扣。因此,要求各个喇叭的声音播放必须达到声音采样点级的同步,也即对于48Khz采样率的音频,设备间的播放同步必须控制在50微秒以内。
由于声音的播放涉及到解码,硬件数据缓存,硬件启动时间偏差,DAC转换,时钟晶振源的振荡偏差等等,一般的方案很难做到50微秒级别的声音同步精度,而目前音频无线同步的技术很多,总体来说基本分为两大类:通过硬件模块实现同步,这类技术采用专用的音频传输模块,可以较好地解决音频同步精度问题,但是,对硬件模块的要求较高,方案成本也较高;通过软件实现同步,这类技术主要通过软件控制来实现同步,方案成本较低,但是,由于硬件上存在的差异因素,同步精度一般,很难达到多声道音响的要求(偏差在50微秒级别)。
发明内容
本发明的主要目的为提供一种多设备间音频精确同步播放的方法、装置、设备及存储介质,以实现多设备间微秒级误差的同步音频播放。
本发明提出一种多设备间音频精确同步播放的方法,包括:
接收上位设备按指定方式生成的音频信号,上述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段上述音频信号,并在每段上述音频信号上附加播放时间戳;
根据上述音频信号播放进行相应的播放。
进一步地,上述的多设备间音频精确同步播放的方法,上述根据上述音频信号播放进行相应的播放的步骤包括步骤:
判断上述音频信号内的播放时间戳和当前当前播放时间是否一致以及下位设备是否处于工作状态;
若播放时间戳与当前播放时间不一致,且下位设备不处于工作状态,则放弃播放上述音频信号的内容;
若播放时间戳与当前播放时间不一致,且下位设备处于工作状态,则根据第一修改方案对上述下位设备进行修正;
若播放时间戳与当前播放时间一致,且下位设备不处于工作状态,则启动上述下位设备播放上述音频信号的内容;
若播放时间戳与当前播放时间一致,且下位设备处于工作状态,则维持上述下位设备当前的播放状态。
进一步地,上述的多设备间音频精确同步播放的方法,上述第一修改方案包括步骤:
计算出上述播放时间戳和当前播放时间的时间偏差值;
判断上述时间偏差值是否超出预设值域;
若是,则停止播放当前的音频信号;
若否,则判断上述时间偏差值的正负性;
若上述时间偏差值为负数,则通过采用去值压缩法减少指定采样点,使下位设备播放上述音频信号的耗时缩短;
若上述时间偏差值为正数,则通过采用插值补偿法增加指定采样点,使下位设备播放上述音频信号的耗时延长。
进一步地,上述的多设备间音频精确同步播放的方法,上述播放时间戳根据以下公式进行计算,
TN=T0+(t1-t2)
TN为第N个播放时间戳指定下位设备播放的时间;T0为上位设备开始播放第N-1段音频信号时上位设备的系统时间;t1为上位设备结束播放第N-1段音频信号时的帧结束时间;t2为上位设备开始播放第N-1段音频信号时的帧开始时间。
进一步地,上述的多设备间音频精确同步播放的方法,在上述接收上位设备按指定方式生成的音频信号的步骤之前,还包括步骤:
判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值;
若是,对下位设备的系统时间进行同步修正,并将上述差值设为新的判断值。
进一步地,上述的多设备间音频精确同步播放的方法,在上述判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值的步骤之前,还包括步骤:
获取发起同步请求时下位设备的系统时间;
获取接收到上位设备同步回复时下位设备的系统时间。
进一步地,上述的多设备间音频精确同步播放的方法,上述将上述差值设为新的判断值的步骤包括步骤:
将上述差值储存至缓存列表,并将上述缓存列表中的上述差值的最小值作为上述新的判断值。
本发明提出一种多设备间音频精确同步播放的装置,包括:
接收模块,用于接收上位设备按指定方式生成的音频信号,上述指定方式包括生成指定播放时长的上述音频信号,并附加播放时间戳;
播放模块,用于根据上述音频信号播放进行相应的播放。
本发明提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述程序时实现如发明实施例中任意一项上述的方法。
本发明提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如发明实施例中任意一项上述的方法。
本发明的多设备间音频精确同步播放的方法、装置、设备及存储介质的有益效果为:降低了多设备间同步播放的误差,提高了同步精度,且同步后误差抖动范围小,同步过程中受网络延时的影响低,还降低了多设备在同步播放时对硬件的依赖程度低,只要设备间可以通过网络相互访问即可完成,通用性强。
附图说明
图1为本发明一实施例的多设备间音频精确同步播放的方法的流程示意图;
图2为本发明一实施例的多设备间音频精确同步播放的方法的流程示意图;
图3为本发明一实施例的多设备间音频精确同步播放的方法的流程示意图;
图4为本发明一实施例的多设备间音频精确同步播放的方法的流程示意图;
图5为本发明一实施例的多设备间音频精确同步播放的装置的模块结构示意图;
图6为本发明一实施例的多设备间音频精确同步播放的装置的模块结构示意图;
图7为本发明一实施例的多设备间音频精确同步播放的装置的模块结构示意图;
图8为本发明一实施例的多设备间音频精确同步播放的装置的模块结构示意图;
图9为本发明一实施例的一种计算机设备的结构示意图。
12、计算机设备;14、外部设备;16、处理单元;18、总线;20、网络适配器;22、(I/O)接口;24、显示器;28、系统存储器;30、随机存取存储器(RAM);32、高速缓存存储器;34、存储系统;40、程序/实用工具;42、程序模块;101、接收模块;102、播放模块;201、第一判断子模块;202、第一执行子模块;203、第而执行子模块;204、第三执行子模块;205、第四执行子模块;301、计算子模块;302、第二判断子模块;303、第五执行子模块;304、第三判断子模块;305、去值压缩子模块;306、插值补偿子模块;401、第四判断模块;402、修改模块;403、预测试模块;404、比较模块;405、第二更新模块;501、第一获取模块;502、第二获取模块;601、第一更新子模块。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,在本发明实施例中,本发明提供一种多设备间音频精确同步播放的方法,包括:
S101、接收上位设备按指定方式生成的音频信号,上述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段上述音频信号,并在每段上述音频信号上附加播放时间戳;
S102、根据上述音频信号播放进行相应的播放。
如上述步骤S101,接收上位设备按指定方式生成的音频信号,上述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段上述音频信号,并在每段上述音频信号上附加播放时间戳,其中,每段音频信号的指定播放时长一般为1-5s,优选为1-2s,下位设备在每播放一段上述音频信号时,根据上述音频信号携带的上述播放时间戳信息进行播放,因此每次播放的时间误差将进行重新计算,避免了时间误差的叠加,每次播放的误差在出去网络延迟等环境因素的影响下,按照晶体振荡器的误差范围一般在十万分之一的数量级计算,每个下位设备在播放每一段上述音频信号的误差一般只有10~20微秒,在同时连续播放1小时的条件下,相比于现有的播放方法的误差(以上下位设备计算一秒时存在十万分之一秒误差计算)降低了99.44%-99.86%,其中,在本实施例中,一般上述播放时间戳根据以下公式进行计算,
TN=T0+(t1-t2)
TN为第N个播放时间戳指定下位设备播放的时间;T0为上位设备开始播放第N-1段音频信号时上位设备的系统时间;t1为上位设备结束播放第N-1段音频信号时的帧结束时间;t2为上位设备开始播放第N-1段音频信号时的帧开始时间。
由于上位设备构建一段音频数据传输给下位设备时,需要根据当前音频PCM数据量来计算时间戳信息,为了精确计算未来某帧PCM数据在什么时间播放,一定要计算清楚当前到未来某帧PCM数据之间,还有多少PCM数据。目前通常的做法是只计算了音频PCM数据缓冲区里的数据量,而未考虑DAC的FIFO中缓存的PCM数据,导致时间计算不准确;
因此,在上述指定方式中,上位设备在对上述完整音频拆分前一般对上述完整音频的播放时间进行计算,步骤一般为:对上述完整音频进行解码,音频数据一般采用压缩编码后的码流进行存放和传输,以减小存储空间及网络带宽占用要求,音频解码即将音频压缩编码后的码流解码成音频采样点数值,即PCM数据;启动DMA将PCM数据传送到DAC的FIFO中,DAC的FIFO由若干层寄存器构成,用作DMA和DAC间的传输速度匹配,可以缓存若干个PCM数据;DAC进行数模转换,将数字音频信号转换成模拟电信号以此驱动下位设备。
如上述步骤S102,根据上述音频信号播放进行相应的播放,下位设备在执行上述步骤S101后,对上述音频信号进行播放。
参照图2,在本实施例中,在上述的多设备间音频精确同步播放的方法中,上述根据上述音频信号播放进行相应的播放的步骤包括步骤:
S201、判断上述音频信号内的播放时间戳和当前当前播放时间是否一致以及下位设备是否处于工作状态;
S202、若播放时间戳与当前播放时间不一致,且下位设备不处于工作状态,则放弃播放上述音频信号的内容;
S203、若播放时间戳与当前播放时间不一致,且下位设备处于工作状态,则根据第一修改方案对上述下位设备进行修正;
S204、若播放时间戳与当前播放时间一致,且下位设备不处于工作状态,则启动上述下位设备播放上述音频信号的内容;
S205、若播放时间戳与当前播放时间一致,且下位设备处于工作状态,则维持上述下位设备当前的播放状态。
如上述步骤S201,判断上述音频信号内的播放时间戳和当前当前播放时间是否一致以及下位设备是否处于工作状态,下位设备同时判断本身是否处于工作状态以及上述播放时间戳和当前当前播放时间是否一致,并根据两个判断的结果进行对应的播放步骤;
如上述步骤S202,若播放时间戳与当前播放时间不一致,且下位设备不处于工作状态,则放弃播放上述音频信号的内容,当上述步骤S201判断上述播放时间戳与当前播放时间不一致,且下位设备不处于工作状态时,上述下位设备放弃播放给段上述音频信号,并将该段上述音频信号的数据包删除,继续接收下一段上述音频信号的数据包,并重复步骤S201;
如上述步骤S203,若播放时间戳与当前播放时间不一致,且下位设备处于工作状态,则根据第一修改方案对上述下位设备进行修正,当上述步骤S201判断上述播放时间戳与当前播放时间不一致,且下位设备处于工作状态时,上述下位设备根据第一修改方案对上述下位设备进行修正,在进行修正的同时继续接收下一段上述音频信号的数据包,并重复步骤S201;
如上述步骤S204,若播放时间戳与当前播放时间一致,且下位设备不处于工作状态,则启动上述下位设备播放上述音频信号的内容,当上述步骤S201判断上述播放时间戳与当前播放时间一致,且下位设备不处于工作状态时,上述下位设备启动上述下位设备播放上述音频信号的内容,在播放的同时继续接收下一段上述音频信号的数据包,并重复步骤S201,每播放完成的一段上述音频信号将该段上述音频信号的数据包删除;
如上述步骤S205,若播放时间戳与当前播放时间一致,且下位设备处于工作状态,则维持上述下位设备当前的播放状态,当上述步骤S201判断上述播放时间戳与当前播放时间一致,且下位设备处于工作状态时,上述下位设备当前的播放状态,在播放的同时继续接收下一段上述音频信号的数据包,并重复步骤S201,且每播放完成的一段上述音频信号将该段上述音频信号的数据包删除。
参照图3,在本实施例中,在上述的多设备间音频精确同步播放的方法中,上述第一修改方案包括步骤:
S301、计算出上述播放时间戳和当前播放时间的时间偏差值;
S302、判断上述时间偏差值是否超出预设值域;
S303、若是,则停止播放当前的音频信号;
S304、若否,则判断上述时间偏差值的正负性;
S305、若上述时间偏差值为负数,则通过采用去值压缩法减少指定采样点,使下位设备播放上述音频信号的耗时缩短;
S306、若上述时间偏差值为正数,则通过采用插值补偿法增加指定采样点,使下位设备播放上述音频信号的耗时延长。
如上述步骤S301,计算出上述播放时间戳和当前播放时间的时间偏差值,计算出上述播放时间戳和当前播放时间的差值,作为时间偏差值,上述时间偏差值一般为具体时间数值,一般为含有正负号的时间数值,在本实施例中,改时间数值的正负号只用于表明上述播放时间戳比当前播放时间的快慢;
如上述步骤S302,判断上述时间偏差值是否超出预设值域,对上述时间偏差值进行判断,判断其是否超出预设值域,上述预设值域一般为;
如上述步骤S303,若是,则停止播放当前的音频信号,当超出上述预设值域时,上述下位设备停止播放当前的音频信号,并将该段上述音频信号的数据包删除;
如上述步骤S304,若否,则判断上述时间偏差值的正负性,当处于上述预设值域时,上述下位设备判断该播放时间差值的正负性,以确定上述播放时间戳多要求的播放时间比当前播放时间快还是慢;
如上述步骤S305,若上述时间偏差值为负数,则通过采用去值压缩法减少指定采样点,使下位设备播放上述音频信号的耗时缩短,当上述步骤S304判断上述时间偏差值为负数,即上述播放时间戳多要求的播放时间比当前播放时间慢,则通过去除指定的采样点对上述音频信号进行压缩,以达到缩短上述音频信号的播放时长的目的,使上述下位设备能够与上述上位设备缩短播放时间差,进而达到调整误差的目的;
如上述步骤S306,若上述时间偏差值为正数,则通过采用插值补偿法增加指定采样点,使下位设备播放上述音频信号的耗时延长,当上述步骤S304判断上述时间偏差值为正数,即上述播放时间戳多要求的播放时间比当前播放时间快,则通过增加指定的采样点对上述音频信号进行补偿,以达到延长上述音频信号的播放时长的目的,使上述下位设备能够与上述上位设备缩短播放时间差,进而达到调整误差的目的。
在本实施例中,上述的多设备间音频精确同步播放的方法,上述播放时间戳根据以下公式进行计算,
TN=T0+(t1-t2)
TN为第N个播放时间戳指定下位设备播放的时间;T0为上位设备开始播放第N-1段音频信号时上位设备的系统时间;t1为上位设备结束播放第N-1段音频信号时的帧结束时间;t2为上位设备开始播放第N-1段音频信号时的帧开始时间。
参照图4,在本实施例中,在上述的多设备间音频精确同步播放的方法中,在上述接收上位设备按指定方式生成的音频信号的步骤之前,还包括步骤:
S401、判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值;
S402、若是,对下位设备的系统时间进行同步修正,并将上述差值设为新的判断值。
由于无线设备之间的通讯存在网络延迟的影响,导致在时间同步的过程中,下位设备在收到上位设备发送的同步回复的信号时会存在有时间误差,导致在工作时无法达到精准的同步,因此,在每次上述步骤S101执行前一般需要进行时间同步校准。
如上述步骤S401,判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值,下位设备一般在接收到上位设备反馈的同步回复后进行对上述差值的判断,上述差值的大小一般受网络延迟及设备硬件的影响,在本发明实施例中,上述判断值一般为在最近若干次同步过程中上述差值的最小值,但也可以为使用者认为输入的定值或区间值。
如上述步骤S402,若是,对下位设备的系统时间进行同步修正,并将上述差值设为新的判断值,在本发明实施例中,一般根据以下公式对下位设备的系统时间进行同步修正:
Figure GDA0002406368830000101
T为下位设备同步修正后的系统时间;T1为发起同步请求时下位设备的系统时间;T2为接受到同步请求时上位设备的系统时间;T3为接收到上位设备同步回复时下位设备的系统时间。
在上述公式中设(T3-T1)/2为上位设备发送同步回复至下位设备确认接收的时间延时,在网络延时较平稳时一般上位设备和下位设备之间的信号联系的时间延时相同或接近相同,因此当(T3-T1)(即上述差值)大于或等于上述判断值(即在最近若干同步过程中上述差值的最小值)时,下位设备放弃该次同步,当判断在过程中上述差值小于上述判断值时,下位设备进行时间同步,其中,在下位设备进行时间同步时,一般还将上述差值跟新为新的判断值。通过上述公式对下位设备进行时间同步修正一般修正后误差可以保持在3ms以内,达到高精度无线设备的时间同步要求。
在本实施例中,在上述的多设备间音频精确同步播放的方法中,在上述判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值的步骤之前,还包括步骤:
S403、进行若干次系统时间的预同步测试,获取每次同步的上述差值并储存至缓存列表;
S404、将缓存列表内的上述差值进行相互比较得出最小差值,并将上述最小差值设定为判断值。
如上述步骤S403,进行若干次系统时间的预同步测试,获取每次同步的上述差值并储存至缓存列表,在执行上述步骤S401前,下位设备一般会向上位设备发送预同步测试请求,在预同步测试时,下位设备一般仅进行与上位设备之间信号的联系,以得出在若干次预同步测试中的上述差值作为在执行上述步骤S401时生成上述判断值的基准和参考,并储存至上述缓存列表,其中,一般进行15-25次的预同步测试,优选为20次;
在本发明实施例中,下位设备可以通过查询云数据库中,同规格设备之间同步的历史数据,以获取在执行上述步骤S401时生成上述判断值的基准和参考,以代替上述步骤S403;
在本发明实施例中,使用者还可以直接根据个人的使用习惯对生成上述步骤S401的上述判断值的基准和参考进行调节,已达到最优效果。
如上述步骤S404,将缓存列表内的上述差值进行相互比较得出最小差值,并将上述最小差值设定为判断值,在上述步骤S403执行完后,对缓存列表内的上述差值进行大小比较得出上述差值的最小值,并将该最小值设定为上述判断值,其中,由于该缓存列表一般仅储存的上述差值一般为最近的15-25次同步的上述差值,优选为最近20次同步的上述差值。
在本实施例中,在上述的多设备间音频精确同步播放的方法中,在上述判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值的步骤之后,还包括步骤:
S405、若否,放弃本次同步,并将上述差值储存至缓存列表。
如上述步骤S405,若否,放弃本次同步,并将上述差值储存至缓存列表,当上述步骤S401判断所述差值大于或等于所述判断值时,下位设备放弃本次同步,但将上述差值储存至上述缓存列表,此时不跟新上述判断值。
在本实施例中,上述的多设备间音频精确同步播放的方法,在上述判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值的步骤之前,还包括步骤:
S501、获取发起同步请求时下位设备的系统时间;
S502、获取接收到上位设备同步回复时下位设备的系统时间。
如上述步骤S501,获取发起同步请求时下位设备的系统时间,下位设备在发送时间同步请求后,记录发送时间,其中,改时间记录一般精确至毫秒级,在本实施例中,优选精确至纳秒级的时间。
如上述步骤S502,获取接收到上位设备同步回复时下位设备的系统时间,下位设备在获取接收到上位设备同步回复后,记录发送时间,其中,改时间记录一般精确至毫秒级,在本实施例中,优选精确至纳秒级的时间,其中,由于上下位设备之间存在通讯是否成功的问题,因此在本发明实施例中,设有下位设备与上位设备之间的通信等待默认时间,当下位设备等待时长超过该默认时间则认定为通讯失败,该默认时间一般为150-500ms,优选为200ms。
在本实施例中,在上述的多设备间音频精确同步播放的方法中,上述将上述差值设为新的判断值的步骤包括步骤:
S601、将上述差值储存至缓存列表,并将上述缓存列表中的上述差值的最小值作为上述新的判断值。
如上述步骤S601,将上述差值储存至缓存列表,并将上述缓存列表中的上述差值的最小值作为上述新的判断值,当上述步骤S401判断上述差值小于上述判断值后,将上述差值储存至上述缓存列表,并将上述差值跟新为所述新的判断值,以提高该下位设备和上位设备间的时间同步精度。
参照图5,本发明提出一种多设备间音频精确同步播放的装置,包括:
接收模块101,用于接收上位设备按指定方式生成的音频信号,上述指定方式包括生成指定播放时长的上述音频信号,并附加播放时间戳;
播放模块102,用于根据上述音频信号播放进行相应的播放。
上述接收模块101,一般用于接收上位设备按指定方式生成的音频信号,上述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段上述音频信号,并在每段上述音频信号上附加播放时间戳,其中,每段音频信号的指定播放时长一般为1-5s,优选为1-2s,下位设备在每播放一段上述音频信号时,根据上述音频信号携带的上述播放时间戳信息进行播放,因此每次播放的时间误差将进行重新计算,避免了时间误差的叠加,每次播放的误差在出去网络延迟等环境因素的影响下,按照晶体振荡器的误差范围一般在十万分之一的数量级计算,每个下位设备在播放每一段上述音频信号的误差一般只有10~20微秒,在同时连续播放1小时的条件下,相比于现有的播放方法的误差(以上下位设备计算一秒时存在十万分之一秒误差计算)降低了99.44%-99.86%,其中,在本实施例中,一般上述播放时间戳根据以下公式进行计算,
TN=T0+(t1-t2)
TN为第N个播放时间戳指定下位设备播放的时间;T0为上位设备开始播放第N-1段音频信号时上位设备的系统时间;t1为上位设备结束播放第N-1段音频信号时的帧结束时间;t2为上位设备开始播放第N-1段音频信号时的帧开始时间。
由于上位设备构建一段音频数据传输给下位设备时,需要根据当前音频PCM数据量来计算时间戳信息,为了精确计算未来某帧PCM数据在什么时间播放,一定要计算清楚当前到未来某帧PCM数据之间,还有多少PCM数据。目前通常的做法是只计算了音频PCM数据缓冲区里的数据量,而未考虑DAC的FIFO中缓存的PCM数据,导致时间计算不准确;
因此,在上述上位设备执行上述指定方式时,上位设备在对上述完整音频拆分前一般对上述完整音频的播放时间进行计算,步骤一般为:对上述完整音频进行解码,音频数据一般采用压缩编码后的码流进行存放和传输,以减小存储空间及网络带宽占用要求,音频解码即将音频压缩编码后的码流解码成音频采样点数值,即PCM数据;启动DMA将PCM数据传送到DAC的FIFO中,DAC的FIFO由若干层寄存器构成,用作DMA和DAC间的传输速度匹配,可以缓存若干个PCM数据;DAC进行数模转换,将数字音频信号转换成模拟电信号以此驱动下位设备。
上述播放模块102,一般用于根据上述音频信号播放进行相应的播放,上述下位设备的上述接收模块101在执行完接收后,对上述音频信号进行播放。
参照图6,在本实施例中,在上述的多设备间音频精确同步播放的装置中,上述播放模块102包括:
第一判断子模块201,用于判断上述音频信号内的播放时间戳和当前当前播放时间是否一致以及下位设备是否处于工作状态;
第一执行子模块202,用于若播放时间戳与当前播放时间不一致,且下位设备不处于工作状态,则放弃播放上述音频信号的内容;
第而执行子模块203,用于若播放时间戳与当前播放时间不一致,且下位设备处于工作状态,则根据第一修改方案对上述下位设备进行修正;
第三执行子模块204,用于若播放时间戳与当前播放时间一致,且下位设备不处于工作状态,则启动上述上位设备播放上述音频信号的内容;
第四执行子模块205,用于若播放时间戳与当前播放时间一致,且下位设备处于工作状态,则维持上述上位设备当前的播放状态。
上述第一判断子模块201,一般用于判断上述音频信号内的播放时间戳和当前当前播放时间是否一致以及下位设备是否处于工作状态,下位设备同时判断本身是否处于工作状态以及上述播放时间戳和当前当前播放时间是否一致,并根据两个判断的结果进行对应的播放步骤;
上述第一执行子模块202,一般用于若播放时间戳与当前播放时间不一致,且下位设备不处于工作状态,则放弃播放上述音频信号的内容,当上述第一判断子模块201判断上述播放时间戳与当前播放时间不一致,且下位设备不处于工作状态时,上述下位设备放弃播放给段上述音频信号,并将该段上述音频信号的数据包删除,继续接收下一段上述音频信号的数据包,并重新驱动第一判断子模块201进行判断;
上述第而执行子模块203,一般用于若播放时间戳与当前播放时间不一致,且下位设备处于工作状态,则根据第一修改方案对上述下位设备进行修正,当上述第一判断子模块201判断上述播放时间戳与当前播放时间不一致,且下位设备处于工作状态时,上述下位设备根据第一修改方案对上述下位设备进行修正,在进行修正的同时继续接收下一段上述音频信号的数据包,并重新驱动第一判断子模块201进行判断;
上述第三执行子模块204,一般用于若播放时间戳与当前播放时间一致,且下位设备不处于工作状态,则启动上述上位设备播放上述音频信号的内容,当上述第一判断子模块201判断上述播放时间戳与当前播放时间一致,且下位设备不处于工作状态时,上述下位设备启动上述上位设备播放上述音频信号的内容,在播放的同时继续接收下一段上述音频信号的数据包,并重新驱动第一判断子模块201进行判断,每播放完成的一段上述音频信号将该段上述音频信号的数据包删除;
上述第四执行子模块205,一般用于若播放时间戳与当前播放时间一致,且下位设备处于工作状态,则维持上述上位设备当前的播放状态,当上述第一判断子模块201判断上述播放时间戳与当前播放时间一致,且下位设备处于工作状态时,上述下位设备当前的播放状态,在播放的同时继续接收下一段上述音频信号的数据包,并重新驱动第一判断子模块201进行判断,且每播放完成的一段上述音频信号将该段上述音频信号的数据包删除。
参照图7,在本实施例中,在上述的多设备间音频精确同步播放的装置中,上述第而执行子模块203包括:
计算子模块301,用于计算出上述播放时间戳和当前播放时间的时间偏差值;
第二判断子模块302,用于判断上述时间偏差值是否超出预设值域;
第五执行子模块303,用于若是,则停止播放当前的音频信号;
第三判断子模块304,用于若否,则判断上述时间偏差值的正负性;
去值压缩子模块305,用于若上述时间偏差值为负数,则通过采用去值压缩法减少指定采样点,使下位设备播放上述音频信号的耗时缩短;
插值补偿子模块306,用于若上述时间偏差值为正数,则通过采用插值补偿法增加指定采样点,使下位设备播放上述音频信号的耗时延长。
上述计算子模块301,一般用于计算出上述播放时间戳和当前播放时间的时间偏差值,计算出上述播放时间戳和当前播放时间的差值,作为时间偏差值,上述时间偏差值一般为具体时间数值,一般为含有正负号的时间数值,在本实施例中,改时间数值的正负号只用于表明上述播放时间戳比当前播放时间的快慢;
上述第二判断子模块302,一般用于判断上述时间偏差值是否超出预设值域,对上述时间偏差值进行判断,判断其是否超出预设值域,上述预设值域一般为;
上述第五执行子模块303,一般用于若是,则停止播放当前的音频信号,当超出上述预设值域时,上述下位设备停止播放当前的音频信号,并将该段上述音频信号的数据包删除;
上述第三判断子模块304,一般用于若否,则判断上述时间偏差值的正负性,当处于上述预设值域时,上述下位设备判断该播放时间差值的正负性,以确定上述播放时间戳多要求的播放时间比当前播放时间快还是慢;
上述去值压缩子模块305,一般用于若上述时间偏差值为负数,则通过采用去值压缩法减少指定采样点,使下位设备播放上述音频信号的耗时缩短,当上述第三判断子模块304判断上述时间偏差值为负数,即上述播放时间戳多要求的播放时间比当前播放时间慢,则通过去除指定的采样点对上述音频信号进行压缩,以达到缩短上述音频信号的播放时长的目的,使上述下位设备能够与上述上位设备缩短播放时间差,进而达到调整误差的目的;
上述插值补偿子模块306,一般用于若上述时间偏差值为正数,则通过采用插值补偿法增加指定采样点,使下位设备播放上述音频信号的耗时延长,当上述第三判断子模块304判断上述时间偏差值为正数,即上述播放时间戳多要求的播放时间比当前播放时间快,则通过增加指定的采样点对上述音频信号进行补偿,以达到延长上述音频信号的播放时长的目的,使上述下位设备能够与上述上位设备缩短播放时间差,进而达到调整误差的目的。
参照图8,在本实施例中,在上述的多设备间音频精确同步播放的装置中,还包括:
第四判断模块401,用于判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值,
修改模块402,用于若是,对下位设备的系统时间进行同步修正,并将上述差值设为新的判断值。
上述第四判断模块401,一般用于判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值,下位设备一般在接收到上位设备反馈的同步回复后进行对上述差值的判断,上述差值的大小一般受网络延迟及设备硬件的影响,在本发明实施例中,上述判断值一般为在最近若干次同步过程中上述差值的最小值,但也可以为使用者认为输入的定值或区间值。
上述修改模块402,一般用于若是,对下位设备的系统时间进行同步修正,并将上述差值设为新的判断值,在本发明实施例中,一般根据以下公式对下位设备的系统时间进行同步修正:
Figure GDA0002406368830000161
T为下位设备同步修正后的系统时间;T1为发起同步请求时下位设备的系统时间;T2为接受到同步请求时上位设备的系统时间;T3为接收到上位设备同步回复时下位设备的系统时间。
在上述公式中设(T3-T1)/2为上位设备发送同步回复至下位设备确认接收的时间延时,在网络延时较平稳时一般上位设备和下位设备之间的信号联系的时间延时相同或接近相同,因此当(T3-T1)(即上述差值)大于或等于上述判断值(即在最近若干同步过程中上述差值的最小值)时,下位设备放弃该次同步,当判断在过程中上述差值小于上述判断值时,下位设备进行时间同步,其中,在下位设备进行时间同步时,一般还将上述差值跟新为新的判断值。通过上述公式对下位设备进行时间同步修正一般修正后误差可以保持在3ms以内,达到高精度无线设备的时间同步要求。
在本实施例中,在上述的多设备间音频精确同步播放的装置中,还包括:
预测试模块403,用于进行若干次系统时间的预同步测试,获取每次同步的上述差值并储存至缓存列表;
比较模块404,用于将缓存列表内的上述差值进行相互比较得出最小差值,并将上述最小差值设定为判断值。
上述预测试模块403,一般用于进行若干次系统时间的预同步测试,获取每次同步的上述差值并储存至缓存列表,在上述第四判断模块401驱动前,下位设备一般会向上位设备发送预同步测试请求,在预同步测试时,下位设备一般仅进行与上位设备之间信号的联系,以得出在若干次预同步测试中的上述差值作为在上述第四判断模块401运行时生成上述判断值的基准和参考,并储存至上述缓存列表,其中,一般进行15-25次的预同步测试,优选为20次;
在本发明实施例中,下位设备可以通过查询云数据库中,同规格设备之间同步的历史数据,以获取在上述第四判断模块401驱动时生成上述判断值的基准和参考,以代替上述预测试模块403得出的结果;
在本发明实施例中,使用者还可以直接根据个人的使用习惯对上述第四判断模块401生成的上述判断值的基准和参考进行调节,已达到最优效果。
上述比较模块404,一般用于将缓存列表内的上述差值进行相互比较得出最小差值,并将上述最小差值设定为判断值,在上述预测试模块403驱动完后,对缓存列表内的上述差值进行大小比较得出上述差值的最小值,并将该最小值设定为上述判断值,其中,由于该缓存列表一般仅储存的上述差值一般为最近的15-25次同步的上述差值,优选为最近20次同步的上述差值。
在本实施例中,在上述的多设备间音频精确同步播放的装置中,还包括:
第二更新模块405,用于若否,放弃本次同步,并将上述差值储存至缓存列表。
上述第二更新模块405,一般用于若否,放弃本次同步,并将上述差值储存至缓存列表,当上述第四判断模块401判断所述差值大于或等于所述判断值时,下位设备放弃本次同步,但将上述差值储存至上述缓存列表,此时不跟新上述判断值。
在本实施例中,在上述的多设备间音频精确同步播放的装置中,上述修改模块402包括:
第一更新子模块601,用于将上述差值储存至缓存列表,并将上述缓存列表中的上述差值的最小值作为上述新的判断值。
上述第一更新子模块601,一般用于将上述差值储存至缓存列表,并将上述缓存列表中的上述差值的最小值作为上述新的判断值,当上述第四判断模块401判断上述差值小于上述判断值后,将上述差值储存至上述缓存列表,并将上述差值跟新为所述新的判断值,以提高该下位设备和上位设备间的时间同步精度。
参照图4,在本实施例中,在上述的多设备间音频精确同步播放的装置中,还包括:
第一获取模块501,用于获取发起同步请求时下位设备的系统时间;
第二获取模块502,用于获取接收到上位设备同步回复时下位设备的系统时间。
上述第一获取模块501,一般用于获取发起同步请求时下位设备的系统时间,下位设备在发送时间同步请求后,记录发送时间,其中,改时间记录一般精确至毫秒级,在本实施例中,优选精确至纳秒级的时间。
上述第二获取模块502,一般用于获取接收到上位设备同步回复时下位设备的系统时间,下位设备在获取接收到上位设备同步回复后,记录发送时间,其中,改时间记录一般精确至毫秒级,在本实施例中,优选精确至纳秒级的时间,其中,由于上下位设备之间存在通讯是否成功的问题,因此在本发明实施例中,设有下位设备与上位设备之间的通信等待默认时间,当下位设备等待时长超过该默认时间则认定为通讯失败,该默认时间一般为150-500ms,优选为200ms。
参照图9,在本发明实施例中,本发明还提供一种计算机设备,上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD~ROM,DVD~ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图9中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的多设备间音频精确同步播放的方法。
也即,上述处理单元16执行上述程序时实现:接收上位设备按指定方式生成的音频信号,上述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段上述音频信号,并在每段上述音频信号上附加播放时间戳;根据上述音频信号播放进行相应的播放。
在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的多设备间音频精确同步播放的方法:
也即,给程序被处理器执行时实现:接收上位设备按指定方式生成的音频信号,上述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段上述音频信号,并在每段上述音频信号上附加播放时间戳;根据上述音频信号播放进行相应的播放。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机克顿信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPOM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD~ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,改计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明的多设备间音频精确同步播放的方法、装置、设备及存储介质的有益效果为:降低了多设备间同步播放的误差,提高了同步精度,且同步后误差抖动范围小,同步过程中受网络延时的影响低,还降低了多设备在同步播放时对硬件的依赖程度低,只要设备间可以通过网络相互访问即可完成,通用性强。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (3)

1.一种多设备间音频精确同步播放的方法,其特征在于,包括:
下位设备接收上位设备按指定方式生成的音频信号,所述指定方式包括将所需播放的完整音频拆分成指定播放时长的多段所述音频信号,
并在每段所述音频信号上附加播放时间戳;
根据所述音频信号播放相应的音频;
所述播放时间戳根据以下公式进行计算,
TN=T0+(t1-t2)
TN为第N个播放时间戳指定下位设备播放的时间;T0为上位设备开始播放第N-1段视频信号时上位设备的系统时间;t1为上位设备结束播放第N-1段音频信号时的帧结束时间;t2为上位设备开始播放第N-1段音频信号时的帧结束时间;
其中,所述根据所述音频信号播放相应的音频的步骤包括步骤:
判断所述音频信号内的播放时间戳和当前当前播放时间是否一致以及下位设备是否处于工作状态;
若播放时间戳与当前播放时间不一致,且下位设备不处于工作状态,则放弃播放所述音频信号的内容;
若播放时间戳与当前播放时间不一致,且下位设备处于工作状态,则使用第一修改方案对所述下位设备进行修正;
若播放时间戳与当前播放时间一致,且下位设备不处于工作状态,则启动所述下位设备播放所述音频信号的内容;
若播放时间戳与当前播放时间一致,且下位设备处于工作状态,则维持所述下位设备当前的播放状态;
其中,所述第一修改方案包括步骤:计算出所述时间戳和当前播放时间的时间偏差值;
判断所述时间偏差值是否超出预设值域;
若是,则停止播放当前的音频信号;若否,则判断所述时间偏差值的正负性;
若所述时间偏差值为负数,则通过去值压缩法减少指定采样点,使下位设备播放所述音频信号的耗时缩短;
若所述时间偏差值为正数,则通过插值补偿法增加指定采样点,使下位设备播放所述音频信号的耗时延长;
其中,在所述接收上位设备按指定方式生成的音频信号的步骤之前,还包括步骤:判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值;若是,对下位设备的系统时间进行同步修正,并将所述差值设为新的判断值;若否,放弃本次同步,并将所述差值储存至缓存列表,此时不更新上述判断值;
其中,根据以下公式对下位设备的系统时间进行同步修正,
Figure FDA0002564676810000021
T为下位设备同步修正后的系统时间;T1为发起同步请求时下位设备的系统时间;T2为接受到同步请求时上位设备的系统时间;T3为接收到上位设备同步回复时下位设备的系统时间;
其中,在所述判断接收到上位设备同步回复时下位设备的系统时间与发起同步请求时下位设备的系统时间的差值是否小于判断值的步骤之前,还包括步骤:获取发起同步请求时下位设备的系统时间;获取接收到上位设备同步回复时下位设备的系统时间;
其中,所述将所述差值设为新的判断值的步骤包括步骤:进行若干次系统时间的预同步测试,将每次同步的所述差值储存至缓存列表,并将所述缓存列表中的所述差值的最小值作为所述新的判断值;其中,所述若干次为20次,缓存列表仅储存最近的20次同步的上述差值。
2.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
CN201810045967.XA 2018-01-17 2018-01-17 多设备间音频精确同步播放的方法、装置、设备及存储介质 Active CN108495239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810045967.XA CN108495239B (zh) 2018-01-17 2018-01-17 多设备间音频精确同步播放的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810045967.XA CN108495239B (zh) 2018-01-17 2018-01-17 多设备间音频精确同步播放的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108495239A CN108495239A (zh) 2018-09-04
CN108495239B true CN108495239B (zh) 2020-09-29

Family

ID=63344278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810045967.XA Active CN108495239B (zh) 2018-01-17 2018-01-17 多设备间音频精确同步播放的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108495239B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556467B (zh) * 2020-03-31 2023-08-08 惠州市德赛西威汽车电子股份有限公司 一种手机互联音频播放处理方法
CN111918261B (zh) * 2020-08-13 2023-07-07 南京中感微电子有限公司 蓝牙音频设备同步播放方法、系统及蓝牙音频主、从设备
CN114974321B (zh) * 2021-02-27 2023-11-03 华为技术有限公司 一种音频播放方法、设备及系统
CN115549832A (zh) * 2021-06-29 2022-12-30 Oppo广东移动通信有限公司 一种音频同步方法及音频播放设备、存储介质
CN115314744A (zh) * 2022-07-01 2022-11-08 深圳市丝路蓝创意展示有限公司 同步播放方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1311611A (zh) * 2000-03-01 2001-09-05 朗迅科技公司 基站收发信机到无线电网络控制器的同步过滤功能
CN104980820A (zh) * 2015-06-17 2015-10-14 小米科技有限责任公司 多媒体文件播放方法及装置
CN105680969A (zh) * 2015-12-31 2016-06-15 浙江中控技术股份有限公司 一种时钟同步方法及装置
CN105850094A (zh) * 2013-10-07 2016-08-10 伯斯有限公司 同步音频回放
CN105992040A (zh) * 2015-02-15 2016-10-05 深圳市民展科技开发有限公司 多声道音频数据发送方法、音频数据同步播放方法及装置
CN106452643A (zh) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 播放控制方法、装置、终端及播放系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631119B2 (en) * 2004-06-25 2009-12-08 Apple Inc. Techniques for providing audio for synchronized playback by multiple devices
US8477950B2 (en) * 2009-08-24 2013-07-02 Novara Technology, LLC Home theater component for a virtualized home theater system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1311611A (zh) * 2000-03-01 2001-09-05 朗迅科技公司 基站收发信机到无线电网络控制器的同步过滤功能
CN105850094A (zh) * 2013-10-07 2016-08-10 伯斯有限公司 同步音频回放
CN105992040A (zh) * 2015-02-15 2016-10-05 深圳市民展科技开发有限公司 多声道音频数据发送方法、音频数据同步播放方法及装置
CN104980820A (zh) * 2015-06-17 2015-10-14 小米科技有限责任公司 多媒体文件播放方法及装置
CN105680969A (zh) * 2015-12-31 2016-06-15 浙江中控技术股份有限公司 一种时钟同步方法及装置
CN106452643A (zh) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 播放控制方法、装置、终端及播放系统

Also Published As

Publication number Publication date
CN108495239A (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
CN108495239B (zh) 多设备间音频精确同步播放的方法、装置、设备及存储介质
CN108495164B (zh) 音视频同步处理方法及装置、计算机装置及存储介质
US10509588B2 (en) System and method for controlling memory frequency using feed-forward compression statistics
US7568057B2 (en) Method and apparatus for maintaining synchronization of audio in a computing system
US20150363411A1 (en) Synchronous Audio Playback Method, Apparatus and System
JP6442079B2 (ja) デジッタバッファの更新
US20190196716A1 (en) Memory Access Technology and Computer System
JP2019526844A (ja) アイソクロナスデータストリームを制御するためのシステムおよび方法
WO2005013639A3 (en) Buffer management system, digital audio receiver, headphones, loudspeaker, method of buffer management
CN106569893B (zh) 流量控制方法及设备
CN112565834B (zh) 一种控制输出数据的方法、装置及电子设备
CN108829370B (zh) 有声资源播放方法、装置、计算机设备及存储介质
KR20060034306A (ko) 이벤트 타임-스탬핑
WO2022134997A1 (zh) 视频跳转播放方法、装置、终端设备及存储介质
CN108573710A (zh) 一种实时去除录音回声的方法及装置
WO2022077224A1 (zh) 时钟同步方法和装置、芯片系统、无人机和终端
CN114067800A (zh) 语音识别方法、装置和电子设备
CN110166894B (zh) 一种数据处理方法、输出设备和计算机存储介质
CN108269570B (zh) 语音控制背景音乐主机的方法、装置、设备及存储介质
CN112437315B (zh) 适应多系统版本的音频适配方法及系统
US11310613B2 (en) Audio calibration method and device
US20040215992A1 (en) Method, apparatus, and computer program product for implementing time synchronization correction in computer systems
JP4507672B2 (ja) オーディオ再生装置およびクロック周波数制御方法
KR20190033983A (ko) 오디오장치 및 그 오디오장치의 제어방법
CN114255788B (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