一种音视频同步播放的方法及终端与流程

文档序号:11157683阅读:375来源:国知局
一种音视频同步播放的方法及终端与制造工艺

本发明涉及互联网直播领域,具体涉及了一种音视频同步播放的方法及终端。



背景技术:

随着互联网的发展与普及,视频直播正在越来越多的应用到我们的生活中。在此类应用中,不同时刻网络的吞吐量、传输延时等情况是不断变化的,这使得视频数据与其对应的音频数据很难同时到达接收端,容易产生“唇音不同步”的现象。

现有技术中,常见的同步方法是,当接收的音频数据可播放时间大于预设值时,开始播放音频与视频数据。但是,以音频/视频其中一方为基准来控制同步播放的话,容易出现单方面卡顿的情况。



技术实现要素:

本发明实施例提供了一种音视频同步播放的方法及终端,能够根据音频的可播放数据和视频的可播放数据调整音视频播放进度,从而保证音视频同步播放。

本发明实施例第一方面公开了一种音视频同步的方法,所述方法包括:

获取音频数据可播放的时长;

获取视频数据可播放的时长;

若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:

若所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到视频数据包;

若接收到所述视频数据包,则判断接收到的视频数据包的首帧待播放视频的时间戳与待播放的音频的时间戳是否匹配;

若所述首帧待播放视频的时间戳与所述待播放的音频的时间戳相匹配,则进行音视频同步播放。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:

若所述首帧待播放视频的时间戳与待播放的音频的时间戳不匹配,则计算所述首帧待播放视频的时间戳与待播放的音频的时间戳之间的时间差;

若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述接收到的视频数据包同步播放。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:

若所述首帧待播放视频的时间戳早于所述待播放的音频的时间戳,则根据所述时间差长度的视频确定目标视频时间点;

跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述待播放的音频同步播放。

结合第一方面,在第一方面的第四种可能的实现方式中,所述方法还包括:

若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则检测是否接收到音频数据包;

若接收到所述音频数据包,则判断接收到的音频数据包的首帧待播放音频的时间戳与待播放的视频的时间戳是否匹配;

若所述首帧待播放音频的时间戳与所述待播放的视频的时间戳相匹配,则进行音视频同步播放。

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:

若所述首帧待播放音频的时间戳与待播放的视频的时间戳不匹配,则计算所述首帧待播放音频的时间戳与待播放的视频的时间戳之间的时间差;

若所述首帧待播放音频的时间戳晚于所述待播放的视频的时间戳,则根据所述时间差长度的视频确定目标音频时间点;

跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述接收到的音频数据包同步播放。

结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:

若所述首帧待播放音频的时间戳早于所述待播放的视频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述待播放的视频同步播放。

结合第一方面,在第一方面的第七种可能的实现方式中,所述方法还包括:

若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到新的音频数据包或视频数据包;

若接收到新的音频数据包或视频数据包,则根据接收到新的音频数据包或视频数据包确定音频数据可播放的时长或视频数据可播放的时长。

本发明第二方面公开了一种终端,所述终端包括:

获取单元,用于获取音频数据可播放的时长;

所述获取单元,用于获取视频数据可播放的时长;

播放单元,用于若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

结合第二方面,在第二方面的第一种可能的实现方式中,所述终端还包括第一检测单元和第一判断单元:

所述第一检测单元,用于若所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到视频数据包;

所述第一判断单元,用于若接收到所述视频数据包,则判断接收到的视频数据包的首帧待播放视频的时间戳与待播放的音频的时间戳是否匹配;

所述播放单元,用于若所述首帧待播放视频的时间戳与所述待播放的音频的时间戳相匹配,则进行音视频同步播放。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述终端还包括第一计算单元和第一确定单元;

所述第一计算单元,用于若所述首帧待播放视频的时间戳与待播放的音频的时间戳不匹配,则计算所述首帧待播放视频的时间戳与待播放的音频的时间戳之间的时间差;

所述第一确定单元,用于若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,则根据所述时间差长度的音频以确定目标音频时间点;

所述播放单元,用于跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述接收到的视频数据包同步播放。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一确定单元,用于若所述首帧待播放视频的时间戳早于所述待播放的音频的时间戳,则根据所述时间差长度的视频确定目标视频时间点;

所述播放单元,用于跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述待播放的音频同步播放。

结合第二方面,在第二方面的第四种可能的实现方式中,所述终端还包括第二检测单元和第二判断单元:

所述第二检测单元,用于若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则检测是否接收到音频数据包;

