CN113409427B - 动画播放方法、装置、电子设备及计算机可读存储介质 - Google Patents

动画播放方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113409427B
CN113409427B CN202110825357.3A CN202110825357A CN113409427B CN 113409427 B CN113409427 B CN 113409427B CN 202110825357 A CN202110825357 A CN 202110825357A CN 113409427 B CN113409427 B CN 113409427B
Authority
CN
China
Prior art keywords
animation
attribute
class
attribute information
image frames
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
Application number
CN202110825357.3A
Other languages
English (en)
Other versions
CN113409427A (zh
Inventor
郝华栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110825357.3A priority Critical patent/CN113409427B/zh
Publication of CN113409427A publication Critical patent/CN113409427A/zh
Application granted granted Critical
Publication of CN113409427B publication Critical patent/CN113409427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Abstract

本公开关于一种动画播放方法、装置、电子设备及计算机可读存储介质,属于多媒体技术领域。本公开通过在获取到目标动画的属性描述文件后,解析属性描述文件,以获取到目标动画的多个图像帧中关键帧的动画效果的属性信息,进而基于关键帧的动画效果的属性信息,组成关键帧的动画效果的属性信息组,以便基于属性信息组渲染目标图像元素,实现目标动画的渲染,以便能够播放目标动画,无需开发人员手动编写代码,提高了人机交互效率,进而提高了动画制作效率。

Description

动画播放方法、装置、电子设备及计算机可读存储介质
技术领域
本公开涉及多媒体技术领域,尤其涉及一种动画播放方法、装置、电子设备及计算机可读存储介质。
背景技术
属性动画作为一种能够扩展动画作用对象的、增加动画作用效果的动画形式,能够为界面中的各种元素添加动画效果,提高了动画制作的灵活性。
目前在为界面中的元素添加动画效果时,只能是由动画设计师使用设计软件,来设计动画效果,进而基于设计出的动画效果输出文字说明,由开发人员基于动画设计师提供的文字说明,编写代码来实现相应的动画效果,人机交互效率较低,从而导致动画制作效率较低。
发明内容
本公开提供一种动画播放方法、装置、电子设备及计算机可读存储介质,以提高动画制作过程中的人机交互效率,进而提高动画制作效率。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种动画播放方法,该方法包括:
获取目标动画的属性描述文件,该属性描述文件包括该目标动画的多个图像帧中动画效果的属性信息;
解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,该关键帧为该多个图像帧中动画效果对应的图像帧;
基于该多个图像帧中关键帧的动画效果的属性信息,组成该多个图像帧中关键帧的动画效果的属性信息组,该属性信息组包括该关键帧中的动画效果的属性信息以及各个关键帧对应的显示时间;
基于该属性信息组对目标图像元素进行渲染,以播放该目标动画。
本公开通过在获取到目标动画的属性描述文件后,解析属性描述文件,以获取到目标动画的多个图像帧中关键帧的动画效果的属性信息,进而基于关键帧的动画效果的属性信息,组成关键帧的动画效果的属性信息组,以便基于属性信息组渲染目标图像元素,实现目标动画的渲染,以便能够播放目标动画,无需开发人员手动编写代码,提高了人机交互效率,进而提高了动画制作效率。
在一些实施例中,解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,包括:
调用管理动画入口类,通过该管理动画入口类,调用包装动画组件类,其中,该管理动画入口类用于提供动画管理入口,该包装动画组件类用于包装获取到的数据;
通过该包装动画组件类,调用动画资源获取类,通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息。
通过调用管理入口类,来调用与管理入口类相关联的包装动画组件类,再通过该包装动画组件类,来调用与包装动画组件类相关联的动画资源获取类,从而通过该动画资源获取类来获取多个图像帧中关键帧的动画效果的属性信息,实现属性信息的获取,无需开发人员手动操作,提高了人机交互效率,从而提高了属性信息的获取效率。
在一些实施例中,通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息,包括:
通过该动画资源获取类,调用最外层数据解析类,通过该最外层数据解析类,获取该多个图像帧中动画效果的帧率;
调用层关键帧数据解析类,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息。
在通过动画资源获取类获取属性信息的过程中,通过调用作为动画资源获取类的子类的最外层数据解析类,以便通过该最外层数据解析类,来获取多个图像帧中动画效果的帧率,进而调用作为动画资源获取类的子类的层关键帧数据解析类,以便通过该层关键帧数据解析类,实现多个图像帧中关键帧的动画效果的属性信息的获取,无需开发人员手动操作,提高了人机交互效率,从而提高了帧率和属性信息的获取效率。
在一些实施例中,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息,包括:
通过该层关键帧数据解析类,调用属性转换数据解析类,通过该属性转换数据解析类,调用属性解析基类,通过该属性解析基类,从该属性描述文件中,获取该多个图像帧中关键帧的动画效果的属性信息;
其中,该属性转换数据解析类用于提供数据转换入口,该属性解析基类提供用于解析该属性描述文件的方法类。
在通过层关键帧数据解析类获取属性信息的过程中,通过调用作为层关键帧数据解析类的子类的属性转换数据解析类,以便通过该属性转换数据解析类,调用作为该属性转换数据解析类的子类的属性解析基类,进而通过属性解析基类,来获取多个图像帧中关键帧的动画效果的属性信息,无需开发人员手动操作,提高了人机交互效率,从而提高了属性信息的获取效率。
在一些实施例中,调用属性解析基类,通过该属性解析基类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的属性信息,包括下述至少一项:
通过该属性解析基类,调用透明度属性解析类,通过该透明度属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的透明度属性信息;
通过该属性解析基类,调用位移属性解析类,通过该位移属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的位移属性信息;
通过该属性解析基类,调用旋转属性解析类,通过该旋转属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的旋转属性信息;
通过该属性解析基类,调用缩放属性解析类,通过该缩放属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的缩放属性信息。
通过提供上述几种用于获取相应属性信息的属性解析类,以便通过这几个属性解析类,能够获取到相应的属性信息,实现属性描述文件的解析,无需开发人员手动操作,提高了人机交互效率,从而提高了属性信息的获取效率。
在一些实施例中,基于该多个图像帧中关键帧的动画效果的属性信息,组成该多个图像帧中关键帧的动画效果的属性信息组,包括:
对于任一关键帧,将该任一关键帧中动画效果的属性信息,组成该任一关键帧对应的初始属性信息组;
基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组。
通过在获取到任一关键帧对应的初始属性信息组后,结合多个图像帧中动画效果的帧率,来确定属性信息组,从而使得最终确定出的属性信息组是电子设备能够读取的,以便电子设备自行从属性信息组中获取属性信息,来渲染目标动画,无需开发人员手动操作,从而提高了人机交互效率,进而提高了动画制作效率。
在一些实施例中,基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组,包括:
基于该多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;
将该初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到该多个图像帧中关键帧的动画效果的属性信息组。
通过将初始属性信息组中各个关键帧的帧索引,替换为基于帧率确定出的各个关键帧的显示时间,从而得到电子设备能够识别的属性信息组,使得电子设备能够从属性信息组中获取到属性信息,进而基于属性信息来渲染目标动画,无需开发人员手动操作,即能实现目标动画的渲染,从而提高了人机交互效率,进而提高了动画制作效率。
在一些实施例中,基于该属性信息组对目标图像元素进行渲染,以播放该目标动画,包括:
对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到属性动画列表,该属性动画列表包括多个目标图像元素对应的属性信息组;
基于该属性动画列表对该目标图像元素进行渲染,以播放该目标动画。
通过将属性信息组关联到相应的目标图像元素上,以得到包括目标图像元素以及目标图像元素对应的属性信息的属性动画列表,以便直接基于该属性动画列表来对目标图像元素进行渲染,以实现目标动画的渲染。
在一些实施例中,基于该属性信息组对目标图像元素进行渲染,以播放该目标动画之后,该方法还包括:
调用管理动画入口类,通过该管理动画入口类,获取该目标图像元素;
调用动画播放函数,通过该动画播放函数,播放该目标动画。
通过调用管理动画入口,进而通过该管理动画入口中的方法函数,实现目标图像元素的获取,以及目标动画的播放,无需开发人员手动操作,即实现了动画播放,提高了人机交互效率,从而提高了动画播放效率。
根据本公开实施例的第二方面,提供一种动画播放装置,该装置包括:
获取单元,被配置为执行获取目标动画的属性描述文件,该属性描述文件包括该目标动画的多个图像帧中动画效果的属性信息;
解析单元,被配置为执行解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,该关键帧为该多个图像帧中动画效果对应的图像帧;
组成单元,被配置为执行基于该多个图像帧中关键帧的动画效果的属性信息,组成该多个图像帧中关键帧的动画效果的属性信息组,该属性信息组包括该关键帧中的动画效果的属性信息以及各个关键帧对应的显示时间;
渲染单元,被配置为执行基于该属性信息组对目标图像元素进行渲染,以播放该目标动画。
在一些实施例中,该解析单元,被配置为执行调用管理动画入口类,通过该管理动画入口类,调用包装动画组件类,其中,该管理动画入口类用于提供动画管理入口,该包装动画组件类用于包装获取到的数据;
该解析单元,还被配置为执行通过该包装动画组件类,调用动画资源获取类,通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息。
在一些实施例中,该解析单元包括第一获取子单元和第二获取子单元;
该第一获取子单元,被配置为执行通过该动画资源获取类,调用最外层数据解析类,通过该最外层数据解析类,获取该多个图像帧中动画效果的帧率;
该第二获取子单元,被配置为执行调用层关键帧数据解析类,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息。
在一些实施例中,该第二获取子单元包括调用子模块和获取子模块;
该调用子模块,被配置为执行通过该层关键帧数据解析类,调用属性转换数据解析类,通过该属性转换数据解析类,调用属性解析基类;
该获取子模块,被配置为执行通过该属性解析基类,从该属性描述文件中,获取该多个图像帧中关键帧的动画效果的属性信息;
其中,该属性转换数据解析类用于提供数据转换入口,该属性解析基类提供用于解析该属性描述文件的方法类。
在一些实施例中,该获取子模块,被配置为执行下述至少一项:
通过该属性解析基类,调用透明度属性解析类,通过该透明度属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的透明度属性信息;
通过该属性解析基类,调用位移属性解析类,通过该位移属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的位移属性信息;
通过该属性解析基类,调用旋转属性解析类,通过该旋转属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的旋转属性信息;
通过该属性解析基类,调用缩放属性解析类,通过该缩放属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的缩放属性信息。
在一些实施例中,该组成单元包括组成子单元和确定子单元;
该组成子单元,被配置为执行对于任一关键帧,将该任一关键帧中动画效果的属性信息,组成该任一关键帧对应的初始属性信息组;
该确定子单元,被配置为执行基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,该确定子单元,被配置为执行基于该多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;将该初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,该渲染单元,被配置为执行对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到属性动画列表,该属性动画列表包括多个目标图像元素对应的属性信息组;基于该属性动画列表对该目标图像元素进行渲染,以播放该目标动画。
在一些实施例中,该装置还包括:
调用单元,被配置为执行调用管理动画入口类,通过该管理动画入口类,获取该目标图像元素;
播放单元,被配置为执行调用动画播放函数,通过该动画播放函数,播放该目标动画。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为执行该指令,以实现上述第一方面以及第一方面中任一项所涉及的动画播放方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面以及第一方面中任一项所涉及的动画播放方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面以及第一方面中任一项所涉及的动画播放方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种动画播放方法的流程图。
图2是根据一示例性实施例示出的一种动画播放方法的流程图。
图3是根据一示例性实施例示出的一种视频播放方法的流程图。
图4是根据一示例性实施例示出的一种动画播放方法的原理性流程示意图。
图5是根据一示例性实施例示出的一种动画播放方法的实现流程图。
图6是根据一示例性实施例示出的一种动画播放装置的框图。
图7是根据一示例性实施例示出的一种电子设备700的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
另外,本申请所涉及的信息为经用户授权或者经过各方充分授权的信息。
本公开的实施例所提供的方案,能够应用于动画制作的场景中。例如,在动画制作过程中,动画设计师通过视频编辑软件(Adobe After Effects,AE)设计动画,进而通过AE软件中的AE动画导出插件(Bodymovin),将自己所设计的目标动画导出为属性描述文件,进而将所导出的属性描述文件发送给开发人员,开发人员通过电子设备接收该属性描述文件,进而通过本公开所提供的方案,来对目标动画进行渲染,进而播放渲染得到的目标动画,实现目标动画的自动化制作,以及目标动画的播放。
其中,该属性描述文件为JS对象简谱(Java Script Object Notation,Json)格式的文件(下文简称为Json文件)。
图1是根据一示例性实施例示出的一种动画渲染方法的流程图,如图1所示,该方法包括以下步骤。
在步骤S101中,电子设备获取目标动画的属性描述文件,该属性描述文件包括该目标动画的多个图像帧中动画效果的属性信息。
在步骤S102中,电子设备解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,该关键帧为该多个图像帧中动画效果对应的图像帧。
在步骤S103中,电子设备基于该多个图像帧中关键帧的动画效果的属性信息,组成该多个图像帧中关键帧的动画效果的属性信息组,该属性信息组包括该关键帧中的动画效果的属性信息以及各个关键帧对应的显示时间。
在步骤S104中,电子设备基于该属性信息组对目标图像元素进行渲染,以播放该目标动画。
本公开的实施例所提供的方案,通过在获取到目标动画的属性描述文件后,解析属性描述文件,以获取到目标动画的多个图像帧中关键帧的动画效果的属性信息,进而基于关键帧的动画效果的属性信息,组成关键帧的动画效果的属性信息组,以便基于属性信息组渲染目标图像元素,实现目标动画的渲染,以便能够播放目标动画,无需开发人员手动编写代码,提高了人机交互效率,进而提高了动画制作效率。
在一些实施例中,解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,包括:
调用管理动画入口类,通过该管理动画入口类,调用包装动画组件类,其中,该管理动画入口类用于提供动画管理入口,该包装动画组件类用于包装获取到的数据;
通过该包装动画组件类,调用动画资源获取类,通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息。
在一些实施例中,通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息,包括:
通过该动画资源获取类,调用最外层数据解析类,通过该最外层数据解析类,获取该多个图像帧中动画效果的帧率;
调用层关键帧数据解析类,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息。
在一些实施例中,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息,包括:
通过该层关键帧数据解析类,调用属性转换数据解析类,通过该属性转换数据解析类,调用属性解析基类,通过该属性解析基类,从该属性描述文件中,获取该多个图像帧中关键帧的动画效果的属性信息;
其中,该属性转换数据解析类用于提供数据转换入口,该属性解析基类提供用于解析该属性描述文件的方法类。
在一些实施例中,通过该属性解析基类,从该属性描述文件中,获取该多个图像帧中动画效果的属性信息,包括下述至少一项:
通过该属性解析基类,调用透明度属性解析类,通过该透明度属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的透明度属性信息;
通过该属性解析基类,调用位移属性解析类,通过该位移属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的位移属性信息;
通过该属性解析基类,调用旋转属性解析类,通过该旋转属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的旋转属性信息;
通过该属性解析基类,调用缩放属性解析类,通过该缩放属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的缩放属性信息。
在一些实施例中,基于该多个图像帧中关键帧的动画效果的属性信息,组成该多个图像帧中关键帧的动画效果的属性信息组,包括:
对于任一关键帧,将该任一关键帧中动画效果的属性信息,组成该任一关键帧对应的初始属性信息组;
基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组,包括:
基于该多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;
将该初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,基于该属性信息组对目标图像元素进行渲染,以播放该目标动画,包括:
对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到属性动画列表,该属性动画列表包括多个目标图像元素对应的属性信息组;
基于该属性动画列表对该目标图像元素进行渲染,以播放该目标动画。
在一些实施例中,基于该属性信息组对目标图像元素进行渲染,以播放该目标动画之后,该方法还包括:
调用管理动画入口类,通过该管理动画入口类,获取该目标图像元素;
调用动画播放函数,通过该动画播放函数,播放该目标动画。
上述图1所示仅为本公开的基本流程,下面基于一种具体实现方式,来对本公开所提供的方案进行进一步说明,图2是根据一示例性实施例示出的一种动画播放方法的流程图,如图2所示,该方法包括以下步骤。
在步骤S201中,电子设备获取目标动画的属性描述文件,该属性描述文件包括该目标动画的多个图像帧中动画效果的属性信息。
在使用AE软件设计动画的过程中,是基于图层进行操作的,也即是,动画设计师在设计动画效果时,是通过在AE软件中新建图层,进而通过在图层上添加图像元素(如图片),并通过设置该图层的属性信息,以实现对图像元素显示效果的设置,以此类推,来对多个图层进行设置,从而实现动画效果的设计。
其中,属性信息包括位置信息、缩放信息、旋转信息、透明度信息,其中,位置信息也即是图层的横纵坐标,缩放信息也即是图层的缩放比例,旋转信息也即是图层的旋转圈数和旋转角度,透明度信息也即是图层的透明度。
正是由于AE中的设置操作都是基于图层进行的,从而使得通过AE软件中的Bodymovin插件所导出的属性描述文件中的属性信息,也是对应于各个图层的,也即是,该属性描述文件中所记录的动画效果的属性信息是按图层分类的,也即是,该属性描述文件中分别记录有每个图像帧中各个图层的属性信息。例如,对于任一图像帧,以该任一图像帧包括图层1和图层2两个图层为例,则该任一图像帧中动画效果的属性信息,包括图层1的属性信息以及图层2的属性信息。
其中,该属性描述文件对应于一组动画,或者,该属性描述文件对应于多组动画,该属性描述文件所对应的动画组数,基于动画设计师在AE软件中所构建的图层数量确定,一个图层即对应于一组动画,各组动画之间通过动画名称加以区分。
在一些实施例中,动画设计师通过AE软件的Bodymovin插件导出属性描述文件后,该属性描述文件即存储在动画设计师所使用的电子设备中,以便动画设计师通过电子设备,将该属性描述文件发送给开发人员所使用的电子设备,以便开发人员所使用的电子设备获取到该属性描述文件。其中,该属性描述文件为Json文件。
在步骤S202中,电子设备解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,该关键帧为该多个图像帧中动画效果对应的图像帧。
在一些实施例中,电子设备调用管理动画入口类(AnimationManager),通过该管理动画入口类,调用包装动画组件类(AnimationViewWrapper),通过该包装动画组件类,调用动画资源获取类(AttributeCompositionFactory),通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息。
该管理动画入口类关联有该包装动画组件类,该包装动画组件类关联有该动画资源获取类,从而使得电子设备能够通过该管理动画入口类,调用该包装动画组件类,通过该包装动画组件类,调用该动画资源获取类,从而实现属性信息的获取。
其中,该管理动画入口类作为属性信息获取过程中的核心逻辑入口,用于提供动画管理入口。该包装动画组件类作为动画控件的一个包装类,用于包装获取到的数据,以实现对动态组件的一些方法或动画效果的一些控制流程的包装。该动画资源获取类(或称属性组件工厂类)用于提供通过本地文件或网络创建动画制作任务(Animation Task)以及缓存逻辑,以便电子设备通过该动画资源获取类来进行动画制作。
通过调用管理入口类,来调用与管理入口类相关联的包装动画组件类,再通过该包装动画组件类,来调用与包装动画组件类相关联的动画资源获取类,从而通过该动画资源获取类来获取多个图像帧中关键帧的动画效果的属性信息,实现属性信息的获取,无需开发人员手动操作,提高了人机交互效率,从而提高了属性信息的获取效率。
对于上述电子设备通过该动画资源获取类,解析该属性描述文件的过程,该动画资源获取类包括最外层数据解析类(AttributeCompositionParser)和层关键帧数据解析类(AttributeLayerLayerParser)这两个子类,因而电子设备通过该动画资源获取类,能够调用该最外层数据解析类和该层关键帧数据解析类,以实现属性信息的获取。
在一些实施例中,电子设备通过该动画资源获取类,调用最外层数据解析类,通过该最外层数据解析类,获取该多个图像帧中动画效果的帧率;调用层关键帧数据解析类,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息。
在通过动画资源获取类获取属性信息的过程中,通过调用作为动画资源获取类的子类的最外层数据解析类,以便通过该最外层数据解析类,来获取多个图像帧中动画效果的帧率,进而调用作为动画资源获取类的子类的层关键帧数据解析类,以便通过该层关键帧数据解析类,实现多个图像帧中关键帧的动画效果的属性信息的获取,无需开发人员手动操作,提高了人机交互效率,从而提高了帧率和属性信息的获取效率。
对于该层关键帧数据解析类,该层关键帧数据解析类包括属性转换数据解析类(AttributeTransformParser)这个子类,该属性转换数据解析类包括属性解析基类(AttributeValueParser)这个子类,其中,该属性转换数据解析类用于提供数据转换入口,以使电子设备通过该属性转换数据解析类,能够将属性描述文件中的操作信息转换为电子设备能够读取的属性信息,而该属性解析基类提供用于解析该属性描述文件的方法类,以便电子设备能够通过该属性解析基类,实现对属性描述文件中的属性信息的解析,以获取到相应类型的属性信息。
也即是,上述通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息的过程可实现为:电子设备通过该层关键帧数据解析类,调用属性转换数据解析类,通过该属性转换数据解析类,调用属性解析基类,通过该属性解析基类,从该属性描述文件中,获取该多个图像帧中关键帧的动画效果的属性信息。
在通过层关键帧数据解析类获取属性信息的过程中,通过调用作为层关键帧数据解析类的子类的属性转换数据解析类,以便通过该属性转换数据解析类,调用作为该属性转换数据解析类的子类的属性解析基类,进而通过属性解析基类,来获取多个图像帧中关键帧的动画效果的属性信息,无需开发人员手动操作,提高了人机交互效率,从而提高了属性信息的获取效率。
其中,该属性解析基类包括用于解析不同属性信息的多个方法类,例如,该属性解析基类包括用于解析透明度属性信息的透明度属性解析类(AlphaValueParser)、用于解析位移属性信息的位移属性解析类(TranslationValueParser)、用于解析旋转属性信息的旋转属性解析类(RotationValueParser)以及用于解析缩放属性信息的缩放属性解析类(ScaleValueParser),则电子设备在通过属性解析基类获取属性信息时,包括下述至少一种实现方式:
电子设备通过该属性解析基类,调用透明度属性解析类,通过该透明度属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的透明度属性信息。
电子设备通过该属性解析基类,调用位移属性解析类,通过该位移属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的位移属性信息。
电子设备通过该属性解析基类,调用旋转属性解析类,通过该旋转属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的旋转属性信息。
电子设备通过该属性解析基类,调用缩放属性解析类,通过该缩放属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的缩放属性信息。
通过提供上述几种用于获取相应属性信息的属性解析类,以便通过这几个属性解析类,能够获取到相应的属性信息,实现属性描述文件的解析,无需开发人员手动操作,提高了人机交互效率,从而提高了属性信息的获取效率。
其中,在上述解析属性描述文件以获取属性信息的过程中,对于并未涉及到动画效果的图像帧,电子设备过滤这些不涉及动画效果的图像帧对应的属性信息,从而使得最终获取到的属性信息,为涉及到动画效果的关键帧对应的属性信息。
对于管理动画入口类,该管理动画入口类能够提供播放默认动画和播放指定动画两种动画播放方式,而对于播放默认动画这种动画播放方式,若获取到的属性信息中不存在某个图像元素对应的属性信息,则电子设备通过该管理动画入口类,即能将这个图像元素渲染成默认的动画效果,以播放默认动画;而对于存在对应属性信息的图像元素,电子设备通过该管理动画入口,即能将这个图像元素渲染为属性信息对应的指定动画,以播放指定动画,从而实现整个目标动画的渲染,以播放目标动画。
因而,上述通过过滤不涉及动画效果的图像帧对应的属性信息,不会对动画播放过程造成影响,而且能够减少电子设备的处理压力,从而提高动画渲染以及动画播播放的速度。
在步骤S203中,对于任一关键帧,电子设备将该任一关键帧中动画效果的属性信息,组成该任一关键帧对应的初始属性信息组。
在一些实施例中,电子设备在获取到属性描述文件中关键帧的动画效果的属性信息后,将对应于同一个关键帧的属性信息,组成一个属性信息组,作为每个关键帧对应的初始属性信息组。
通过将对应于同一个关键帧的属性信息,组成各个关键帧对应的初始属性信息组,以便电子设备能够确定哪些属性信息对应于同一关键帧,进而在后续播放动画时,能够形成一个完整的动画效果。
其中,在该初始属性信息组中,是以帧数作为索引的,也即是,在该初始属性信息组中,每个属性信息都是对应于相应关键帧的帧数的。
在步骤S204中,电子设备基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,电子设备基于该多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;将该初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到该多个图像帧中关键帧的动画效果的属性信息组。
例如,若该多个图像帧中动画效果的帧率为24赫兹(Hz),也即是,每秒播放24帧,则对于该多个图像帧中帧数为3的图像帧(也即是第3个图像帧),该帧数为3的图像帧的显示时间为125毫秒(ms)。
通过将初始属性信息组中各个关键帧的帧索引,替换为基于帧率确定出的各个关键帧的显示时间,从而得到电子设备能够识别的属性信息组,使得电子设备能够从属性信息组中获取到属性信息,进而基于属性信息来渲染目标动画,无需开发人员手动操作,即能实现目标动画的渲染,从而提高了人机交互效率,进而提高了动画制作效率。
上述步骤S203至步骤S204,通过在获取到任一关键帧对应的初始属性信息组后,结合多个图像帧中动画效果的帧率,来确定属性信息组,从而使得最终确定出的属性信息组是电子设备能够读取的,以便电子设备自行从属性信息组中获取属性信息,来渲染目标动画,无需开发人员手动操作,从而提高了人机交互效率,进而提高了动画制作效率。
在步骤S205中,电子设备对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到属性动画列表,该属性动画列表包括多个目标图像元素对应的属性信息组。
在一些实施例中,电子设备在各个关键帧对应的属性信息组中添加对应的目标图像元素,该目标图像元素也即是动画效果要作用的图像元素,从而得到包括目标图像元素以及相应的属性信息组的属性动画列表。
通过将属性信息组关联到相应的目标图像元素上,以得到包括目标图像元素以及目标图像元素对应的属性信息的属性动画列表,以便直接基于该属性动画列表来对目标图像元素进行渲染,以实现目标动画的渲染。
在一些实施例中,电子设备在获取到属性动画列表后,将获取到的属性动画列表返回给属性解析基类;通过该属性解析基类,将获取到的属性动画列表返回给属性转换数据解析类;通过属性转换数据解析类,将获取到的属性动画列表返回给层关键帧数据解析类;通过层关键帧数据解析类,将获取到的属性动画列表返回给最外层数据解析类;通过最外层数据解析类,将获取到的属性动画列表返回给动画资源获取类;通过动画资源获取类,将获取到的属性动画列表返回包装动画组件类;通过包装动画组件类,将获取到的属性动画列表返回给管理动画入口类,从而实现属性描述文件的解析,以获取到属性动画列表。
其中,该属性动画列表可看作一个脚本挂件,将该属性动画列表关联到目标图像元素上,也即是,将脚本挂件挂载到目标图像元素上,从而实现将目标图像元素渲染成相应的动画效果。在另一些实施例中,一个目标图像元素关联有多个属性动画列表,也即是,一个目标图像元素上挂载有多个脚本挂件,从而使得目标图像元素能够同时实现多种动画效果,从而提高了目标图像元素的显示效果,也提高了动画播放过程的多样性。
在步骤S206中,电子设备基于该属性动画列表对目标图像元素进行渲染,以播放该目标动画。
在一些实施例中,在播放该目标动画时,电子设备调用管理动画入口类,通过该管理动画入口类,获取该目标图像元素;调用动画播放函数,通过该动画播放函数,播放该目标动画。
其中,在通过该管理动画入口类获取目标图像元素时,电子设备通过实例获取函数getInstance(),来获取该目标图像元素,进而通过动画播放函数,来播放该目标动画。
该动画播放函数为playAnimation(button,“data.josn”,“btn_scale”)。其中,button表示要播放动画的图像元素(如控件),该图像元素为任何自定义的矩形区域(View);data.josn表示获取到的属性描述文件;btn_scale表示获取到的属性动画列表,也即是要播放的动画。
通过调用管理动画入口,进而通过该管理动画入口中的方法函数,实现目标图像元素的获取,以及目标动画的播放,无需开发人员手动操作,即实现了动画播放,提高了人机交互效率,从而提高了动画播放效率。
上述步骤S201至步骤S206的过程参见图3,图3是根据一示例性实施例示出的一种视频播放方法的流程图,电子设备在通过上述步骤S201获取到属性描述文件后,通过上述步骤S202,分层解析属性信息,以获取到多种属性信息,进而通过上述步骤S203,生成关键帧的属性信息组,通过上述步骤S204,根据帧率,将属性信息组中的帧数修改为以毫秒为单位的显示时间,进而通过上述步骤S205,在属性信息组中加入绑定View,以生成属性动画列表,并将属性动画列表返回给管理动画入口类,通过管理动画入口类播放目标动画。
本公开的实施例所提供的方案,能够应用于多种操作系统、平台或框架中,如安卓(Android)操作系统、苹果公司的移动操作系统(iOS)、万维网(Web)、跨平台移动应用开发框架(React Native,RN),参见图4,图4是根据一示例性实施例示出的一种动画播放方法的原理性流程示意图,动画设计师在通过AE软件的Bodymovin插件导出Json格式的属性描述文件后,电子设备通过本公开所提供的方案,自动解析属性描述文件,以生成属性动画列表,进而关联属性动画列表和目标图像元素,以便在Android、iOS、Web和RN中,均能实现目标动画的播放。
在一些实施例中,动画设计师在通过AE软件设计出动画后,将自己所设计的动画导出为动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio LayerIV,MP4)格式的视频文件,进而将视频文件发送给开发人员,以便开发人员在通过本公开所提供的方案,实现目标动画的播放后,播放视频文件,以对通过本公开提供的方案所实现的目标动画进行审阅,从而在目标动画于视频文件中的动画效果一致后,上线目标动画。
上述步骤S201至步骤S206中涉及的内容参见图5,图5是根据一示例性实施例示出的一种动画播放方法的实现流程图,动画设计师在涉及出动画后,通过Bodymovin插件导出属性描述文件,电子设备通过本公开所提供的方案,直接播放目标动画,开发人员基于所播放的目标动画,以及动画设计师提供的MP4文件进行设计走查,也即是,查看目标动画的效果与动画设计师所提供的MP4文件中的动画效果是否一致,进而在效果一致时上线目标动画。
本公开的实施例所提供的方案,通过在获取到目标动画的属性描述文件后,解析属性描述文件,以获取到目标动画的多个图像帧中关键帧的动画效果的属性信息,进而基于关键帧的动画效果的属性信息,组成关键帧的动画效果的属性信息组,以便基于属性信息组渲染目标图像元素,实现目标动画的渲染,以便能够播放目标动画,无需开发人员手动编写代码,提高了人机交互效率,进而提高了动画制作效率。
此外,动画设计师在通过AE软件完成动画设计后,通过Bodymovin插件即能自动导出所设计的目标动画的属性描述文件,进而通过本公开的实施例所提供的方案,自动解析出属性信息,再封装成相应的属性动画列表,以便将属性动画列表与目标图像元素相关联后,来播放目标动画,整个过程并未涉及到开发人员手动编写代码的过程,实现了动画制作的低代码,后续也就无需开发人员修改代码,来修改目标动画的显示效果,从而节省了人力成本。
图6是根据一示例性实施例示出的一种动画播放装置的框图。参照图6,该装置包括:
获取单元601,被配置为执行获取目标动画的属性描述文件,该属性描述文件包括该目标动画的多个图像帧中动画效果的属性信息;
解析单元602,被配置为执行解析该属性描述文件,得到该多个图像帧中关键帧的动画效果的属性信息,该关键帧为该多个图像帧中动画效果对应的图像帧;
组成单元603,被配置为执行基于该多个图像帧中关键帧的动画效果的属性信息,组成该多个图像帧中关键帧的动画效果的属性信息组,该属性信息组包括该关键帧中的动画效果的属性信息以及各个关键帧对应的显示时间;
渲染单元604,被配置为执行基于该属性信息组对目标图像元素进行渲染,以播放该目标动画。
本公开的实施例所提供的装置,通过在获取到目标动画的属性描述文件后,解析属性描述文件,以获取到目标动画的多个图像帧中关键帧的动画效果的属性信息,进而基于关键帧的动画效果的属性信息,组成关键帧的动画效果的属性信息组,以便基于属性信息组渲染目标图像元素,实现目标动画的渲染,以便能够播放目标动画,无需开发人员手动编写代码,提高了人机交互效率,进而提高了动画制作效率。
在一些实施例中,该解析单元602,被配置为执行调用管理动画入口类,通过该管理动画入口类,调用包装动画组件类,其中,该管理动画入口类用于提供动画管理入口,该包装动画组件类用于包装获取到的数据;
该解析单元602,还被配置为执行通过该包装动画组件类,调用动画资源获取类,通过该动画资源获取类,解析该属性描述文件,获取该多个图像帧中关键帧的动画效果的属性信息。
在一些实施例中,该解析单元602包括第一获取子单元和第二获取子单元;
该第一获取子单元,被配置为执行通过该动画资源获取类,调用最外层数据解析类,通过该最外层数据解析类,获取该多个图像帧中动画效果的帧率;
该第二获取子单元,被配置为执行调用层关键帧数据解析类,通过该层关键帧数据解析类,获取该多个图像帧中关键帧的动画效果的属性信息。
在一些实施例中,该第二获取子单元包括调用子模块和获取子模块;
该调用子模块,被配置为执行通过该层关键帧数据解析类,调用属性转换数据解析类,通过该属性转换数据解析类,调用属性解析基类;
该获取子模块,被配置为执行通过该属性解析基类,从该属性描述文件中,获取该多个图像帧中关键帧的动画效果的属性信息;
其中,该属性转换数据解析类用于提供数据转换入口,该属性解析基类提供用于解析该属性描述文件的方法类。
在一些实施例中,该获取子模块,被配置为执行下述至少一项:
通过该属性解析基类,调用透明度属性解析类,通过该透明度属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的透明度属性信息;
通过该属性解析基类,调用位移属性解析类,通过该位移属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的位移属性信息;
通过该属性解析基类,调用旋转属性解析类,通过该旋转属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的旋转属性信息;
通过该属性解析基类,调用缩放属性解析类,通过该缩放属性解析类,从经过格式转换的属性描述文件中,获取该多个图像帧中动画效果的缩放属性信息。
在一些实施例中,该组成单元603包括组成子单元和确定子单元;
该组成子单元,被配置为执行对于任一关键帧,将该任一关键帧中动画效果的属性信息,组成该任一关键帧对应的初始属性信息组;
该确定子单元,被配置为执行基于该多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,该确定子单元,被配置为执行基于该多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;将该初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到该多个图像帧中关键帧的动画效果的属性信息组。
在一些实施例中,该渲染单元,被配置为执行对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到属性动画列表,该属性动画列表包括多个目标图像元素对应的属性信息组;基于该属性动画列表对该目标图像元素进行渲染,以播放该目标动画。
在一些实施例中,该装置还包括:
调用单元,被配置为执行调用管理动画入口类,通过该管理动画入口类,获取该目标图像元素;
播放单元,被配置为执行调用动画播放函数,通过该动画播放函数,播放该目标动画。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备700的框图。该电子设备700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,电子设备700包括有:一个或多个处理器701和一个或多个存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器701所执行以实现本公开中方法实施例提供的动画播放方法。
在一些实施例中,电子设备700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它电子设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置电子设备700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在电子设备700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在电子设备700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位电子设备700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为电子设备700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以电子设备700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测电子设备700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对电子设备700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在电子设备700的侧边框和/或显示屏705的下层。当压力传感器713设置在电子设备700的侧边框时,可以检测用户对电子设备700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置电子设备700的正面、背面或侧面。当电子设备700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在电子设备700的前面板。接近传感器716用于采集用户与电子设备700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与电子设备700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与电子设备700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对电子设备700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器702,上述指令可由电子设备700的处理器701执行以完成上述动画播放方法。可选地,计算机可读存储介质是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序令,该计算机程序被电子设备的处理器执行,以实现上述动画播放方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (21)

