变速软件实现方法与装置的制作方法

文档序号:6444267阅读:219来源:国知局
专利名称:变速软件实现方法与装置的制作方法
技术领域
本申请涉及软件技术领域,特别是涉及一种变速软件的实现方法与装置。
背景技术
变速软件,顾名思义是实现变速功能的软件,通过变速软件,人们可以以自己想要的速度对软件进行变速,享受个性化的使用体验。例如,实现游戏变速功能的变速软件。游戏变速功能是一个内置于游戏插件中的游戏辅助功能,能够实现对flash游戏的游戏速度加快或减慢的效果,增加用户游戏乐趣。如,在游戏中,用户躲避敌人的子弹时,使用变速游戏变速功能将游戏速度放慢,从而躲开子弹。传统的变速软件在实现变速时,是通过进程注入的技术,劫持目标进程,然后强行更改进程内部所有时间的速度。这样做,一方面容易被杀毒软件拦截,还容易造成软件的崩溃;另一方面,会对目前所有的进程都进行变速,如对当前打开的WORD文档的进程也进行劫持,对WORD文档进行变速,但这些变速是不必要的,有可能造成无法预知的系统问题,也给系统造成不必要的负担。因此,目前需要本领域技术人员迫切解决的一个技术问题就是如何在实现软件变速时,不被杀毒软件拦截或造成软件崩溃,且能减轻现有变速软件变速时造成的不必要的系统负担。

发明内容
本申请所要解决的技术问题是提供一种变速软件实现方法与装置,以解决现有技术的变速软件在实现变速时,易被杀毒软件拦截或造成软件崩溃,以及造成系统不必要负担的问题。为了解决上述问题,本申请公开了一种变速软件实现方法,包括确定待变速软件的当前进程使用的时间函数;在所述当前进程中,使用确定的所述时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差;根据输入的变速参数,对所述时间差进行调整;以所述当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的所述时间差的时间后,播放所述下一个音频帧和/或视频帧。优选地,在以所述当前音频帧和/或视频帧的实际开始播放时间为起点的步骤之前,还包括使用确定的所述时间函数,获取所述当前音频帧和/或视频帧的实际开始播放时间。优选地,所述确定待变速软件的当前进程使用的时间函数的步骤包括获取多个获取时间的时间函数;根据所述多个时间函数获取时间的误差,确定误差最小的时间函数为所述待变速软件的当前进程使用的时间函数。优选地,在所述获取多个获取时间的时间函数的步骤之前,还包括设置系统函数 timeGettime函数获取时间的误差,使所述timeGettime函数成为所述误差最小的时间函
优选地,在所述设置系统函数timeGettime函数获取时间的误差的步骤之后,还包括在所述timeGettime函数中,重新设置表示所述timeGettime函数进行过修改的函数值,使所述timeGettime函数继续执行。优选地,在根据输入的变速参数,对所述时间差进行调整的步骤之前,还包括接收服务器端发送的参考变速参数作为所述输入的变速参数;或者,接收所述服务器端发送的所述参考变速参数,根据所述参考变速参数选择所述输入的变速参数;其中,所述参考变速参数由所述服务器端对多个所述变速软件向其上报的实际变速参数进行统计获得。优选地,所述变速软件为所述待变速软件的插件。为了解决上述问题,本申请还公开了一种变速软件实现装置,包括确定模块,用于确定待变速软件的当前进程使用的时间函数;计算模块,用于在所述当前进程中,使用确定的所述时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差;调整模块,用于根据输入的变速参数,对所述时间差进行调整;变速模块,用于以所述当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的所述时间差的时间后,播放所述下一个音频帧和/或视频帧。优选地,变速软件实现装置还包括获取模块,用于在所述变速模块以所述当前音频帧和/或视频帧的实际开始播放时间为起点之前,使用确定的所述时间函数,获取所述当前音频帧和/或视频帧的实际开始播放时间。优选地,所述确定模块,用于获取多个获取时间的时间函数;根据所述多个时间函数获取时间的误差,确定误差最小的时间函数为所述待变速软件的当前进程使用的时间函数。优选地,变速软件实现装置还包括第一设置模块,用于在所述确定模块获取多个获取时间的时间函数之前,设置系统函数timeGettime函数获取时间的误差,使所述 timeGettime函数成为所述误差最小的时间函数。优选地,变速软件实现装置还包括第二设置模块,用于在所述第一设置模块设置系统函数timeGettime函数获取时间的误差之后,在所述timefettime函数中,重新设置表示所述timeGettime函数进行过修改的函数值,使所述timeGettime函数继续执行。优选地,变速软件实现装置还包括变速参考模块,用于在所述调整模块根据输入的变速参数,对所述时间差进行调整之前,接收服务器端发送的参考变速参数作为所述输入的变速参数;或者,接收所述服务器端发送的所述参考变速参数,根据所述参考变速参数选择所述输入变速参数;其中,所述参考变速参数由所述服务器端对多个所述变速软件向其上报的实际变速参数进行统计获得。优选地,所述变速软件实现装置实现的变速软件为所述待变速软件的插件。与现有技术相比,本申请具有以下优点本申请通过确定当前进程使用的时间函数,然后在当前进程内,根据输入的变速参数,使用该时间函数对前后两个音/视频帧的原定播放时间差进行调整,使得后一音/视频帧可以在前一音/视频帧实际开始播放时间的基础上,以期望的速度变速播放。如,变速参数指示以一定速度减慢音/视频的播放速度,则经过对原定播放时间差的调整,时间差就增大了,后一音/视频帧的播放就会推迟,从而达到变慢的目的。因为是在当前进程中对时间差进行调整,该调整只对当前进程中的线程进行操作,而不涉及其它进程,因此更加安全,不会被认为是病毒或木马,从而不会被杀毒软件拦截或造成软件崩溃;另外,因调整仅涉及当前进程,也即系统只需对当前进程进行操作,无需操作其它无关进程,因而减轻了系统不必要的负担。可见,通过本申请,解决了现有技术的变速软件在实现变速时,易被杀毒软件拦截或造成软件崩溃,以及造成系统不必要负担的问题,达到了提高变速软件实现变速功能的安全性,减轻系统负担的效果。