所述第二判断单元,用于若接收到所述音频数据包,则判断接收到的音频数据包的首帧待播放音频的时间戳与待播放的视频的时间戳是否匹配;

所述播放单元,用于若所述首帧待播放音频的时间戳与所述待播放的视频的时间戳相匹配,则进行音视频同步播放。

结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述终端还包括地第二计算单元和第二确定单元;

所述第二计算单元,用于若所述首帧待播放音频的时间戳与待播放的视频的时间戳不匹配,则计算所述首帧待播放音频的时间戳与待播放的视频的时间戳之间的时间差;

所述第二确定单元,用于若所述首帧待播放音频的时间戳晚于所述待播放的视频的时间戳,则根据所述时间差长度的视频确定目标音频时间点;

所述播放单元,用于跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述接收到的音频数据包同步播放。

结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述终端还包括:

所述第二确定单元,用于若所述首帧待播放音频的时间戳早于所述待播放的视频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

所述播放单元,用于跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述待播放的视频同步播放。

结合第二方面,在第二方面的第七种可能的实现方式中,所述终端还包括第三检测单元和第三确定单元;

所述第三检测单元,用于若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到新的音频数据包或视频数据包;

所述第三确定单元,用于若接收到新的音频数据包或视频数据包,则根据接收到新的音频数据包或视频数据包确定音频数据可播放的时长或视频数据可播放的时长。

本发明第三方面公开了一种终端,所述终端包括:

存储有可执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行如第一方面或第一方面的第一种至第七种中任意一种可能的实现方式所述的方法。

可以看出,本发明实施例的方案中,获取音频数据可播放的时长;获取视频数据可播放的时长;若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。从而可知,通过实施本发明提供的技术方案,能够根据音频的可播放数据和视频的可播放数据调整音视频播放进度,从而保证音视频同步播放。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种音视频同步的方法的流程示意图;

图2为本发明实施例提供的另一种音视频同步的方法的流程示意图;

图3为本发明实施例提供的另一种音视频同步的方法的流程示意图;

图4为本发明实施例提供的一种终端的结构示意图;

图5为本发明实施例提供的另一种终端的结构示意图;

图6为本发明实施例提供的另一种终端的结构示意图;

图7为本发明实施例提供的一种终端的实体装置结构示意图。

具体实施方式

本发明实施例提供了一种音视频同步播放的方法及终端,能够根据音频的可播放数据和视频的可播放数据调整音视频播放进度,从而保证音视频同步播放。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明说明书、权利要求书和附图中出现的术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本发明的一个实施例中公开了一种音视频同步的方法,所述方法包括:获取音频数据可播放的时长;获取视频数据可播放的时长;若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

请参阅图1,图1是本发明一个实施例提供的一种音视频同步的方法的流程示意图。其中,如图1所示,本发明的一个实施例提供的一种音视频同步的方法包括以下内容:

S101、获取音频数据可播放的时长;

需要指出的是,该方法的执行主体是终端,例如可以为智能手机、平板电脑、智能穿戴式设备、计算机等电子设备。

具体的,终端中可以安装具备网络通信功能的客户端。其中,音频数据流通过网络到达客户端,然后将接收到音频数据流存入缓冲区。接着根据存储在缓冲区的音频数据流的大小确定该音频数据可播放的时长。

S102、获取视频数据可播放的时长;

接收网络传输过来的视频数据包,将接收到的视频数据包存储到缓冲区,根据缓冲区视频数据包的大小确定视频数据可播放的时长。

S103、若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

其中,需要指出的是,该第一预设时长可以是终端默认的长度,也可以是客户端厂商推荐的时长。

可选的,第一预设时长的长度可以根据网络情况进行调整。举例来说,如果网速大于1M/S,那么第一预设时长可以是10s;如果网速小于1M/S,那么第一预设时长可以是20s。

具体来说,网速越快,第一预设时长可以越短;网速越慢,第一预设时长就越长。这样才能保证音视频流畅的同步播放。

其中,需要指出的是,如果网速小于预设阈值,那么音视频就自动切换至暂停状态。

可选的,终端可以根据音频数据缓冲的速度和视频数据缓冲的速度调整音视频的播放速度。举例来说,如果音频数据加载较快、视频数据加载较慢,可以调整视频数据加速播放以使得音视频同步;如果视频数据加载较快、音频数据加载较慢,可以调整音频数据加速播放以使得音视频同步。

可选的,若所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则此时可认为音频处于可播放的状态,那么需要检测是否接收到视频数据包;

若接收到所述视频数据包,则判断接收到的视频数据包的首帧待播放视频的时间戳与待播放的音频的时间戳是否匹配;