1.一种属性动画播放方法,其特征在于,所述方法包括:
获取目标动画的属性描述文件,所述属性描述文件包括所述目标动画的多个图像帧中动画效果的属性信息;
解析所述属性描述文件,得到所述多个图像帧中关键帧的动画效果的属性信息,所述关键帧为所述多个图像帧中动画效果对应的图像帧;
基于所述多个图像帧中关键帧的动画效果的属性信息,组成所述多个图像帧中关键帧的动画效果的属性信息组,所述属性信息组包括所述关键帧中的动画效果的属性信息以及各个关键帧对应的显示时间;
根据所述属性信息组得到属性动画列表;
基于所述属性动画列表对目标图像元素进行渲染,以播放所述目标动画。
2.根据权利要求1所述的方法,其特征在于,所述解析所述属性描述文件,得到所述多个图像帧中关键帧的动画效果的属性信息,包括:
调用管理动画入口类,通过所述管理动画入口类,调用包装动画组件类,其中,所述管理动画入口类用于提供动画管理入口,所述包装动画组件类用于包装获取到的数据;
通过所述包装动画组件类,调用动画资源获取类,通过所述动画资源获取类,解析所述属性描述文件,获取所述多个图像帧中关键帧的动画效果的属性信息。
3.根据权利要求2所述的方法,其特征在于,所述通过所述动画资源获取类,解析所述属性描述文件,获取所述多个图像帧中关键帧的动画效果的属性信息,包括:
通过所述动画资源获取类,调用最外层数据解析类,通过所述最外层数据解析类,获取所述多个图像帧中动画效果的帧率;
调用层关键帧数据解析类,通过所述层关键帧数据解析类,获取所述多个图像帧中关键帧的动画效果的属性信息。
4.根据权利要求3所述的方法,其特征在于,所述通过所述层关键帧数据解析类,获取所述多个图像帧中关键帧的动画效果的属性信息,包括:
通过所述层关键帧数据解析类,调用属性转换数据解析类,通过所述属性转换数据解析类,调用属性解析基类,通过所述属性解析基类,从所述属性描述文件中,获取所述多个图像帧中关键帧的动画效果的属性信息;
其中,所述属性转换数据解析类用于提供数据转换入口,所述属性解析基类提供用于解析所述属性描述文件的方法类。
5.根据权利要求4所述的方法,其特征在于,所述通过所述属性解析基类,从所述属性描述文件中,获取所述多个图像帧中关键帧的动画效果的属性信息,包括下述至少一项:
通过所述属性解析基类,调用透明度属性解析类,通过所述透明度属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的透明度属性信息;
通过所述属性解析基类,调用位移属性解析类,通过所述位移属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的位移属性信息;
通过所述属性解析基类,调用旋转属性解析类,通过所述旋转属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的旋转属性信息;
通过所述属性解析基类,调用缩放属性解析类,通过所述缩放属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的缩放属性信息。
6.根据权利要求3所述的方法,其特征在于,所述基于所述多个图像帧中关键帧的动画效果的属性信息,组成所述多个图像帧中关键帧的动画效果的属性信息组,包括:
对于任一关键帧,将所述任一关键帧中动画效果的属性信息,组成所述任一关键帧对应的初始属性信息组;
基于所述多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定所述多个图像帧中关键帧的动画效果的属性信息组。
7.根据权利要求6所述的方法,其特征在于,所述基于所述多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定所述多个图像帧中关键帧的动画效果的属性信息组,包括:
基于所述多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;
将所述初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到所述多个图像帧中关键帧的动画效果的属性信息组。
8.根据权利要求1所述的方法,其特征在于,所述根据所述属性信息组得到属性动画列表,包括:
对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到所述属性动画列表,所述属性动画列表包括多个目标图像元素对应的属性信息组。
9.根据权利要求1所述的方法,其特征在于,所述基于所述属性动画列表对目标图像元素进行渲染,以播放所述目标动画之后,所述方法还包括:
调用管理动画入口类,通过所述管理动画入口类,获取所述目标图像元素;
调用动画播放函数,通过所述动画播放函数,播放所述目标动画。
10.一种属性动画播放装置,其特征在于,所述装置包括:
获取单元,被配置为执行获取目标动画的属性描述文件,所述属性描述文件包括所述目标动画的多个图像帧中动画效果的属性信息;
解析单元,被配置为执行解析所述属性描述文件,得到所述多个图像帧中关键帧的动画效果的属性信息,所述关键帧为所述多个图像帧中动画效果对应的图像帧;
组成单元,被配置为执行基于所述多个图像帧中关键帧的动画效果的属性信息,组成所述多个图像帧中关键帧的动画效果的属性信息组,所述属性信息组包括所述关键帧中的动画效果的属性信息以及各个关键帧对应的显示时间;
渲染单元,被配置为执行根据所述属性信息组得到属性动画列表;基于所述属性动画列表对目标图像元素进行渲染,以播放所述目标动画。
11.根据权利要求10所述的装置,其特征在于,所述解析单元,被配置为执行调用管理动画入口类,通过所述管理动画入口类,调用包装动画组件类,其中,所述管理动画入口类用于提供动画管理入口,所述包装动画组件类用于包装获取到的数据;
所述解析单元,还被配置为执行通过所述包装动画组件类,调用动画资源获取类,通过所述动画资源获取类,解析所述属性描述文件,获取所述多个图像帧中关键帧的动画效果的属性信息。
12.根据权利要求11所述的装置,其特征在于,所述解析单元包括第一获取子单元和第二获取子单元;
所述第一获取子单元,被配置为执行通过所述动画资源获取类,调用最外层数据解析类,通过所述最外层数据解析类,获取所述多个图像帧中动画效果的帧率;
所述第二获取子单元,被配置为执行调用层关键帧数据解析类,通过所述层关键帧数据解析类,获取所述多个图像帧中关键帧的动画效果的属性信息。
13.根据权利要求12所述的装置,其特征在于,所述第二获取子单元包括调用子模块和获取子模块;
所述调用子模块,被配置为执行通过所述层关键帧数据解析类,调用属性转换数据解析类,通过所述属性转换数据解析类,调用属性解析基类;
所述获取子模块,被配置为执行通过所述属性解析基类,从所述属性描述文件中,获取所述多个图像帧中关键帧的动画效果的属性信息;
其中,所述属性转换数据解析类用于提供数据转换入口,所述属性解析基类提供用于解析所述属性描述文件的方法类。
14.根据权利要求13所述的装置,其特征在于,所述获取子模块,被配置为执行下述至少一项:
通过所述属性解析基类,调用透明度属性解析类,通过所述透明度属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的透明度属性信息;
通过所述属性解析基类,调用位移属性解析类,通过所述位移属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的位移属性信息;
通过所述属性解析基类,调用旋转属性解析类,通过所述旋转属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的旋转属性信息;
通过所述属性解析基类,调用缩放属性解析类,通过所述缩放属性解析类,从经过格式转换的属性描述文件中,获取所述多个图像帧中动画效果的缩放属性信息。
15.根据权利要求12所述的装置,其特征在于,所述组成单元包括组成子单元和确定子单元;
所述组成子单元,被配置为执行对于任一关键帧,将所述任一关键帧中动画效果的属性信息,组成所述任一关键帧对应的初始属性信息组;
所述确定子单元,被配置为执行基于所述多个图像帧中动画效果的帧率,以及各个关键帧对应的初始属性信息组,确定所述多个图像帧中关键帧的动画效果的属性信息组。
16.根据权利要求15所述的装置,其特征在于,所述确定子单元,被配置为执行基于所述多个图像帧中动画效果的帧率,确定各个关键帧对应的显示时间;将所述初始属性信息组中各个关键帧对应的帧索引,替换为各个关键帧对应的显示时间,得到所述多个图像帧中关键帧的动画效果的属性信息组。
17.根据权利要求10所述的装置,其特征在于,所述渲染单元,被配置为执行对各个关键帧对应的属性信息组与相应的目标图像元素进行关联,得到所述属性动画列表,所述属性动画列表包括多个目标图像元素对应的属性信息组。
18.根据权利要求10所述的装置,其特征在于,所述装置还包括:
调用单元,被配置为执行调用管理动画入口类,通过所述管理动画入口类,获取所述目标图像元素;
播放单元,被配置为执行调用动画播放函数,通过所述动画播放函数,播放所述目标动画。
19.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的属性动画播放方法。
20.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至9中任一项所述的属性动画播放方法。
21.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的属性动画播放方法。
CN202110825357.3A 2021-07-21 2021-07-21 动画播放方法、装置、电子设备及计算机可读存储介质 Active CN113409427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110825357.3A CN113409427B (zh) 2021-07-21 2021-07-21 动画播放方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110825357.3A CN113409427B (zh) 2021-07-21 2021-07-21 动画播放方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113409427A CN113409427A (zh) 2021-09-17
CN113409427B true CN113409427B (zh) 2024-04-19

