CN117768993A - 一种音频同步方法、音频播放***和存储介质 - Google Patents
一种音频同步方法、音频播放***和存储介质 Download PDFInfo
- Publication number
- CN117768993A CN117768993A CN202311799490.1A CN202311799490A CN117768993A CN 117768993 A CN117768993 A CN 117768993A CN 202311799490 A CN202311799490 A CN 202311799490A CN 117768993 A CN117768993 A CN 117768993A
- Authority
- CN
- China
- Prior art keywords
- audio
- playing
- terminal
- delay
- frame
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种音频同步方法、音频播放***和存储介质,应用于音频播放***,音频播放***包括至少两个音频终端;方法包括:响应于将播放任务下发到各音频终端的操作,获得任务启动的初始时间、播放任务的音频播放总时长和播放音频,计算各音频终端的延时数据;对比各音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与第一音频终端的延时差值作为各音频终端的延时发送时长;根据播放任务信息,计算播放任务的每帧音频时长;根据播放任务的每帧音频时长和各音频终端的延时发送时长,将播放音频的预设帧发送到对应音频终端进行播放,以实现降低不同执行规则的终端播放同一个音频的播放声音延迟。
Description
技术领域
本发明涉及广播技术领域,尤其涉及一种音频同步方法、音频播放***和存储介质。
背景技术
在现有技术中,在同一项目当中所有终端播放同一个音频,通常能够实现人耳无法辨别是否存在声音的差异与延时;但是倘若在该项目中需要接入其他项目/型号的终端,不同终端之间的执行规则不同,则会有可能导致所有终端播放同一个音频的时候,产生播放声音延迟的问题。
发明内容
本发明提供了一种音频同步方法、音频播放***和存储介质,以实现降低不同执行规则的终端播放同一个音频的播放声音延迟。
本发明提供了一种音频同步方法,应用于音频播放***,所述音频播放***包括至少两个音频终端;
所述方法包括:
响应于将播放任务下发到各所述音频终端的操作,根据播放任务信息,获得任务启动的初始时间、所述播放任务的音频播放总时长和播放音频,计算各所述音频终端的延时数据;对比各所述音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长;
根据所述播放任务信息,计算所述播放任务的每帧音频时长;根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放。
进一步地,所述根据播放任务信息,计算各所述音频终端的延时数据之前,还包括:
读取播放任务的音频文件信息,获得所述播放任务的音频数据和音频格式;
将播放任务启动的初始时间记录为初始时间,将所述音频数据、所述音频格式和所述初始时间记录在播放任务信息中。
进一步地,所述计算各所述音频终端的延时数据,具体为:
根据播放任务的音频数据和音频格式,计算所述播放任务的每秒音频的数据大小;
根据各所述音频终端的音频缓冲区大小和所述播放任务的每秒音频的数据大小,得到各所述音频终端所需的延时;所述延时为各所述音频终端从初始时间到开始播放时间的距离;
所述延时的表达式为:
其中,Tms为第二音频终端所需的延时,AudBuff为所述第二音频终端的音频缓冲区大小,MediaSize为所述播放任务的每秒音频的数据大小。
进一步地,所述计算所述播放任务的每秒音频的数据大小,具体为:
若播放任务的音频格式为WAV,则计算所述播放任务的每秒音频的数据大小的表达式为:
其中,SampleRate为音频数据的采样率,BitDeep为音频数据的音频采样精度;NumChannel为音频数据的音频声道;
若播放任务的音频格式为MP3或者AAC,则计算所述播放任务的每秒音频的数据大小的表达式为:
其中,BitRate为音频数据的比特率。
进一步地,所述计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长,具体为:
各所述音频终端的延时发送时长的表达式为:
Delayi=T1-Ti;
Delayi为第i个音频终端的延时发送时长,T1为第一音频终端的延时,Ti为第i个音频终端的延时;
进一步地,所述根据所述播放任务信息,计算所述播放任务的每帧音频时长,具体为:
若播放任务的音频格式为MP3或者AAC,则所述播放任务的每帧音频时长的表达式为:
若播放任务的音频格式为WAV,则所述播放任务的每帧音频时长的表达式为:
其中,FrameDuration为每帧音频时长,FrameSize为每帧音频大小,MediaSize为每秒音频的数据大小,BitRate为播放任务的比特率。
进一步地,根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放,具体为:
将每帧播放音频依次放进内存队列中;
从初始时间开始计时,从初始时间开始逐帧向第一音频终端发送播放音频帧;从各所述音频终端的延时发送时长开始逐帧向对应的音频终端发送播放音频帧;
当各所述音频终端的已播放时长满足预设条件,则从所述内存队列中获取下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除。
进一步地,当各所述音频终端的已播放时长满足预设条件,则从所述内存队列中获取下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除,具体为:
若当前时间大于初始时间、各所述音频终端的已播放时长和延时发送时长之和,则将下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除;所述当前时间从所述初始时间开始计时。
由于音频存在采样率、位深、声道、码率等因素影响每帧音频数据大小,因此对于同一时长的音频数据,其数据大小差异可能非常之大,因此若终端间存在其音频缓冲大小差异,无法简单的通过增加固定延时以达到所有音频所有终端同步播放的目的。
作为优选方案,本发明考虑到在各类终端当中其设置的音频缓冲大小与播放延时的差异,通过在调度音频流时根据终端缓冲和播放延时规则计算出相应的处理时间,将播放音频按照对应的处理时间分别发送到对应的音频终端中进行播放,以到达各类终端音频同步播放,降低不同执行规则的终端播放同一个音频的播放声音延迟。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
相应地,本发明还提供一种音频播放***,包括:控制模块和音频终端模块;所述音频终端模块包括至少两个音频终端;所述控制模块包括读取单元和调度单元;
所述读取单元用于响应于将播放任务下发到各所述音频终端的操作,根据播放任务信息,获得任务启动的初始时间、所述播放任务的音频播放总时长和播放音频,计算各所述音频终端的延时数据;对比各所述音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长;
所述调度单元用于根据所述播放任务信息,计算所述播放任务的每帧音频时长;根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放。
相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如本发明内容所述的一种音频同步方法。
附图说明
图1是本发明提供的音频同步方法的一种实施例的流程示意图;
图2是本发明提供的音频播放***的一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
音频终端间音频同步性是指在不同终端设备之间保持音频播放的时间一致性。
而造成终端间音频同步性差异的因素可以分为多个方面:
1.网络延迟:网络延迟是最常见的影响因素之一。在音频流传输过程中,网络延迟可能导致数据包的延迟,从而影响音频的同步性。网络延迟受到网络拓扑、带宽、网络拥塞等因素的影响。
2.网络抖动:网络抖动指的是数据包在传输过程中的不稳定性,这可能导致音频数据的抵达时间不一致。特别是在无线网络或不稳定的网络环境下,网络抖动可能更加显著。
3.时钟漂移:不同设备的时钟可能存在微小的漂移,这会导致设备之间的时钟不同步,从而影响音频同步性。时钟同步机制的缺失可能导致时间的偏移。
4.缓冲和播放延迟:不同终端设备上的音频缓冲和播放延迟可能不同,这会影响音频的同步性。设备的处理速度、缓冲策略等因素都会对同步性产生影响。
5.编解码延迟:音频编解码过程中的延迟也可能导致不同设备之间的音频播放时间不一致。不同设备上使用的编解码算法和硬件性能不同,可能引入额外的延迟。
6.协议和同步机制:使用的通信协议和同步机制也会对终端间音频同步性产生影响。一些协议和同步机制可能更加适合实时音频同步。
而其中网络延迟、网络抖动、时钟漂移、编解码延迟和协议机制均不在考虑本发明处理范围当中,本发明只考虑解决在各类终端当中其设置的音频缓冲大小与播放延时的差异以到达各类终端音频同步播放的机制;
由于音频存在采样率、位深、声道和码率等因素影响每帧音频数据大小,因此同样是10ms音频数据,但其数据大小差异非常之大,因此若终端间存在其音频缓冲大小差异,无法简单的通过增加固定延时以达到所有音频所有终端同步播放的目的。
实施例一
请参照图1,为本发明实施例提供的一种音频同步方法,应用于音频播放***,所述音频播放***包括至少两个音频终端;所述方法包括步骤S101-S103:
步骤S101:响应于将播放任务下发到各所述音频终端的操作,根据播放任务信息,获得任务启动的初始时间、所述播放任务的音频播放总时长和播放音频,计算各所述音频终端的延时数据;
进一步地,所述根据播放任务信息,计算各所述音频终端的延时数据之前,还包括:
读取播放任务的音频文件信息,获得所述播放任务的音频数据和音频格式;
将播放任务启动的初始时间记录为初始时间,将所述音频数据、所述音频格式和所述初始时间记录在播放任务信息中。
进一步地,所述计算各所述音频终端的延时数据,具体为:
根据播放任务的音频数据和音频格式,计算所述播放任务的每秒音频的数据大小;
根据各所述音频终端的音频缓冲区大小和所述播放任务的每秒音频的数据大小,得到各所述音频终端所需的延时;所述延时为各所述音频终端从初始时间到开始播放时间的距离;
所述延时的表达式为:
其中,Tms为第二音频终端所需的延时,AudBuff为所述第二音频终端的音频缓冲区大小,MediaSize为所述播放任务的每秒音频的数据大小。
步骤S102:对比各所述音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长;
步骤S103:根据所述播放任务信息,计算所述播放任务的每帧音频时长;根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放。
进一步地,所述计算所述播放任务的每秒音频的数据大小,具体为:
若播放任务的音频格式为WAV,则计算所述播放任务的每秒音频的数据大小的表达式为:
其中,SampleRate为音频数据的采样率,BitDeep为音频数据的音频采样精度;NumChannel为音频数据的音频声道;
若播放任务的音频格式为MP3或者AAC,则计算所述播放任务的每秒音频的数据大小的表达式为:
其中,BitRate为音频数据的比特率。
进一步地,所述计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长,具体为:
各所述音频终端的延时发送时长的表达式为:
Delayi=T1-Ti;
Delayi为第i个音频终端的延时发送时长,T1为第一音频终端的延时,Ti为第i个音频终端的延时;
进一步地,所述根据所述播放任务信息,计算所述播放任务的每帧音频时长,具体为:
若播放任务的音频格式为MP3或者AAC,则所述播放任务的每帧音频时长的表达式为:
若播放任务的音频格式为WAV,则所述播放任务的每帧音频时长的表达式为:
其中,FrameDuration为每帧音频时长,FrameSize为每帧音频大小,MediaSize为每秒音频的数据大小,BitRate为播放任务的比特率。
进一步地,根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放,具体为:
将每帧播放音频依次放进内存队列中;
从初始时间开始计时,从初始时间开始逐帧向第一音频终端发送播放音频帧;从各所述音频终端的延时发送时长开始逐帧向对应的音频终端发送播放音频帧;
当各所述音频终端的已播放时长满足预设条件,则从所述内存队列中获取下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除。
进一步地,当各所述音频终端的已播放时长满足预设条件,则从所述内存队列中获取下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除,具体为:
若当前时间大于初始时间、各所述音频终端的已播放时长和延时发送时长之和,则将下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除;所述当前时间从所述初始时间开始计时。
本实施例提供一个优选实施方案,选择终端a、终端b和终端c三类终端,对若干音频文件进行播放;音频文件可为mp3格式音频文件,不同mp3格式音频文件的码率不一定相同;音频文件亦可为wav格式音频文件,不同wav格式音频文件的采样率、声道和位深等参数不一定相同。
音频播放***的控制模块开启音频文件读帧线程包括:
读取音频文件信息,得出其音频数据和音频格式;将音频数据和音频格式记录至任务信息中,将任务启动初始时间TimeStarted记入任务信息中。
音频播放***的控制模块启动音频调度线程包括:
获取任务信息,并根据任务信息计算得到各终端的延时Ta、Tb和Tc;
根据计算得出最大延时终端Tb,以最大延时终端Tb作为初始标记点,得出其余终端延时发送时长:
Delaya=Tb-Ta;
Delayb=Tb-Tb;
Delayc=Tb-Tc;
读取音频帧指针存入各终端的音频队列缓冲中;等待发送线程根据终端延时,分别错峰发送至三类终端;
若音频文件为MP3,计算得出每帧的音频播放时长:
若音频文件为WAV,计算得出每帧的音频播放时长:
当前最新时间TimeNow;
终端已播放时长TimePlayeda,TimePlayedb,TimePlayedc;
if(TimeStarted+Delay+TimePlayed>TimeNow)表示需要下发新一帧给予终端;
TimePlayed+=FrameDuraion;
发送帧至终端,并将已发送帧从音频队列缓冲中移除。
实施本发明实施例,具有如下效果:
本发明考虑到在各类终端当中其设置的音频缓冲大小与播放延时的差异,通过在调度音频流时根据终端缓冲和播放延时规则计算出相应的处理时间,将播放音频按照对应的处理时间分别发送到对应的音频终端中进行播放,以到达各类终端音频同步播放,降低不同执行规则的终端播放同一个音频的播放声音延迟。
实施例二
请参照图2,为本发明实施例提供的一种音频播放***,包括:控制模块201和音频终端模块202;所述音频终端模块包括至少两个音频终端;
所述控制模块包括读取单元和调度单元;
所述读取单元用于响应于将播放任务下发到各所述音频终端的操作,根据播放任务信息,获得任务启动的初始时间、所述播放任务的音频播放总时长和播放音频,计算各所述音频终端的延时数据;对比各所述音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长;
所述调度单元用于根据所述播放任务信息,计算所述播放任务的每帧音频时长;根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放。
上述的装置可实施上述方法实施例的音频同步方法。上述方法实施例中的可选项也适用于本实施例,这里不再详述。本申请实施例的其余内容可参照上述方法实施例的内容,在本实施例中,不再进行赘述。
实施例三
相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任意一项实施例所述的音频同步方法。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据移动终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种音频同步方法,其特征在于,应用于音频播放***,所述音频播放***包括至少两个音频终端;
所述方法包括:
响应于将播放任务下发到各所述音频终端的操作,根据播放任务信息,获得任务启动的初始时间、所述播放任务的音频播放总时长和播放音频,计算各所述音频终端的延时数据;对比各所述音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长;
根据所述播放任务信息,计算所述播放任务的每帧音频时长;根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放。
2.如权利要求1所述的一种音频同步方法,其特征在于,所述根据播放任务信息,计算各所述音频终端的延时数据之前,还包括:
读取播放任务的音频文件信息,获得所述播放任务的音频数据和音频格式;
将播放任务启动的初始时间记录为初始时间,将所述音频数据、所述音频格式和所述初始时间记录在播放任务信息中。
3.如权利要求2所述的一种音频同步方法,其特征在于,所述计算各所述音频终端的延时数据,具体为:
根据播放任务的音频数据和音频格式,计算所述播放任务的每秒音频的数据大小;
根据各所述音频终端的音频缓冲区大小和所述播放任务的每秒音频的数据大小,得到各所述音频终端所需的延时;所述延时为各所述音频终端从初始时间到开始播放时间的距离;
所述延时的表达式为:
其中,Tms为第二音频终端所需的延时,AudBuff为所述第二音频终端的音频缓冲区大小,MediaSize为所述播放任务的每秒音频的数据大小。
4.如权利要求3所述的一种音频同步方法,其特征在于,所述计算所述播放任务的每秒音频的数据大小,具体为:
若播放任务的音频格式为WAV,则计算所述播放任务的每秒音频的数据大小的表达式为:
其中,SampleRate为音频数据的采样率,BitDeep为音频数据的音频采样精度;NumChannel为音频数据的音频声道;
若播放任务的音频格式为MP3或者AAC,则计算所述播放任务的每秒音频的数据大小的表达式为:
其中,BitRate为音频数据的比特率。
5.如权利要求1所述的一种音频同步方法,其特征在于,所述计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长,具体为:
各所述音频终端的延时发送时长的表达式为:
Delayi=T1-Ti;
Delayi为第i个音频终端的延时发送时长,T1为第一音频终端的延时,Ti为第i个音频终端的延时。
6.如权利要求1所述的一种音频同步方法,其特征在于,所述根据所述播放任务信息,计算所述播放任务的每帧音频时长,具体为:
若播放任务的音频格式为MP3或者AAC,则所述播放任务的每帧音频时长的表达式为:
若播放任务的音频格式为WAV,则所述播放任务的每帧音频时长的表达式为:
其中,FrameDuration为每帧音频时长,FrameSize为每帧音频大小,MediaSize为每秒音频的数据大小,BitRate为播放任务的比特率。
7.如权利要求6所述的一种音频同步方法,其特征在于,根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放,具体为:
将每帧播放音频依次放进内存队列中;
从初始时间开始计时,从初始时间开始逐帧向第一音频终端发送播放音频帧;从各所述音频终端的延时发送时长开始逐帧向对应的音频终端发送播放音频帧;
当各所述音频终端的已播放时长满足预设条件,则从所述内存队列中获取下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除。
8.如权利要求7所述的一种音频同步方法,其特征在于,所述当各所述音频终端的已播放时长满足预设条件,则从所述内存队列中获取下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除,具体为:
若当前时间大于初始时间、各所述音频终端的已播放时长和延时发送时长之和,则将下一帧播放音频帧发送到对应的音频终端中,并将已发送帧从内存队列中移除;所述当前时间从所述初始时间开始计时。
9.一种音频播放***,其特征在于,包括:控制模块和音频终端模块;所述音频终端模块包括至少两个音频终端;所述控制模块包括读取单元和调度单元;
所述读取单元用于响应于将播放任务下发到各所述音频终端的操作,根据播放任务信息,获得任务启动的初始时间、所述播放任务的音频播放总时长和播放音频,计算各所述音频终端的延时数据;对比各所述音频终端的延时数据,将播放延时最大的音频终端作为第一音频终端;计算其他音频终端与所述第一音频终端的延时差值作为各所述音频终端的延时发送时长;
所述调度单元用于根据所述播放任务信息,计算所述播放任务的每帧音频时长;根据所述播放任务的每帧音频时长和各所述音频终端的延时发送时长,将所述播放音频的预设帧发送到对应音频终端进行播放。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求1至8中任意一项所述的一种音频同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311799490.1A CN117768993A (zh) | 2023-12-25 | 2023-12-25 | 一种音频同步方法、音频播放***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311799490.1A CN117768993A (zh) | 2023-12-25 | 2023-12-25 | 一种音频同步方法、音频播放***和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117768993A true CN117768993A (zh) | 2024-03-26 |
Family
ID=90323382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311799490.1A Pending CN117768993A (zh) | 2023-12-25 | 2023-12-25 | 一种音频同步方法、音频播放***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117768993A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016041445A1 (zh) * | 2014-09-18 | 2016-03-24 | 歌尔声学股份有限公司 | 一种音频同步播放的方法、装置和*** |
WO2017177524A1 (zh) * | 2016-04-11 | 2017-10-19 | 深圳Tcl新技术有限公司 | 音视频同步播放的方法及装置 |
CN107734378A (zh) * | 2017-10-31 | 2018-02-23 | 维沃移动通信有限公司 | 一种音视频同步方法、装置及移动终端 |
CN109327724A (zh) * | 2017-08-01 | 2019-02-12 | 成都鼎桥通信技术有限公司 | 音视频同步播放方法和装置 |
CN115484483A (zh) * | 2022-08-26 | 2022-12-16 | 广东万通信息科技有限公司 | 一种流媒体音视频同步方法及终端设备、控制装置、介质 |
-
2023
- 2023-12-25 CN CN202311799490.1A patent/CN117768993A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016041445A1 (zh) * | 2014-09-18 | 2016-03-24 | 歌尔声学股份有限公司 | 一种音频同步播放的方法、装置和*** |
WO2017177524A1 (zh) * | 2016-04-11 | 2017-10-19 | 深圳Tcl新技术有限公司 | 音视频同步播放的方法及装置 |
CN109327724A (zh) * | 2017-08-01 | 2019-02-12 | 成都鼎桥通信技术有限公司 | 音视频同步播放方法和装置 |
CN107734378A (zh) * | 2017-10-31 | 2018-02-23 | 维沃移动通信有限公司 | 一种音视频同步方法、装置及移动终端 |
CN115484483A (zh) * | 2022-08-26 | 2022-12-16 | 广东万通信息科技有限公司 | 一种流媒体音视频同步方法及终端设备、控制装置、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108079578B (zh) | 一种基于云游戏的码率调整方法、装置及存储介质 | |
CN111147907B (zh) | 多智能终端同步播放的方法、装置、***及智能终端 | |
US9338208B2 (en) | Common event-based multidevice media playback | |
US8762580B2 (en) | Common event-based multidevice media playback | |
CN107801080A (zh) | 一种音视频同步方法、装置及设备 | |
US8203961B2 (en) | Methods and apparatus for providing modified timestamps in a communication system | |
WO2001035674A1 (en) | Adaptive control of streaming data in a graph | |
CN111405336B (zh) | 多设备的同步播放方法及***、电子设备、存储介质 | |
US11336383B2 (en) | Packet scheduling system with desired physical transmission time for packets | |
CN107277594A (zh) | 一种视音频与弹幕同步方法及装置 | |
WO2017107793A1 (zh) | 一种数据处理方法和设备 | |
CN113300797B (zh) | 一种多设备自适应音频同步播放方法及处理终端 | |
CN103975569A (zh) | 用于仲裁时间敏感数据传输的方法和装置 | |
CN113874850A (zh) | 跨多个设备的音频的同步 | |
CN108495177B (zh) | 一种音频变速处理方法及装置 | |
WO2024087881A1 (zh) | 时钟同步方法、装置、***、设备及存储介质 | |
CN117768993A (zh) | 一种音频同步方法、音频播放***和存储介质 | |
CN109427342A (zh) | 用于防止语音延迟的语音数据处理装置及方法 | |
CN115102931B (zh) | 自适应调整音频延迟的方法及电子设备 | |
CN111614428B (zh) | 一种提高多个时钟间同步精度的方法及装置 | |
CN114255788B (zh) | 一种异步采样的转换方法及其转换装置 | |
JP2007088994A (ja) | トラヒックシェーピング装置、およびトラヒックシェーピング方法 | |
CN114866490B (zh) | 命名数据网络拥塞控制方法及终端 | |
WO2023273601A1 (zh) | 一种音频同步方法及音频播放设备、音频源、存储介质 | |
WO2022247307A1 (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 |