图1是根据本申请实施例一的一种变速软件实现方法的步骤流程图;图2是根据本申请实施例二的一种变速软件实现方法的步骤流程图;图3是根据本申请实施例三的一种变速软件实现方法的步骤流程图;图4是根据本申请实施例四的一种变速软件实现装置的结构框图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。实施例一参照图1,示出了根据本申请实施例一的一种变速软件实现方法的步骤流程图。本实施例的变速软件实现方法包括以下步骤步骤S102 确定待变速软件的当前进程使用的时间函数。其中,系统原来的时间函数用于实现获取时间的功能。通过确定待变速软件的当前进程使用的时间函数,使得音频帧和/或视频帧的播放时间调整仅在本进程中进行,而不涉及其它进程的时间。步骤S104 在待变速软件的当前进程中,使用确定的时间函数计算当前音频帧和 /或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差。本实施例中,通过对待变速软件的当前进程使用的,系统原来的时间函数的函数体的修改和扩展,使其能够计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差,并根据输入的变速参数,对该时间差进行调整,以实现当前进程中的变速功能。其中,原设定播放时间表示原程序或软件中设定的音频帧和/或视频帧的播放时间。如,原程序中设定,当前音频帧和/或视频帧在程序启动后的第Is播放,在间隔2s后, 也即在程序启动后的第3s播放下一音频帧和/或视频帧。步骤S106 在待变速软件的当前进程中,根据输入的变速参数,对该时间差进行调整。其中,变速参数可以是人工输入的变速参数,如在游戏过程中,用户人工选择变速速率,则该变速速率将被作为变速参数被用来对时间差进行调整;变速参数也可以是预先设定的参数,如在音视频播放中,如果用户选择慢播或快播,则系统会根据预先设定当前音频帧和/或视频帧在程序启动后的第Is播放,在间隔2s后,也即在程序启动后的第3s播放下一音频帧和/或视频帧的慢播或快播速率对音视频播放进行调整。优选地,输入的变速参数还可以是根据服务器端反馈的参考变速参数进行选择输入的变速参数。其中,服务器端反馈是参考变速参数是由服务器端对所有收集到的用户在实际使用变速软件时输入的实际变速参数进行统计获得,比如,服务器端统计收集到的多个实际变速参数中使用频率最高的变速参数,或者,实际变速参数中参数值最高的变速参数,然后反馈给用户(即待变速软件),由用户根据该反馈的信息,决定输入的变速参数,用户可以直接将服务器端反馈的参考变速参数作为输入的变速参数进行变速,也可以根据参考变速参数选择其它变速参数进行输入,如选择比参考值最高的变速参数更高的值等。步骤S108 在待变速软件的当前进程中,以当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的时间差的时间后,播放下一个音频帧和/或视频帧。因为对原程序中设定的播放的时间间隔(即时间差)进行了调整,则当前音频帧和/或视频帧的实际开始播放时间可能不同于原设定的播放时间。因此,需要以当前音频帧和/或视频帧的实际开始播放的时间为起点,起算当前音频帧和/或视频帧和下一音频帧和/或视频帧调整后的播放时间间隔,进行音频帧和/或视频帧播放。如,以原播放速度的3倍慢速播放音频帧和/或视频帧,则如步骤S104中设定,当前音频帧和/或视频帧在程序启动后的第Is播放,对原间隔k调整为2(s)*3 = 6 (s),也即在程序启动后的第7s播放下一音频帧和/或视频帧。需要说明的是,一般情况下,变速软件作为待变速软件的插件形式实现,但不限于此,其它任意适当形式,如单独的软件形式也可以实现。变速软件作为待变速软件的插件, 使得变速软件和待变速软件成为一个整体,从而降低了软件实现成本,提高了用户使用体验,也使得变速软件的使用更加方便和安全。通过本实施例,先确定当前进程使用的时间函数,然后在当前进程内,根据输入的变速参数,使用该时间函数对前后两个音/视频帧的原定播放时间差进行调整,使得后一音/视频帧可以在前一音/视频帧实际开始播放时间的基础上,以期望的速度变速播放。因为是在当前进程中对时间差进行调整,该调整只对当前进程中的线程进行操作,而不涉及其它进程,因此更加安全,不会被认为是病毒或木马,从而不会被杀毒软件拦截或造成软件崩溃;另外,因调整仅涉及当前进程,也即系统只需对当前进程进行操作,无需操作其它无关进程,因而减轻了系统不必要的负担。可见,通过本实施例,解决了现有技术的变速软件在实现变速时,易被杀毒软件拦截或造成软件崩溃,以及造成系统不必要负担的问题,达到了提高变速软件实现变速功能的安全性,减轻系统负担的效果。实施例二参照图2,示出了根据本申请实施例二的一种变速软件实现方法的步骤流程图。本实施例的变速软件实现方法包括以下步骤步骤S202 设置系统的timeGettime函数获取时间的误差,使其成为所有获取时间的函数中误差最小的时间函数。其中,timeGettime函数是一个系统函数,用于获取时间。本步骤中,通过设置 timeGettime函数获取时间的误差,使timeGettime函数成为所有获取时间的函数中误差最小的时间函数。涉及音视频播放的程序,如flash程序,在初始化时会判断获取时间的时间函数的精度,从多个时间函数之间选取精度高的函数来使用。针对这种情况,本实施例在flash初始化之前,设置timeGettime的时间精度(通过系统函数修改其获取系统时间的误差), 比如设置为误差为1ms,那么flash初始化时会判断timeGettime符合它对时间精度的要求,从而保证了函数的使用。选择对timeGettime函数进行修改,是因为flash在从多个时间函数之间选取精度高的函数来使用时,会首先对timeGettime函数进行判断,判断其是否符合flash对时间精度的要求,对timeGettime函数进行修改使其符合flash的要求,从而加快了时间函数选择速度,提高了程序执行效率。当然,也可以修改其它时间函数,减小其获取时间的误差,使其符合要求。步骤S204 在timeGettime函数中,重新设置表示timeGettime函数进行过修改的函数值,使timeGettime函数继续执行。重新设置表示timeGettime函数进行过修改的函数值的目的是达到跳过加速检查的效果。涉及音视频播放的程序,如flash程序,在调用时间函数前,会对时间函数进行检查,判断其是否被修改过。如果被修改过,则程序会认为该时间函数是外挂,从而跳过该时间函数不再执行,转而执行下一个函数。加速检查的原理是在调用时间函数时,程序会在调用之前,检查该函数的第一个值(即函数首地址处的数值),如果该值为十六进制形式的 “09”,其在汇编中的意义为jmp,则说明该函数做过修改,不再调用该函数。本实施例中,通过汇编修改,将“09”偏移到下一个地址,从而达到跳过加速检查的效果。当然,在具体实现时,本领域技术人员也可以根据实际情况选择其它适当方式,使修改后的timeGettime函数跳过加速检查,实现修改后的timeGettime函数的执行。步骤S206 获取多个获取时间的时间函数。其中,多个时间函数中包括修改过的timeGettime函数。步骤S208 根据多个时间函数获取时间的误差,确定误差最小的时间函数为待变速软件的当前进程使用的时间函数。由前述步骤可知,本实施例中,timeGettime函数为误差最小的函数。因此,本步骤中,确定timeGettime函数为待变速软件的当前进程使用的时间函数。获取时间的误差越小,播放的时间就越准确,变速功能就越精准,从而提升用户使用变速功能的使用体验。步骤S210 在待变速软件的当前进程中,使用确定的误差最小的时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差。本实施例中,设定当前音频帧和/或视频帧的原设定播放时间为程序启动后的第 3s,其下一个音频帧和/或视频帧的原设定播放时间为程序启动后的第5s,二者的时间差为2s。步骤S212 在待变速软件的当前进程中,根据输入的变速参数,对计算的时间差进行调整。本实施例中,设定输入的变速参数为原速度的3倍速减慢音频帧和/或视频帧的播放,则调整后的当前音频帧和/或视频帧与下一个音频帧和/或视频帧的时间差的
=6s0步骤S214 在待变速软件的当前进程中,使用确定的误差最小的时间函数获取当前音频帧和/或视频帧的实际开始播放时间。需要说明的是,本步骤也可以在步骤S210之前执行。
步骤S216 在待变速软件的当前进程中,以当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的时间差的时间后,播放下一个音频帧和/或视频帧。本步骤中,当前音频帧和/或视频帧的实际开始播放时间通过步骤S214取得。假设,当前音频帧和/或视频帧的实际开始播放时间为程序启动后的第7s,则经过6s的时间差后,实现播放下一个音频帧和/或视频帧的时间为程序启动后的第13s。本实施例不但解决了现有技术的变速软件在实现变速时,易被杀毒软件拦截或造成软件崩溃,以及造成系统不必要负担的问题;而且,通过在当前进程中,使用修改后的 timeGettime函数确定当前音频帧和/或视频帧的实际开始播放时间,使音频帧和/或视频帧的播放更加精准,提升了变速功能的准确性,提高了用户使用变速功能的使用体验。实施例三参照图3,示出了根据本申请实施例三的一种变速软件实现方法的步骤流程图。本实施例以游戏变速功能为例,对本申请的变速软件实现方法作以说明。游戏变速功能是一个内置于游戏插件中的游戏辅助功能。能够实现对flash游戏的游戏速度加快或减慢效果,增加用户游戏乐趣。flash是通过时间来进行动态的绘制的,通过获取两次时间,计算间隔,来实现flash帧播放时间的计算。本实施例通过在进程内对获取时间的函数进行修改,来达到变速的目的。比如,将获取的第二次时间变长,时间差就增大,flash绘制下一帧的时间也会推迟,从而达到变慢的目的。因为是在本进程,而且只对flash的线程进行操作,因此比普通的方法更加安全。本实施例的变速软件实现方法包括以下步骤步骤S302 启动游戏变速插件程序。步骤S304 加载当前进程获取时间的时间函数。本步骤中,可以通过装载系统的动态链接库(winmm. dll),从中得到相应的时间函数,从这些时间函数中确定当前进程使用的时间函数进行加载。本实施例中的变速软件是针对flash进行优化,经过研究得知flash在初始化时会判断时间函数的精度,从多个函数之间选取精度高的函数来使用,针对这种情况,本实施例在flash初始化之前,通过系统函数修改,实现timeGettime函数的时间精度的设置, flash初始化时会判断timeGettime函数符合它的要求,从而确定使用timeGettime函数。另外,flash在调用时间函数时,会在调用之前,检查函数的第一个值,如果该值为 09,在汇编中的意义为jmp,则说明该函数做过修改,不再调用该函数。本实施例通过汇编修改,将timeGettime函数的第一个值,即“09”(十六进制)偏移到下一个地址,从而达到跳过加速检查的效果。步骤S306 将加载的原时间函数替换为自定义的时间函数,同时保存默认结果。自定义的时间函数即对原时间函数的函数体进行了扩展和修改,使其具有计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差,根据输入的变速参数,对所述时间差进行调整的时间函数。保存的默认结果为此次原时间函数返回的值。步骤S308 游戏调用自定义的时间函数,获得下一个待播放的音频帧和/或视频帧的原设定播放时间。在该过程中,自定义的时间函数会找到未修改的原时间函数的函数体部分,向该函数体发出请求,然后获得下一个待播放的音频帧和/或视频帧的原设定播放时间的值, 进而存储返回的结果。步骤S310 自定义的时间函数根据上次返回的结果和本次结果做比较,得出差值。S卩,自定义的时间函数根据上次请求获得的音频帧和/或视频帧的原设定播放时间,和本次请求获得的音频帧和/或视频帧的原设定播放时间做比较的结果,得到两个音频帧和/或视频帧的原设定播放时间的时间差。步骤S312 自定义的时间函数根据倍率对差值进行修改。S卩,根据输入的变速参数,调整时间差的值。自定义的时间函数先得到本次请求的函数的返回结果,然后和上次的返回结果作比较,得到的差值再根据变速的倍率做修改(比如2倍速就乘以幻,得到的值加到上次返回的结果,就是最终的结果,最终结果会被自定义的时间函数保存,用于下一次的计算。步骤S314 将处理过的结果输出的游戏。S卩,根据调整后的时间差的值,对flash的播放进行变速。通过本实施例,实现了(1)内置的专用flash游戏变速功能,因该功能仅在本进程内实现,相比传统变速软件更加专业,安全,无病毒木马风险;( 因是对进程内部使用的时间函数的修改,因此能够完美地支持flash目前所有版本,相比传统变速软件对flash游戏有更好的优化体验和技术针对性;C3)技术构架上更加稳定,不会影响当前游戏以外的任何程序;(4)使用更加简单,方便,有效。实施例四参照图4,示出了根据本申请实施例四的一种变速软件实现装置的结构框图。本实施例的变速软件实现装置包括确定模块402,用于确定待变速软件的当前进程使用的时间函数;计算模块404,用于在当前进程中,使用确定的时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差;调整模块406,用于根据输入的变速参数,对时间差进行调整;变速模块408,用于以当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的时间差的时间后,播放下一个音频帧和/或视频帧。优选地,本实施例的变速软件实现装置还包括获取模块410,用于在变速模块 408以当前音频帧和/或视频帧的实际开始播放时间为起点之前,使用确定的时间函数,获取当前音频帧和/或视频帧的实际开始播放时间。优选地,确定模块402,用于获取多个获取时间的时间函数;根据多个时间函数获取时间的误差,确定误差最小的时间函数为待变速软件的当前进程使用的时间函数。优选地,本实施例的变速软件实现装置还包括第一设置模块412,用于在确定模块402获取多个获取时间的时间函数之前,设置系统函数timeGettime函数获取时间的误差,使timeGettime函数成为误差最小的时间函数。优选地,本实施例的变速软件实现装置还包括第二设置模块414,用于在第一设置模块412设置系统函数timeGettime函数获取时间的误差之后,在timeGettime函数中, 重新设置表示timeGettime函数进行过修改的函数值,使timeGettime函数继续执行。优选地,本实施例的变速软件实现装置还包括变速参考模块416,用于在调整模
10块406根据输入的变速参数,对时间差进行调整之前,接收服务器端发送的参考变速参数作为输入的变速参数;或者,接收服务器端发送的参考变速参数,根据参考变速参数选择所述输入的变速参数;其中,参考变速参数由服务器端对多个变速软件向其上报的实际变速参数进行统计获得。优选地,变速软件实现装置实现的变速软件为所述待变速软件的插件。本实施例的变速软件实现装置用于实现前述多个方法实施例中相应的变速软件实现方法,并具有相应的变速软件实现方法的有益效果,在此不再赘述。需要说明的是,本申请的变速软件实现方案尤其适用于实现游戏软件的变速功能,对游戏软件中FLASH帧的播放进行调整。通过本申请的方案,解决了现有技术的变速软件在实现变速时,易被杀毒软件拦截或造成软件崩溃,以及造成系统不必要负担的问题,达到了提高变速软件实现变速功能的安全性,减轻系统负担的效果。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本申请所提供的一种变速软件实现方法与装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种变速软件实现方法,其特征在于,包括确定待变速软件的当前进程使用的时间函数;在所述当前进程中,使用确定的所述时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差;根据输入的变速参数,对所述时间差进行调整;以所述当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的所述时间差的时间后,播放所述下一个音频帧和/或视频帧。
2.根据权利要求1所述的方法,其特征在于,在以所述当前音频帧和/或视频帧的实际开始播放时间为起点的步骤之前,还包括使用确定的所述时间函数,获取所述当前音频帧和/或视频帧的实际开始播放时间。
3.根据权利要求2所述的方法,其特征在于,所述确定待变速软件的当前进程使用的时间函数的步骤包括获取多个获取时间的时间函数;根据所述多个时间函数获取时间的误差,确定误差最小的时间函数为所述待变速软件的当前进程使用的时间函数。
4.根据权利要求3所述的方法,其特征在于,在所述获取多个获取时间的时间函数的步骤之前,还包括设置系统函数timeGettime函数获取时间的误差,使所述timeGettime函数成为所述误差最小的时间函数。
5.根据权利要求4所述的方法,其特征在于,在所述设置系统函数timeGettime函数获取时间的误差的步骤之后,还包括在所述timeGettime函数中,重新设置表示所述timeGettime函数进行过修改的函数值,使所述timeGettime函数继续执行。
6.根据权利要求1所述的方法,其特征在于,在根据输入的变速参数,对所述时间差进行调整的步骤之前,还包括接收服务器端发送的参考变速参数作为所述输入的变速参数;或者,接收所述服务器端发送的所述参考变速参数,根据所述参考变速参数选择所述输入的变速参数;其中,所述参考变速参数由所述服务器端对多个所述变速软件向其上报的实际变速参数进行统计获得。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述变速软件为所述待变速软件的插件。
8.一种变速软件实现装置,其特征在于,包括确定模块,用于确定待变速软件的当前进程使用的时间函数;计算模块,用于在所述当前进程中,使用确定的所述时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差;调整模块,用于根据输入的变速参数,对所述时间差进行调整;变速模块,用于以所述当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的所述时间差的时间后,播放所述下一个音频帧和/或视频帧。
9.根据权利要求8所述的装置,其特征在于,还包括获取模块,用于在所述变速模块以所述当前音频帧和/或视频帧的实际开始播放时间为起点之前,使用确定的所述时间函数,获取所述当前音频帧和/或视频帧的实际开始播放时间。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,用于获取多个获取时间的时间函数;根据所述多个时间函数获取时间的误差,确定误差最小的时间函数为所述待变速软件的当前进程使用的时间函数。
11.根据权利要求10所述的装置,其特征在于,还包括第一设置模块,用于在所述确定模块获取多个获取时间的时间函数之前,设置系统函数timeGettime函数获取时间的误差,使所述timeGettime函数成为所述误差最小的时间函数。
12.根据权利要求11所述的装置,其特征在于,还包括第二设置模块,用于在所述第一设置模块设置系统函数timeGettime函数获取时间的误差之后,在所述timeGettime函数中,重新设置表示所述timeGettime函数进行过修改的函数值,使所述timeGettime函数继续执行。
13.根据权利要求8所述的装置,其特征在于,还包括变速参考模块,用于在所述调整模块根据输入的变速参数,对所述时间差进行调整之前,接收服务器端发送的参考变速参数作为所述输入的变速参数;或者,接收所述服务器端发送的所述参考变速参数,根据所述参考变速参数选择所述输入变速参数;其中,所述参考变速参数由所述服务器端对多个所述变速软件向其上报的实际变速参数进行统计获得。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述变速软件实现装置实现的变速软件为所述待变速软件的插件。
全文摘要
本申请提供了一种变速软件的实现方法与装置,其中,变速软件实现方法包括确定待变速软件的当前进程使用的时间函数;在所述当前进程中,使用确定的所述时间函数计算当前音频帧和/或视频帧的原设定播放时间与下一个音频帧和/或视频帧的原设定播放时间的时间差;根据输入的变速参数,对所述时间差进行调整;以所述当前音频帧和/或视频帧的实际开始播放时间为起点,经过调整后的所述时间差的时间后,播放所述下一个音频帧和/或视频帧。通过本申请,达到了提高变速软件实现变速功能的安全性,减轻系统负担的效果。
文档编号G06F9/44GK102541560SQ20111045269
公开日2012年7月4日 申请日期2011年12月29日 优先权日2011年12月29日
发明者左文平, 张菊元, 赵肖勇 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1