若所述首帧待播放视频的时间戳与所述待播放的音频的时间戳相匹配,则进行音视频同步播放;

若所述首帧待播放视频的时间戳与待播放的音频的时间戳不匹配,则计算所述首帧待播放视频的时间戳与待播放的音频的时间戳之间的时间差;若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述接收到的视频数据包同步播放。

若所述首帧待播放视频的时间戳早于所述待播放的音频的时间戳,则根据所述时间差长度的视频确定目标视频时间点;跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述待播放的音频同步播放。

可选的,若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,此时则认为视频数据处于可播放的状态,那么就要检测是否接收到音频数据包;

若接收到所述音频数据包,则判断接收到的音频数据包的首帧待播放音频的时间戳与待播放的视频的时间戳是否匹配;

若所述首帧待播放音频的时间戳与所述待播放的视频的时间戳相匹配,则进行音视频同步播放。

若所述首帧待播放音频的时间戳与待播放的视频的时间戳不匹配,则计算所述首帧待播放音频的时间戳与待播放的视频的时间戳之间的时间差;

若所述首帧待播放音频的时间戳晚于所述待播放的视频的时间戳,则根据所述时间差长度的视频确定目标音频时间点;跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述接收到的音频数据包同步播放。

若所述首帧待播放音频的时间戳早于所述待播放的视频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述待播放的视频同步播放。

可选的,若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,此时认为处于暂停状态,因为音视频数据均不能播放,那么就需要检测是否接收到新的音频数据包或视频数据包;若接收到新的音频数据包或视频数据包,则根据接收到新的音频数据包或视频数据包确定音频数据可播放的时长或视频数据可播放的时长。

可以看出,本发明实施例的方案中,获取音频数据可播放的时长;获取视频数据可播放的时长;若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。从而可知,通过实施本发明提供的技术方案,能够根据音频的可播放数据和视频的可播放数据调整音视频播放进度,从而保证音视频同步播放。

请参阅图2,图2是本发明的另一个实施例提供的一种音视频同步的方法的流程示意图。其中,如图2所示,本发明的另一个实施例提供的另一种音视频同步的方法可以包括以下内容:

S201、获取音频数据可播放的时长以及视频数据可播放的时长;

需要指出的是,该方法的执行主体是终端,例如可以为智能手机、平板电脑、智能穿戴式设备、计算机等电子设备。

具体的,终端中可以安装具备网络通信功能的客户端。其中,音频数据流通过网络到达客户端,然后将接收到音频数据流存入缓冲区。接着根据存储在缓冲区的音频数据流的大小确定该音频数据可播放的时长。接收网络传输过来的视频数据包,将接收到的视频数据包存储到缓冲区,根据缓冲区视频数据包的大小确定视频数据可播放的时长。

S202、若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放;

S203、若所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到视频数据包;

其中,需要指出的是,所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则可以将当前状态标记为仅音频可播放状态,为了使得音视频同步,就需要检测是否继续接收到视频的数据包;

S204、若接收到所述视频数据包,则判断接收到的视频数据包的首帧待播放视频的时间戳与待播放的音频的时间戳是否匹配;

其中,需要指出的是,一个视频数据包括会包括一个或多个视频帧;为了让音频是同步,每帧都会有时间戳,从而使得音视频根据时间戳是否相同以确定是否匹配。

S205、若所述首帧待播放视频的时间戳与所述待播放的音频的时间戳相匹配,则进行音视频同步播放;

S206、若所述首帧待播放视频的时间戳与待播放的音频的时间戳不匹配,则计算所述首帧待播放视频的时间戳与待播放的音频的时间戳之间的时间差;

S207、若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述接收到的视频数据包同步播放;

其中,需要指出的是,若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,说明音频播放的慢,就需要跳过一部分音频数据以确定与视频时间戳相匹配的音频时间戳。

S208、若所述首帧待播放视频的时间戳早于所述待播放的音频的时间戳,则根据所述时间差长度的视频确定目标视频时间点;跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述待播放的音频同步播放。

可以看出,本发明实施例的方案中扩充了音频数据可播放视频数据不可播放的场景。从而可知,当音视频数据不同步时,根据时间戳调整音视频数据的播放进度以进行音视频同步。

请参阅图3,图3是本发明的另一个实施例提供的一种音视频同步的方法的流程示意图。其中,如图3所示,本发明的另一个实施例提供的另一种音视频同步的方法可以包括以下内容:

S301、获取音频数据可播放的时长以及视频数据可播放的时长;

