CN110019855B - 根据时间轴控制动效的方法、装置、存储介质及电子设备 - Google Patents
根据时间轴控制动效的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110019855B CN110019855B CN201711259810.9A CN201711259810A CN110019855B CN 110019855 B CN110019855 B CN 110019855B CN 201711259810 A CN201711259810 A CN 201711259810A CN 110019855 B CN110019855 B CN 110019855B
- Authority
- CN
- China
- Prior art keywords
- dynamic effect
- dynamic
- effect
- acquiring
- layer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
- G06F16/4387—Presentation of query results by the use of playlists
- G06F16/4393—Multimedia presentations, e.g. slide shows, multimedia albums
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Abstract
本发明公开一种根据时间轴控制动效的方法、装置、存储介质及电子设备,该方法包括获取动效层的初始进度;间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度计算得到所述动效层的偏移时间;根据所述偏移时间获取所述动效层对应的一幕动效图像;获取连续多幕动效图像,得到动效运行画面。可以根据时间轴进行控制动效。
Description
技术领域
本发明涉及教育领域,更具体的说,涉及一种根据时间轴控制动效的方法、装置、存储介质及电子设备。
背景技术
现有的教学系统,可以利用智能手机、平板电脑、电脑等电子设备通过网络为学生进行远程授课,但是现有的教学系统动效效果不理想。
发明内容
本发明所要解决的技术问题是提供一种根据时间轴控制动效的方法、装置、存储介质及电子设备,动效控制更好。
本发明的目的是通过以下技术方案来实现的:
第一方面,本申请实施例提供一种根据时间轴控制动效的方法,应用于电子设备,所述方法包括:
获取动效层的初始进度;
间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度计算得到所述动效层的偏移时间;
根据所述偏移时间获取所述动效层对应的一幕动效图像;
获取连续多幕动效图像,得到动效运行画面。
第二方面,本申请实施例提供一种根据时间轴控制动效的装置,所述装置包括:
初始进度获取单元,用于获取动效层的初始进度;
偏移时间获取单元,用于间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度计算得到所述动效层的偏移时间;
动效图像获取单元,用于根据所述偏移时间获取所述动效层对应的一幕动效图像;
动效运行画面获取单元,用于获取连续多幕动效图像,得到动效运行画面。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的根据时间轴控制动效的方法。
第四方面,本申请实施例提供一种电子设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行上述的根据时间轴控制动效的方法。
本申请实施例提供的时间轴控制动效的方法、装置、存储介质及电子设备,通过获取动效层的初始进度;间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度计算得到所述动效层的偏移时间;根据所述偏移时间获取所述动效层对应的一幕动效图像;获取连续多幕动效图像,得到动效运行画面。可以方便的控制动效运行画面,只需针对每一幕动效图像进行控制即可,如此可以根据时间轴进行控制动效,如在动效播放的时候停留在任意时刻。
附图说明
图1为本申请实施例提供的动效运行画面实现的流程示意图;
图2为本申请实施例提供的根据时间轴控制动效的方法的流程示意图;
图3为本申请实施例提供的根据时间轴控制动效的方法的另一流程示意图;
图4为本申请实施例提供的根据时间轴控制动效的方法的又一流程示意图;
图5为本申请实施例提供的获取动效层的播放进度的流程示意图;
图6为本申请实施例提供的根据时间轴控制动效的装置的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语“单元”可看做为在该运算系统上执行的软件对象。本文所述的不同组件、单元、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
本申请中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种根据时间轴控制动效的方法,该根据时间轴控制动效的方法的执行主体可以是本申请实施例提供的根据时间轴控制动效的装置,或者集成了该根据时间轴控制动效的装置的电子设备,其中该音根据时间轴控制动效的装置可以采用硬件或者软件的方式实现。
本申请实施例将从根据时间轴控制动效的装置的角度进行描述,该根据时间轴控制动效的装置具体可以集成在电子设备中。该根据时间轴控制动效的方法包括:获取动效层的初始进度;间隔预设时间段获取动效层的播放进度,并根据播放进度计算得到动效层的偏移时间;根据偏移时间获取动效层对应的一幕动效图像;获取连续多幕动效图像,得到动效运行画面。
其中电子设备包括智能手机、平板电脑、掌上电脑、电脑、服务器等设备。
请参阅图1,图1为本申请实施例提供的动效运行画面实现的流程示意图。在本实施方式中,本发明的动效运行画面实现包括动效入口类、动效构成类、动效运行类和动效控制类控。
其中动效入口类(UIView+OCSPlayerAEEntry)在设计动效入口的时候,将其作为UIView的扩展来实现。这样一样来所有的控件都能执行动效,在调用动效的时候,极其方便,只要是个view就能调用动效。
一个view上需要执行的的动效通过runtime动态绑定的方式,由view自己来管理。
这里将文本类动效分为了3个数租来管理,分别为:partialTextRunInfoArray,textTypingRunInfoArray和textSeriesRunInfoArray。其中,textSeriesRunInfoArray是partialTextRunInfoArray和textTypingRunInfoArray的合集,它的作用是在执行动效时,简化调用,减少内存消耗。
动效构成类(OCSPlayerAEBuilder)通过OCSPlayerAEInfo(动效参数,指明要做什么样的动效)中的参数,构成一个对应的运行动效。
动效运行类(OCSPlayerAERunInfo)和他的子类OCSPlayerAETextRunInfo,分别对应非局部动效和局部动效。
OCSPlayerAETextRunInfo中记录了:
animationStartTime/animationEndTime:动效的起/止时刻;
animationLayer:动效所作用的layer;
animation:执行的动效;
maskLayer:是否作为遮罩,专为擦出动效而设;
animationRunBlock:动效运行block,通过播放器进度,映射出动效执行进度;
audio:声效;
audioRunBlock:声效运行block,通过当前播放进度和当前播放暂停状态,来控制声效;
partialTextEffect:是否是局部文本动效;
shouldHidBeforeAnimationStart:动效开始运行前是否需要隐藏视图;
triggerAnimation:是否是通过触发器产生的动效;
animationKey:动效键名;
textContentView:文本动效对应的文本控件;
partialTextEffectRange:局部动效作用范围;
partialTextRangeBlock:动效运行时动态计算局部动效作用范围block等信息。
通过上述一些列的参数和方法,使得在播放器播放课件时,能做到以预设时间段(如100毫秒)为单位,动态计算、控制动效的运行。
动效控制类(OCSPlayerAEController)控制动效的开始、结束、动效开始前的前置效果、动效结束后的效果、动效的触发等等。OCSPlayerAEController控制着播放器中所有动效的运行。OCSPlayerAEController内部有一个计时器,每隔预设时间段(如0.1秒)触发一次,通过OCSPlayerAEController(HJCPalyerViewController)获得当前的播放器进度。而后,根据这个进度调用所有需要执行动效的view上的OCSPlayerAERunInfo,调用他的animationRunBlock和audioRunBlock,来执行控制动效。
请参阅图2,图2为本申请实施例提供的根据时间轴控制动效的方法的流程示意图。本申请实施例提供的根据时间轴控制动效的方法,应用于电子设备,具体流程可以如下:
步骤101,获取动效层的初始进度。
先获取动效层(layer)的初始进度(speed)。如可以设置动效层的初始进度为0。
步骤102,间隔预设时间段获取动效层的播放进度,并根据播放进度计算得到动效层的偏移时间。
预设时间段可以根据需要设置,如50毫秒、100毫秒、200毫秒等。
然后间隔预设时间段获取动效层(layer)的播放进度,然后根据该播放进度与初始进度计算得到动效层的偏移时间(timeOffset)。具体的,可以通过计时器(timer)触发的方式间隔预设时间段获取播放进度。
步骤103,根据偏移时间获取动效层对应的一幕动效图像。
根据该偏移时间(timeOffset),为动效层赋值,获取该动效层对应的一幕动效图像。
步骤104,获取连续多幕动效图像,得到动效运行画面。
获取连续多幕动效图像,然后将多幕动效图像依次展示,得到动效运行画面。
为了简化对动效的控制,放弃了暂停/恢复(pause/resume)的方式,而是使用动态设置layer的timeOffset来实现对动效的控制。首先,将layer的speed设为0,而后通过timer每隔100毫秒触发一次。每次触发,会根据当前的播放进度推算出layer的timeOffset,然后为layer赋值。由此,动效会一幕一幕的展示其效果,达到控制动效运行的目标。
播放器上运行的动效,从执行上来分,分为两类:文本类动效和非文本类动效。二者的区别是,文本类动效的动画效果是直接作用在控件上的;文本类动效的动画效果,是作用在文本上的。同时,文本类动效要支持对一段文本中的部分内容调价动画效果;而且,动效的运行需要和播放器的播放进度相契合,播放进度走到哪一步,动效就走到哪一步。面对这样的需求,iOS端再设计动效时,针对非文本类动效使用控制动画来实现;对于文本类动效使用文本效果叠加来实现。
请参阅图3,图3为本申请实施例提供的根据时间轴控制动效的方法的另一流程示意图。根据偏移时间将动效层对应的一幕动效图像的步骤,具体流程可以如下:
步骤1031,获取文本动效指令。
文本动效指令为对应控制文本的动效指令。
步骤S1032,识别动效执行对象中是否包含文本信息。
步骤1033,若动效执行对象中包含文本信息,则根据文本动效指令,在动效图像上对应文本信息叠加文本动效。
若动效执行对象中包含文本信息,则根据文本动效指令,在动效图像上对应文本信息叠加文本动效。
请参阅图4,图4为本申请实施例提供的根据时间轴控制动效的方法的又一流程示意图。根据偏移时间将动效层对应的一幕动效图像的步骤,具体流程可以如下:
步骤1034,获取局部文本动效指令。
局部文本动效指令为对应控制局部文本的动效指令。
步骤1035,识别动效执行对象中是否包含文本信息。
步骤1036,若动效执行对象中包括文本信息,则根据局部文本动效指令,从文本信息中提取对应的部分文本信息。
若动效执行对象中包含文本信息,则根据局部文本动效指令,从动效执行对象中提取文本信息,从该文本信息中提取对应的部分文本信息。
步骤1037,在动效图像上对应部分文本信息叠加对应的文本动效。在动效图像上对应部分文本信息叠加对应的文本动效。
针对局部文本动效则是通过动态计算文本属性而后叠加来实现的。可以让文字运行动效。可以支持打字效果,添加下划线,文字变色,文字背景色等针对文字运行的动效。而且可以只对局部的文字运行动效,而保持其他文字样式不变。
其中动效指令即文本动效包括:
渐显,实现视图由不可见变为可见(支持局部文本);
擦出,实现根据用户选择的擦出方向,让视图由不可见变为可见,其中支持的方向包括:由上至下,由下至上,由左至右,由右至左,顺时针,逆时针等;
缩放,实现视图先放大到原始大小的预设比例,如50%、80%、110%、150%,再变回原始大小,同时视图由不可见变为可见;
打字效果,实现由用户选择,按字/按词逐步显示文本内容;
闪烁,实现视图由不透明变为半透明,再恢复不透明(支持局部文本);
旋转,实现视图绕着几何中心点旋转2π;
文本变色,实现根据用户选择的颜色,改变文本中的文字颜色(支持局部文本);
文本加下划线,实现为文本中的文字添加下划线(支持局部文本);
文本背景高亮,实现根据用户选择的颜色,为文本中的文字设置背景色(支持局部文本);
淡出,实现视图由可见逐渐变为不可见(支持局部文本);
缩小,实现视图由原始大小逐渐缩小,甚至可以缩小至不可见。
在一些实施方式中,控制指令包括快进指令、快退指令和进度后退指令中的至少一个。请参阅图5,图5为本申请实施例提供的获取动效层的播放进度的流程示意图。间隔预设时间段获取动效层的播放进度的步骤,包括:
步骤1021,间隔预设时间检测是否有控制指令。
控制指令包括快进指令、快退指令和进度后退指令,间隔预设时间检测是否有控制指令。
步骤1022,若有控制指令,则根据控制指令获取对应的播放进度。
若检测到控制指令,则获取控制指令对应的播放进度,如快进3秒、快退5秒、进度后退至其他播放进度如从50%的进度后退至30%的进度等。然后再获取对应的动效层的偏移时间。动效发生过程中,快进快退及进度后退时,动效也跟着快进快退及进度后退。
在一些实施方式中,当检测到暂停指令时,获取当前播放进度;并根据当前播放进度计算得到动效层的偏移时间;根据偏移时间将动效层对应的一幕动效图像展示。
在一些实施方式中,动效层包括多个子动效层;每个子动效层对应一幕动效图像,动效层对应的动效图像由多个子动效层对应的多个动效图像叠加形成。
可以同一元素多个动效叠加发生。还可以在同一元素同一时间点设置多个动效,动效以并行方式叠加展现。
需要说明的是,本发明还可以包括多级子动效层,即动效层包括多个第一级子动效层,第一级子动效层包括多个第二级子动效层。当然还可以设置多级子动效层。
在一些实施方式中,动效运行画面分成多个动效运行段;在一段动效运行段播放过程中跳转到另一段动效运行段,后又跳转回一段动效运行段时;则从一段动效运行段对应的起始播放进度开始播放。
动效运行画面可以采用如PPT类似的组合,每一页包括多个动效图像,动效图像播放到一半翻页,直接打断动画并翻至下一页;用户翻看之前页面的时候,之前页面的动效重新开始播放。
在一些实施方式中,对应动效运行画面设置声效,播放动效运行画面时,根据播放进度播放对应的声效。
在一些实施方式中,某个元素首个播放的动效为出现动效时,将元素的可见性设为隐藏,播放动效时先显示元素,再执行动效(非元素上首个运行的出现动效不改变元素可见性)。
在一些实施方式中,同一元素的两个动效发生时间有重叠时,下一动效在未发生完的动效的基础上叠加出现。
在一些实施方式中,当用户拖拽进度条至触发器动效出发时间点之前,则该触发器动效失效。
需要说明的是,本根据时间轴控制动效的方法可以应用在教学系统领域。该方法能让老师在智能手机、pad上,通过网络为学生进行远程授课。为了让老师的上课能容能够更加生动,有趣。可以让动效的演示能够与老师上课的进度同步。本方法可以应用在Android、IOS、以及PC等多平台上。
需要说明的是,动效执行完之后,控件可以保持动效结束时的效果。
在一些实施方式中,iOS等平台上常用来做动效的方式一般是3个:1、UIView的扩展;2、通过NSTimer以一个固定的时间间隔设置视图的属性,来模拟动效;3、通过CoreAnimation中提供的API,在视图空间的layer上,添加动效。由于方法1无法实现动效的暂停,方法2在使用中过于不便(基本没有人会使用方法2来做动效)。所以,最终本发明选择了方法3。对于所有的非文本类动效,都是通过CABasicAnimation和CAAnimationGroup来实现的。
UIView本身继承于UIResponder,其作用有两个,一个是接收用户交互;一个是渲染内容(图片,文字,颜色等等)。UIView渲染内容靠的是他的layer,所有我们看到的东西,其实看到的都是view的layer,就是那薄薄的,没有厚度的一层。其实,UIView本身就能显示图片(是UIView而不是UIImageView),做法是将一个CGImage赋值给一个view的layer,作为他的content。
layer上能够做出非常丰富的动画效果,如旋转(2D,3D)、缩放、偏移、淡入淡出、翻转等等。UIView上的动效是建立在layer上实现的。上述实施方式中说的CABasicAnimation和CAAnimationGroup就是添加在layer上来显示动效的。
基础动效(CABasicAnimation)是CAPropertyAnimation的子类,CAPropertyAnimation有一个字符串类型的keyPath属性,这个属性是用来告知系统这个动效所要做的是哪方面的效果。
具体的,包括如下keyPath:
transform.scale,改变视图大小;
opacity,改变视图可见性;
strokeEnd,改变绘图比例(擦出动效);
transform.rotation.z,改变旋转角度(绕z轴)。
CABasicAnimation有一个fromValue和一个toValue,分别对应于动效的初始/最终值。根据不同的fromValue和toValue的取值范围,所代表的意义均不相同。
本发明中,动效执行完后,控件可以保留动画效果,所以这里需要设置CABasicAnimation的fillMode属性为kCAFillModeForwards(layer保留动画结束时的效果);同时,考虑到用户将播放进度条往回拖的时候,动效要跟着做逆向播放,所以设置removedOnCompletion为no,这样动效执行完之后,不会从layer上自动移除。
由于各个动效的开始时间不同,所以需要设置beginTime。他的计算是以当前页面的pageStartTime和动效的开始时间,推算出来的。
之后,如果将这个CABasicAnimation直接add到layer上去的话,beginTime一到就会立刻执行。而为了实现控制动效的目的,将layer的speed设为0,而后通过timer每隔0.1秒获取一次播放器进度,而后通过进度和动效开始时间,对算出时间偏移量(timeOffset),之后将这个timeOffset赋值给layer,由此实现了控制动效。
具体的,各动效实现原理包括:
渐显:非局部动效,设置动效前置效果为隐藏,设置KeyPath为opacity,设置fromValue为0,toValue为视图的alpha值。局部动效:根据当前播放进度,修改文字颜色和文字背景色的alpha值,逐渐从0变为1。
擦出:使用CAShapeLayer做一个遮罩,而后在这个CAShapeLayer上设置一个CABasicAnimation,KeyPath为strokeEnd。通过为这个遮罩设置路径,来实现动效。
缩放:创建两个CABasicAnimation,一个负责scale的变化(zoomAnimation),一个负责opacity的变化(appearAnimation)。
打字效果:打字动效是根据播放器进度计算出当前动效运行时间,而后计算出当前需要显示的subString的range。根据这个range来截取出需要现实的字符串。
闪烁:针对非局部文本的情况,创建CABasicAnimation,设置keyPath为opacity,并设置相应的动效参数。针对局部动效的情况,闪烁动效,本质上是修改alpha/opacity值。所以,运行时根据当前播放进度,计算出alpha值,而后用这个alpha值,修改文字的颜色,文字背景色。
旋转:创建CABasicAnimation,设置keyPath为transform.rotation.z。设置byValue为2π。
文本变色、文本加下划线、文本背景高亮:这三种文本类动效,都是通过在文本控件的AttributeString修改属性来时想的。首先通过当前进度,计算出动效的作用范围。然后,比较AttributeString上的每个字,看这个字是不是在动效的作用范围内。如果是的话,就添加相应的属性;如果不在的话,就不修改属性。而后用这些做好判断的字,创建一个新的AttributeString。用这个新的AttributeString和已经显示的AttributeString作比较,如果二者不相同,就用这个新的AttributeString替换正在现实的AttributeString。
淡出:非局部动效,设置KeyPath为opacity,设置fromValue为视图的alpha,toValue为0。局部动效,根据当前播放进度,修改文字颜色和文字背景色的alpha值,逐渐从1变为0。
缩小:创建CABasicAnimation,设置keyPath为transform.scale,设置相应的参数。
声效:动效执行时需要播放相应的声效。声效分为两种情况:1、预置的声效;2、用户自定义的声效。预置声效直接包含在app中,用户自定义的声效需要在播放前进行下载。声效功能有两个类来负责。OCSPlayerAEAudioCenter:负责声效的查找和声效下载调用;OCSPlayerAEAudioDownloader:负责声效的下载。
动效在运行时会调用audioRunBlock(前已述)。audioRunBlock中会调用相应的声效播放功能。如果是需要下载的声效,当生效下载完之后才能播放声效。
触发器动效:触发器可以触发动效,也可以直接控制视图控件的显示和隐藏。对于由触发器产生的动效,其开始时间是由用户决定的,在课件制作时是不确定的;触发器产生的动效,当用户将播放进度拖拽到该动效被触发之前,则该动效要被移除,继续播放时该动效不再起作用。
由上可知,本发明实施例提供的根据时间轴控制动效的方法,可以方便的控制动效运行画面,只需针对每一幕动效图像进行控制即可,如此可以根据时间轴进行控制动效,如在动效播放的时候停留在任意时刻。多端统一的效果,统一的动画协议,易于扩展。支持根据时间轴的变化而改变动画的效果。支持倍速动画。让动效能够组合的播放,并且能随意停留在动效播放的任意时刻。可以支持倒退,前进,倍速等相关功能。
请参阅图6,图6为本申请实施例提供的根据时间轴控制动效的装置的结构示意图。其中该根据时间轴控制动效的装置500应用于电子设备,该根据时间轴控制动效的装置500包括初始进度获取单元501、偏移时间获取单元502、动效图像获取单元503和动效运行画面获取单元。其中:
初始进度获取单元501,用于获取动效层的初始进度;
偏移时间获取单元502,用于间隔预设时间段获取动效层的播放进度,并根据播放进度计算得到动效层的偏移时间;
动效图像获取单元503,用于根据偏移时间获取动效层对应的一幕动效图像;
动效运行画面获取单元504,用于获取连续多幕动效图像,得到动效运行画面。
在一些实施方式中,动效图像获取单元503包括文本动效指令获取子单元、识别子单元和叠加子单元。其中:
文本动效指令获取子单元,用于获取文本动效指令;
识别子单元,用于识别动效执行对象中是否包含文本信息;
叠加子单元,用于若动效执行对象中包含文本信息,则根据文本动效指令,在动效图像上对应文本信息叠加文本动效。
在一些实施方式中,动效图像获取单元503包括文本动效指令获取子单元、识别子单元和叠加子单元。其中:
文本动效指令获取子单元,用于获取局部文本动效指令;
识别子单元,用于识别动效执行对象中是否包含文本信息;
提取子单元,用于若包括,则根据局部文本动效指令,从文本信息中提取对应的部分文本信息;
叠加子单元,用于在动效图像上对应部分文本信息叠加对应的文本动效。
在一些实施方式中,控制指令包括快进指令、快退指令和进度后退指令中的至少一个;偏移时间获取单元502包括检测子单元和获取播放进度子单元。其中:
检测子单元,用于间隔预设时间检测是否有控制指令;
获取播放进度子单元,用于若检测有控制指令,则根据控制指令获取对应的播放进度。
在一些实施方式中,该装置还包括检测获取单元、偏移时间获取单元和展示单元。其中:
检测获取单元,用于当检测到暂停指令时,获取当前播放进度;
偏移时间获取单元,用于并根据当前播放进度计算得到动效层的偏移时间;
展示单元,用于根据偏移时间将动效层对应的一幕动效图像展示。
在一些实施方式中,动效运行画面获取单元,还用于动效层包括多个子动效层;每个子动效层对应一幕动效图像,动效层对应的动效图像由多个子动效层对应的多个动效图像叠加形成。
在一些实施方式中,动效运行画面获取单元,还用于动效运行画面分成多个动效运行段;在一段动效运行段播放过程中跳转到另一段动效运行段,后又跳转回一段动效运行段时;则从一段动效运行段对应的起始播放进度开始播放。
由上可知,本发明实施例提供的根据时间轴控制动效的装置,可以方便的控制动效运行画面,只需针对每一幕动效图像进行控制即可,如此可以根据时间轴进行控制动效,如在动效播放的时候停留在任意时刻。多端统一的效果,统一的动画协议,易于扩展。支持根据时间轴的变化而改变动画的效果。支持倍速动画。让动效能够组合的播放,并且能随意停留在动效播放的任意时刻。可以支持倒退,前进,倍速等相关功能。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
本申请实施例中,根据时间轴控制动效的装置与上文实施例中的根据时间轴控制动效的方法属于同一构思,在根据时间轴控制动效的装置上可以运行根据时间轴控制动效的方法实施例中提供的任一方法,其具体实现过程详见根据时间轴控制动效的方法的实施例,此处不再赘述。
本申请实施例还提供一种电子设备。电子设备包括处理器以及存储器。其中,处理器与存储器电性连接。
处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器内的计算机程序,以及调用存储在存储器内的数据,执行电子设备的各种功能并处理数据,从而对电子设备进行整体监控。
存储器可用于存储软件程序以及单元,处理器通过运行存储在存储器的计算机程序以及单元,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
在本申请实施例中,电子设备中的处理器会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器中,并由处理器运行存储在存储器中的计算机程序,从而实现各种功能,如下:
获取动效层的初始进度;
间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度计算得到所述动效层的偏移时间;
根据所述偏移时间获取所述动效层对应的一幕动效图像;
获取连续多幕动效图像,得到动效运行画面。
本申请实施例还提供一种存储介质,存储介质存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行上述任一实施例中的应用程序管控方法,比如:获取动效层的初始进度;间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度计算得到所述动效层的偏移时间;根据所述偏移时间获取所述动效层对应的一幕动效图像;获取连续多幕动效图像,得到动效运行画面。
在本申请实施例中,存储介质可以是磁碟、光盘、只读存储器(ReadOnly Memory,ROM)、或者随机存取记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对本申请实施例的根据时间轴控制动效的方法而言,本领域普通测试人员可以理解实现本申请实施例根据时间轴控制动效的方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如音频播放方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
对本申请实施例的根据时间轴控制动效的装置而言,其各功能单元可以集成在一个处理芯片中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,存储介质譬如为只读存储器,磁盘或光盘等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种根据时间轴控制动效的方法,应用于电子设备,其特征在于,包括:
获取动效层的初始进度,所述动效层包括多个子动效层,每个所述子动效层对应一幕动效图像,所述动效层对应的动效图像由多个子动效层对应的多个动效图像叠加形成;
间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度与初始进度计算得到所述动效层的偏移时间;
根据所述偏移时间获取所述动效层对应的一幕动效图像;
获取连续多幕动效图像,得到动效运行画面。
2.如权利要求1所述的根据时间轴控制动效的方法,其特征在于,根据所述偏移时间获取所述动效层对应的一幕动效图像的步骤,包括:
获取文本动效指令;
识别动效执行对象中是否包含文本信息;
若包括,则根据所述文本动效指令,在所述动效图像上对应所述文本信息叠加文本动效。
3.如权利要求1所述的根据时间轴控制动效的方法,其特征在于,根据所述偏移时间获取所述动效层对应的一幕动效图像的步骤,包括:
获取局部文本动效指令;
识别动效执行对象中是否包含文本信息;
若包括,则根据所述局部文本动效指令,从所述文本信息中提取对应的部分文本信息;
在所述动效图像上对应所述部分文本信息叠加对应的文本动效。
4.如权利要求1所述的根据时间轴控制动效的方法,其特征在于,控制指令包括快进指令、快退指令和进度后退指令中的至少一个;
所述间隔预设时间段获取所述动效层的播放进度的步骤,包括:
间隔预设时间检测是否有控制指令;
若有,则根据所述控制指令获取对应的播放进度。
5.如权利要求1所述的根据时间轴控制动效的方法,其特征在于,还包括:
当检测到暂停指令时,获取当前播放进度;
根据所述当前播放进度计算得到所述动效层的偏移时间;
根据所述偏移时间将所述动效层对应的一幕动效图像展示。
6.如权利要求1所述的根据时间轴控制动效的方法,其特征在于,还包括:
所述动效运行画面分成多个动效运行段;
在一段动效运行段播放过程中跳转到另一段动效运行段,后又跳转回所述一段动效运行段时;
则从所述一段动效运行段对应的起始播放进度开始播放。
7.一种根据时间轴控制动效的装置,其特征在于,包括:
初始进度获取单元,用于获取动效层的初始进度,所述动效层包括多个子动效层,每个所述子动效层对应一幕动效图像,所述动效层对应的动效图像由多个子动效层对应的多个动效图像叠加形成;
偏移时间获取单元,用于间隔预设时间段获取所述动效层的播放进度,并根据所述播放进度与初始进度计算得到所述动效层的偏移时间;
动效图像获取单元,用于根据所述偏移时间获取所述动效层对应的一幕动效图像;
动效运行画面获取单元,用于获取连续多幕动效图像,得到动效运行画面。
8.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至6任一项所述的根据时间轴控制动效的方法。
9.一种电子设备,包括处理器和存储器,所述存储器有计算机程序,其特征在于,所述处理器通过调用所述计算机程序,用于执行如权利要求1至6任一项所述的根据时间轴控制动效的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711259810.9A CN110019855B (zh) | 2017-12-04 | 2017-12-04 | 根据时间轴控制动效的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711259810.9A CN110019855B (zh) | 2017-12-04 | 2017-12-04 | 根据时间轴控制动效的方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019855A CN110019855A (zh) | 2019-07-16 |
CN110019855B true CN110019855B (zh) | 2023-07-21 |
Family
ID=67185945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711259810.9A Active CN110019855B (zh) | 2017-12-04 | 2017-12-04 | 根据时间轴控制动效的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019855B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848288A (zh) * | 1999-03-30 | 2006-10-18 | 提维股份有限公司 | 多媒体可视的播放进度指示系统 |
CN102831912A (zh) * | 2012-08-10 | 2012-12-19 | 上海量明科技发展有限公司 | 显示音频消息播放进度的方法、客户端及系统 |
CN102999257A (zh) * | 2012-12-14 | 2013-03-27 | 深圳锐取信息技术股份有限公司 | 一种视频索引显示方法 |
CN105376502A (zh) * | 2015-11-23 | 2016-03-02 | 华中师范大学 | 一种全媒体在线编辑工具 |
CN105447902A (zh) * | 2016-01-15 | 2016-03-30 | 网易(杭州)网络有限公司 | 动画处理方法和装置 |
CN106162299A (zh) * | 2015-03-31 | 2016-11-23 | 青岛海信电器股份有限公司 | 一种osd动画素材数据的播放方法和装置 |
CN106530371A (zh) * | 2016-10-12 | 2017-03-22 | 网易(杭州)网络有限公司 | 动画编辑、播放方法和装置 |
CN106878799A (zh) * | 2017-02-21 | 2017-06-20 | 北京潘达互娱科技有限公司 | 一种动画显示方法及装置 |
CN107360458A (zh) * | 2017-06-30 | 2017-11-17 | 广东欧珀移动通信有限公司 | 播放控制方法、装置、存储介质及终端 |
CN107396151A (zh) * | 2017-08-24 | 2017-11-24 | 维沃移动通信有限公司 | 一种视频播放控制方法及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2945544B1 (en) * | 2013-01-17 | 2018-11-07 | Koninklijke Philips N.V. | Eliminating motion effects in medical images caused by physiological function |
US9204048B2 (en) * | 2014-03-27 | 2015-12-01 | Facebook, Inc. | Stabilization of low-light video |
-
2017
- 2017-12-04 CN CN201711259810.9A patent/CN110019855B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848288A (zh) * | 1999-03-30 | 2006-10-18 | 提维股份有限公司 | 多媒体可视的播放进度指示系统 |
CN102831912A (zh) * | 2012-08-10 | 2012-12-19 | 上海量明科技发展有限公司 | 显示音频消息播放进度的方法、客户端及系统 |
CN102999257A (zh) * | 2012-12-14 | 2013-03-27 | 深圳锐取信息技术股份有限公司 | 一种视频索引显示方法 |
CN106162299A (zh) * | 2015-03-31 | 2016-11-23 | 青岛海信电器股份有限公司 | 一种osd动画素材数据的播放方法和装置 |
CN105376502A (zh) * | 2015-11-23 | 2016-03-02 | 华中师范大学 | 一种全媒体在线编辑工具 |
CN105447902A (zh) * | 2016-01-15 | 2016-03-30 | 网易(杭州)网络有限公司 | 动画处理方法和装置 |
CN106530371A (zh) * | 2016-10-12 | 2017-03-22 | 网易(杭州)网络有限公司 | 动画编辑、播放方法和装置 |
CN106878799A (zh) * | 2017-02-21 | 2017-06-20 | 北京潘达互娱科技有限公司 | 一种动画显示方法及装置 |
CN107360458A (zh) * | 2017-06-30 | 2017-11-17 | 广东欧珀移动通信有限公司 | 播放控制方法、装置、存储介质及终端 |
CN107396151A (zh) * | 2017-08-24 | 2017-11-24 | 维沃移动通信有限公司 | 一种视频播放控制方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于情感的TV端动效设计研究;孙晓朦等;《UXPA中国2016行业文集上海优帕会展有限公司会议论文集》;20161117;第146-157页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110019855A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9092061B2 (en) | Augmented reality system | |
US20150097767A1 (en) | System for virtual experience book and method thereof | |
US9846682B1 (en) | Cross-platform presentation of digital content | |
EP2023296A1 (en) | Action builds and smart builds for use in an presentation application | |
CN107544730B (zh) | 图片显示方法、装置及可读存储介质 | |
US11620784B2 (en) | Virtual scene display method and apparatus, and storage medium | |
CN106162298B (zh) | 一种实现弹幕的方法和系统 | |
WO2012103372A2 (en) | Method and apparatus for providing context sensitive interactive overlays for video | |
US9766786B2 (en) | Visual storytelling on a mobile media-consumption device | |
WO2023087990A1 (zh) | 一种图像展示方法、装置、计算机设备及存储介质 | |
CN112988002A (zh) | 一种绘本处理方法、装置、电子设备及存储介质 | |
CN109343770B (zh) | 交互反馈方法、设备和记录介质 | |
JP2013161205A5 (zh) | ||
KR101216221B1 (ko) | 증강 현실 서비스 제공 시스템 및 방법 | |
KR101550346B1 (ko) | 다문화 가정 임산부를 위한 콘텐츠 앱 기반의 태교용 그림책 콘텐츠 재생 방법 | |
CN110019855B (zh) | 根据时间轴控制动效的方法、装置、存储介质及电子设备 | |
KR20180080668A (ko) | 증강현실 마커를 포함하는 한자 교재를 이용한 증강현실 한자교육방법 및 그 기록매체 | |
KR101725068B1 (ko) | 전자서적의 리소스를 이용한 워크북 제공장치 및 그 방법 | |
CN112835502A (zh) | 一种页面显示方法、电子设备及存储介质 | |
Chinnathambi | Creating web animations: bringing your UIs to life | |
KR101553272B1 (ko) | 복수의 타이머를 사용하여 멀티미디어 콘텐츠를 저작하는 방법 및 복수의 타이머를 사용하여 멀티미디어 콘텐츠를 저작하는 저작 장치 | |
KR102276789B1 (ko) | 동영상 편집 방법 및 장치 | |
JP4043817B2 (ja) | 学習方法およびシステム | |
JP5435110B2 (ja) | 端末装置、表示方法、及びプログラム | |
KR20110117870A (ko) | 멀티미디어 컨텐츠를 이용한 한자 학습 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 |
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 |