一种音视频同步播放的方法和装置制造方法及图纸

技术编号:3049294 阅读:207 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种音视频同步播放的方法,所述方法包括:打开音视频文件;记录播放所述音视频的累计时间;在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;如果否,则调节视频文件的当前帧为目标帧,所述目标帧的时间戳与所述当前的累计时间的偏差在一帧时间之内;播放调节后的音视频。本发明专利技术还公开了一种音视频同步播放的装置。本发明专利技术通过在每次中断处理中判断当前的累计播放时间和文件中的时间戳的偏差是否在一帧时间之内,如果提前了一帧则退出中断处理,如果滞后一帧,则丢掉一帧,直接显示下一帧的方法,将音视频的偏差始终控制在一帧之内,使得音视频的播放保持同步。

【技术实现步骤摘要】

本专利技术涉及音视频
,特别是涉及一种音视频同步播放的 5方法和装置。
技术介绍
随着多媒体技术的不断发展,多媒体文件(例如音频文件、视频 文件、音视频文件、幻灯片文件等)可以在不同的平台上播放,而在 播放音视频文件时,音视频不同步会对该音视频的欣赏造成很大的影 10 响。目前,在播放音视频文件时, 一般釆用的是在Timer中断中向音 频设备传输音频数据,同时显示视频图片的机制。这种机制釆用的音 视频播放相互制约的方法,来实现音视频的相对同步。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问 15题由于系统资源和操作系统的调度的原因,会造成音视频之间的播 放时间出现误差,使得音视频出现不同步现象,从而影响观看效果。
技术实现思路
本专利技术实施例要解决的问题是提供一种音视频同步播放的方法 和装置,以克服现有技术中播放音视频文件不同步的缺陷。20 为达到上述目的,本专利技术实施例的技术方案提供一种音视频同步播放的方法,所述方法包括以下步骤打开音视频文件;记录播放所 述音视频的累计时间;在计时器中断中,判断当前的累计时间和所述 音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;如果否, 则调节视频文件的当前幀为目标帧,所述目标帧的时间戳与所述当前 25 的累计时间的偏差在一帧时间之内;播放调节后的音视频。其中,在所述记录播放音视频的累计时间的步骤中,具体包括在开始播放所述音视频时,启动一个长计时器,所述长计时器的初始 值为0。其中,在所述判断当前的累计时间和音视频文件中当前帧的时间戳的偏差是否在一帧时间之内的步骤中,具体包括获取所述长计时 5器当前的计数时间;获取所述音视频文件中当前帧的时间戳;计算所述计数时间和所述时间戳的偏差;判断所述偏差是否在所述音视频文件的一帧时间之内。其中,在所述调节视频文件的当前帧为目标帧的步骤中,具体包括当所述当前的累计时间提前于当前帧的时间戳时,所述目标帧为 io所述当前帧的上一帧,退出所述计时器中断处理,继续显示所述当前帧的上一帧。其中,在所述调节视频文件的当前帧为目标帧的步骤中,具体包 括当所述当前的累计时间滞后于当前帧的时间戳时,所述目标帧为 所述当前帧的下一帧,显示所述目标帧,并将所述当前帧和所述目标15帧的缓冲的标志都置为已显示。其中,在所述播放调节后的音视频的步骤中,具体包括从所述 音视频文件中读取音频和视频数据到缓冲中;将所述音频数据写到音 频播放的先入先出缓冲器中。本专利技术实施例的技术方案还提供了一种音视频同步播放的装置,20所述装置包括累计时间记录单元,用于记录播放音视频的累计时间; 时间戳获取单元,用于获取音视频文件中当前帧的时间戳;判断单元, 用于在计时器中断中,判断所述累计时间记录单元记录的当前累计时 间和所述时间戳获取单元获取的时间戳的偏差是否在一帧时间之内; 调节单元,用于当所述判断单元的判断结果为否时,调节视频文件的25当前帧为目标帧,所述目标帧的时间戳与所述当前累计时间的偏差在 一帧时间之内;音视频播放单元,用于播放所述调节单元调节后的音 视频。其中,所述累计时间记录单元为长计时器,所述长计时器的初始 值为0。上述技术方案仅是本专利技术的一个优选技术方案,具有如下优点 本专利技术实施例通过在每次中断处理中判断当前的累计播放时间和文 5件中的时间戳的偏差是否在一帧时间之内,如果提前了一帧则退出中 断处理,如果滞后一帧,则丢掉一帧,直接显示下一帧的方法,将音 视频的偏差始终控制在一帧之内,使得音视频的播放保持同步。附图说明图l是本专利技术实施例的一种音视频同步播放的方法的流程图; io 图2是本专利技术实施例的一种音视频同步播放的装置的结构图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细 描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本专利技术实施例的一种音视频同步播放的方法的流程如图l所示, 15首先本实施例在不改动原来的同步机制前提下,引入了一个长Timer (计时器)来进行同步的修正,用长计时器来记录开始播放的累计时 间,在计时器中断中向音频设备传输音频数据,同时显示视频图片, 在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的 时间戳的偏差是否在一帧时间之内,如果否,则调节视频文件的当前 20帧为目标帧,使得音视频的偏差始终控制在一帧之内,最后播放调节 后的音视频。参照图l,本实施例包括以下步骤步骤sl01,打开音视频文件。步骤sl02,记录播放所述音视频的累计时间。本实施例中在开始 播放所述音视频时,启动一个长计时器,用长计时器来记录开始播放 25的累计时间,所述长计时器的初始值为0,精度可以在亳秒级。步骤sl03,在计时器中断中,获取所述长计时器当前的计数时间 和所述音视频文件中当前帧的时间戳。步骤S104,计算所述计数时间和所述时间戳的偏差。步骤s105,判断所述偏差是否在所述音视频文件的一帧时间之 内。如果是,则转步骤sl06,否则转步骤sl07。步骤sl06,显示当前帧,然后将帧Buffer的标志置为已显示, 5 并转步骤sl10。步骤s107,判断所述当前的累计时间是否提前于当前帧的时间 戳,如果是,则转步骤sl08,否则转步骤sl09。步骤sl08,退出所述计时器中断处理,继续显示所述当前帧的上 一帧,并转步骤sl10。 io 步骤sl09,显示当前帧的下一帧,然后将所述当前帧和所述目标帧Buffer的标志都置为已显示。步骤sl10,从所述音视频文件中读取音频和视频数据到缓冲中。 步骤slll,将所述音频数据写到音频播放的Fifo (First In First Out,先入先出缓冲器)中。 15 本专利技术实施例的一种音视频同步播放的装置如图2所示,所述装 置包括累计时间记录单元21、时间戳获取单元22、判断单元23、调 节单元24和音视频播放单元25。其中,判断单元23分别与累计时 间记录单元21、时间戳获取单元22和调节单元24连接,音视频播 放单元25与调节单元24连接。 20 累计时间记录单元21为长计时器,其初始值为0,精度可以在亳秒级,用于记录播放音视频的累计时间;时间戳获取单元22用于 获取音视频文件中当前帧的时间戳;判断单元23用于在Timer中断 中,判断累计时间记录单元21记录的当前累计时间和时间戳获取单 元22获取的时间戳的偏差是否在一帧时间之内;调节单元24用于当 25判断单元23的判断结果为否时,调节视频文件的当前帧为目标帧,所述目标帧的时间戳与所述当前累计时间的偏差在一帧时间之内;音 视频播放单元25用于播放调节单元24调节后的音视频。实施例一,当播放一个音视频文件时,在开始播放所述音视频时, 启动一个长计时器,用长计时器来记录开始播放的累计时间,所述长 计时器的初始值为O,精度在亳秒级。假设在计时器中断中,所述音视频文件中当前帧A的时间戳为TA,当前帧的上一帧A-1的时间 5戳为TA-Tf,其中Tf为所述音视频文件的一帧时间,所述长计时器 当前的计数时间T小于或等于TA-Tf,则长计时器当前的计数时间T 和所述音视频文件中当前帧A的时间戳TA的偏差大于或等于所述音 视频文件的一帧时间Tf。此时退出所述计时器中断处理,继续显示所 述当前帧的上一帧A-l,然本文档来自技高网...