需要指出的是,该方法的执行主体是终端,例如可以为智能手机、平板电脑、智能穿戴式设备、计算机等电子设备。

S302、若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放;

S303、若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则检测是否接收到音频数据包;

其中,需要指出的是,若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则可以将当前状态标记为仅视频可播放状态,为了使得音视频同步,就需要检测是否继续接收到音频的数据包。

S304、若接收到所述音频数据包,则判断接收到的音频数据包的首帧待播放音频的时间戳与待播放的视频的时间戳是否匹配;

S305、若所述首帧待播放音频的时间戳与所述待播放的视频的时间戳相匹配,则进行音视频同步播放;

S306、若所述首帧待播放音频的时间戳与待播放的视频的时间戳不匹配,则计算所述首帧待播放音频的时间戳与待播放的视频的时间戳之间的时间差;

S307、若所述首帧待播放音频的时间戳晚于所述待播放的视频的时间戳,则根据所述时间差长度的视频确定目标音频时间点;跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述接收到的音频数据包同步播放;

S308、若所述首帧待播放音频的时间戳早于所述待播放的视频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

S309、跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述待播放的视频同步播放。

S310、若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到新的音频数据包或视频数据包;若接收到新的音频数据包或视频数据包,则根据接收到新的音频数据包或视频数据包确定音频数据可播放的时长或视频数据可播放的时长。

可以看出,本发明实施例的方案中扩充了视频数据可播放音频数据不可播放的场景。从而可知,当音视频数据不同步时,可调整视频数据的播放进度以进行音视频同步。

请参阅图4,图4是本发明的一个实施例提供的一种终端的结构示意图。其中,如图4所示,本发明的一个实施例提供的一种终端400,其中,该终端可以是智能手机、平板电脑、智能穿戴设备等设备。该终端400包括获取单元401和播放单元402;

获取单元401,用于获取音频数据可播放的时长;还用于获取视频数据可播放的时长;

播放单元402,用于若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

其中,获取单元401和播放单元402可以用于执行实施例1中步骤S101至S103所述的方法,具体描述详见实施例1对所述方法的描述,在此不再赘述。

请参阅图5,图5是本发明的一个实施例提供的一种终端的结构示意图。其中,如图4所示,本发明的一个实施例提供的一种终端500,其中,该终端可以是智能手机、平板电脑、智能穿戴设备等设备。该终端500包括获取单元501、播放单元502、第一检测单元503、第一判断单元504、第一计算单元505以及第一确定单元506;

获取单元501,用于获取音频数据可播放的时长以及视频数据可播放的时长;

播放单元502,用于若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放;

第一检测单元503,用于若所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到视频数据包;

第一判断单元504,用于若接收到所述视频数据包,则判断接收到的视频数据包的首帧待播放视频的时间戳与待播放的音频的时间戳是否匹配;

播放单元502,用于若所述首帧待播放视频的时间戳与所述待播放的音频的时间戳相匹配,则进行音视频同步播放;

第一计算单元505,用于若所述首帧待播放视频的时间戳与待播放的音频的时间戳不匹配,则计算所述首帧待播放视频的时间戳与待播放的音频的时间戳之间的时间差;

第一确定单元506,用于若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,则根据所述时间差长度的音频以确定目标音频时间点;

播放单元502,用于跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述接收到的视频数据包同步播放。

第一确定单元506,还用于若所述首帧待播放视频的时间戳早于所述待播放的音频的时间戳,则根据所述时间差长度的视频确定目标视频时间点;

播放单元502,用于跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述待播放的音频同步播放。

其中,获取单元501、播放单元502、第一检测单元503、第一判断单元504、第一计算单元505以及第一确定单元506可以用于执行实施例2中步骤S201至S208所述的方法,具体描述详见实施例1对所述方法的描述,在此不再赘述。

在图5的基础上,终端还可以包括图6所示的单元。如图6所示,图6是本发明的一个实施例提供的一种终端的结构示意图。其中,如图6所示,本发明的一个实施例提供的一种终端600,其中,该终端可以是智能手机、平板电脑、智能穿戴设备等设备。该终端600包括获取单元601、播放单元602、第二检测单元603、第二判断单元604、第一计算单元605以及第二确定单元606、第三检测单元607以及第三判断单元608;

获取单元601,用于获取音频数据可播放的时长以及视频数据可播放的时长;

播放单元602,用于若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

第二检测单元603,用于若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则检测是否接收到音频数据包;

第二判断单元604,用于若接收到所述音频数据包,则判断接收到的音频数据包的首帧待播放音频的时间戳与待播放的视频的时间戳是否匹配;