Family

ID=77687307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110825357.3A Active CN113409427B (zh) 2021-07-21 2021-07-21 动画播放方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113409427B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363696B (zh) * 2021-12-16 2024-04-09 广州方硅信息技术有限公司 视频支持元素插入的显示处理方法、电子终端及存储介质
CN114820895A (zh) * 2022-03-11 2022-07-29 支付宝(杭州)信息技术有限公司 动画数据处理方法、装置、设备及系统
CN117251231B (zh) * 2023-11-17 2024-02-23 浙江口碑网络技术有限公司 一种动画资源处理方法、装置、系统及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611435A (zh) * 2016-12-22 2017-05-03 广州华多网络科技有限公司 动画处理方法和装置
CN111596918A (zh) * 2020-05-18 2020-08-28 网易(杭州)网络有限公司 动画插值器的构建方法、动画播放方法、装置及电子设备
CN111899322A (zh) * 2020-06-29 2020-11-06 腾讯科技(深圳)有限公司 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN112070864A (zh) * 2019-06-11 2020-12-11 腾讯科技(深圳)有限公司 动画渲染方法、装置、计算机可读存储介质和计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9924240B2 (en) * 2015-05-01 2018-03-20 Google Llc Systems and methods for interactive video generation and rendering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611435A (zh) * 2016-12-22 2017-05-03 广州华多网络科技有限公司 动画处理方法和装置
CN112070864A (zh) * 2019-06-11 2020-12-11 腾讯科技(深圳)有限公司 动画渲染方法、装置、计算机可读存储介质和计算机设备
CN111596918A (zh) * 2020-05-18 2020-08-28 网易(杭州)网络有限公司 动画插值器的构建方法、动画播放方法、装置及电子设备
CN111899322A (zh) * 2020-06-29 2020-11-06 腾讯科技(深圳)有限公司 视频处理方法、动画渲染sdk和设备及计算机存储介质