【技术保护点】
一种音视频同步播放的方法,其特征在于,所述方法包括以下步骤:    打开音视频文件;    记录播放所述音视频的累计时间;    在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;    如果否,则调节视频文件的当前帧为目标帧,所述目标帧的时间戳与所述当前的累计时间的偏差在一帧时间之内;    播放调节后的音视频文件。

【技术特征摘要】
1、一种音视频同步播放的方法,其特征在于,所述方法包括以下步骤打开音视频文件;记录播放所述音视频的累计时间;在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;如果否,则调节视频文件的当前帧为目标帧,所述目标帧的时间戳与所述当前的累计时间的偏差在一帧时间之内;播放调节后的音视频文件。2、 如权利要求1所述音视频同步播放的方法,其特征在于,在 所述记录播放音视频的累计时间的步骤中,具体包括在开始播放所述音视频时,启动一个长计时器,所述长计时器的 初始值为0。3、如权利要求2所述音视频同步播放的方法,其特征在于,在所述判断当前的累计时间和音视频文件中当前帧的时间戳的偏差是 否在一帧时间之内的步骤中,具体包括 获取所述长计时器当前的计数时间; 获取所述音视频文件中当前帧的时间戳;计算所述计数时间和所述时间戳的偏差;判断所述偏差是否在所述音视频文件的一帧时间之内。4、 如权利要求1所述音视频同步播放的方法,其特征在于,在 所述调节视频文件的当前帧为目标帧的步骤中,具体包括当所述当前的累计时间提前于当前帧的时间戳时,所述目标帧为 25所述当前帧的上一帧,退出所述计时器中断处理,继续显示所述当前 帧的...

【专利技术属性】
技术研发人员:李志刚
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1