所述播放单元,用于若所述首帧待播放音频的时间戳与所述待播放的视频的时间戳相匹配,则进行音视频同步播放。

第二计算单元605,用于若所述首帧待播放音频的时间戳与待播放的视频的时间戳不匹配,则计算所述首帧待播放音频的时间戳与待播放的视频的时间戳之间的时间差;

第二确定单元606,用于若所述首帧待播放音频的时间戳晚于所述待播放的视频的时间戳,则根据所述时间差长度的视频确定目标音频时间点;

播放单元602,用于跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述接收到的音频数据包同步播放。

第二确定单元606,用于若所述首帧待播放音频的时间戳早于所述待播放的视频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

播放单元602,用于跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述待播放的视频同步播放。

第三检测单元607,用于若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到新的音频数据包或视频数据包;

第三确定单元608,用于若接收到新的音频数据包或视频数据包,则根据接收到新的音频数据包或视频数据包确定音频数据可播放的时长或视频数据可播放的时长。

其中,获取单元601、播放单元602、第二检测单元603、第二判断单元604、第一计算单元605以及第二确定单元606、第三检测单元607以及第三判断单元608可以用于执行实施例3中步骤S301至S310所述的方法,具体描述详见实施例3对所述方法的描述,在此不再赘述。

请参阅图7,在本发明的另一个实施例中,提供一种终端。所述终端700包括CPU701、存储器702、总线703,显示屏704等硬件。其中,该终端700可以是智能手机、平板电脑、智能穿戴设备等设备。

其中,CPU701执行预先存储在存储器702中的程序,该执行过程具体包括:

获取音频数据可播放的时长;

获取视频数据可播放的时长;

若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。

可选的,所述执行过程还包括:

若所述音频数据可播放的时长大于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到视频数据包;

若接收到所述视频数据包,则判断接收到的视频数据包的首帧待播放视频的时间戳与待播放的音频的时间戳是否匹配;

若所述首帧待播放视频的时间戳与所述待播放的音频的时间戳相匹配,则进行音视频同步播放。

可选的,所述执行过程还包括:

若所述首帧待播放视频的时间戳与待播放的音频的时间戳不匹配,则计算所述首帧待播放视频的时间戳与待播放的音频的时间戳之间的时间差;

若所述首帧待播放视频的时间戳晚于所述待播放的音频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述接收到的视频数据包同步播放。

可选的,所述执行过程还包括:

若所述首帧待播放视频的时间戳早于所述待播放的音频的时间戳,则根据所述时间差长度的视频确定目标视频时间点;

跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述待播放的音频同步播放。

可选的,所述执行过程还包括:

若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则检测是否接收到音频数据包;

若接收到所述音频数据包,则判断接收到的音频数据包的首帧待播放音频的时间戳与待播放的视频的时间戳是否匹配;

若所述首帧待播放音频的时间戳与所述待播放的视频的时间戳相匹配,则进行音视频同步播放。

可选的,所述执行过程还包括:

若所述首帧待播放音频的时间戳与待播放的视频的时间戳不匹配,则计算所述首帧待播放音频的时间戳与待播放的视频的时间戳之间的时间差;

若所述首帧待播放音频的时间戳晚于所述待播放的视频的时间戳,则根据所述时间差长度的视频确定目标音频时间点;

跳过所述目标视频时间点之前的视频数据,从所述目标视频时间点开始与所述接收到的音频数据包同步播放。

可选的,所述执行过程还包括:

若所述首帧待播放音频的时间戳早于所述待播放的视频的时间戳,则根据所述时间差长度的音频确定目标音频时间点;

跳过所述目标音频时间点之前的音频数据,从所述目标音频时间点开始与所述待播放的视频同步播放。

可选的,所述执行过程还包括:

若所述音频数据可播放的时长小于所述第一预设时长且所述视频数据可播放的时长小于所述第一预设时长,则检测是否接收到新的音频数据包或视频数据包;

若接收到新的音频数据包或视频数据包,则根据接收到新的音频数据包或视频数据包确定音频数据可播放的时长或视频数据可播放的时长。

可以看出,本发明实施例的方案中,获取音频数据可播放的时长;获取视频数据可播放的时长;若所述音频数据可播放的时长大于第一预设时长且所述视频数据可播放的时长大于所述第一预设时长,则进行音视频同步播放。从而可知,通过实施本发明提供的技术方案,能够根据音频的可播放数据和视频的可播放数据调整音视频播放进度,从而保证音视频同步播放。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1