Also Published As

Publication number Publication date
CN113409427A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
US20210098022A1 (en) Method for generating video, and electronic device and readable storage medium thereof
CN110572722B (zh) 视频剪辑方法、装置、设备及可读存储介质
CN108401124B (zh) 视频录制的方法和装置
CN109874312B (zh) 播放音频数据的方法和装置
CN113409427B (zh) 动画播放方法、装置、电子设备及计算机可读存储介质
CN109359262B (zh) 动画播放方法、装置、终端及存储介质
CN110933330A (zh) 视频配音方法、装置、计算机设备及计算机可读存储介质
CN109327608B (zh) 歌曲分享的方法、终端、服务器和系统
CN109922356B (zh) 视频推荐方法、装置和计算机可读存储介质
CN110248236B (zh) 视频播放方法、装置、终端及存储介质
CN108897597B (zh) 指导配置直播模板的方法和装置
CN108717365B (zh) 在应用程序中执行功能的方法和装置
CN110288689B (zh) 对电子地图进行渲染的方法和装置
WO2021073293A1 (zh) 动画文件的生成方法、装置及存储介质
CN111752666A (zh) 窗口显示方法、装置和终端
CN110750734A (zh) 天气显示方法、装置、计算机设备及计算机可读存储介质
CN112257006A (zh) 页面信息的配置方法、装置、设备及计算机可读存储介质
CN111083526B (zh) 视频转场方法、装置、计算机设备及存储介质
CN111437600A (zh) 剧情展示方法、装置、设备及存储介质
CN113032590B (zh) 特效展示方法、装置、计算机设备及计算机可读存储介质
CN113204672B (zh) 资源展示方法、装置、计算机设备及介质
CN112822544B (zh) 视频素材文件生成方法、视频合成方法、设备及介质
CN114245218A (zh) 音视频播放方法、装置、计算机设备及存储介质
CN110992268B (zh) 背景设置方法、装置、终端及存储介质
CN110300275B (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
GR01 Patent grant
GR01 Patent grant