CN108845777B - 播放帧动画的方法和装置 - Google Patents
播放帧动画的方法和装置 Download PDFInfo
- Publication number
- CN108845777B CN108845777B CN201810594185.1A CN201810594185A CN108845777B CN 108845777 B CN108845777 B CN 108845777B CN 201810594185 A CN201810594185 A CN 201810594185A CN 108845777 B CN108845777 B CN 108845777B
- Authority
- CN
- China
- Prior art keywords
- frame
- played
- frame picture
- animation
- picture
- 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
- 238000011068 load Methods 0.000 claims description 10
- 230000002093 peripheral Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000000875 corresponding Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 230000003287 optical Effects 0.000 description 5
- 239000000919 ceramic Substances 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Abstract
本发明提供了一种播放帧图片的方法和装置,属于计算机技术领域。所述方法包括:在播放目标帧动画时,可以确定目标帧动画的帧率和目标帧动画的已播放时长,然后根据帧率和已播放时长,在目标帧动画中,确定待播放帧图片,将待播放帧图片加载至预设缓冲区,最后根据待播放帧图片的显示尺寸和预设的显示区域,从预设缓冲区获取待播放帧图片进行播放。采用本发明,可以降低内存中数据的溢出概率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种播放帧动画的方法和装置。
背景技术
帧动画是一种常见的动画形式,是将多帧不同的图片连续播放,形成帧动画。
相关技术中,终端在播放帧动画的过程中,会将帧动画中包括的每个帧图片缓存至内存中,后续从内存储中获取帧图片进行逐个播放。
这样,如果帧动画中包括的帧图片比较多,缓存至内存的数据量会比较大,有可能会导致内存发生数据溢出。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种播放帧动画的方法和装置。所述技术方案如下:
第一方面,提供了一种播放帧动画的方法,所述方法包括:
确定目标帧动画的帧率和所述目标帧动画的已播放时长;
根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片;
将所述待播放帧图片加载至预设缓冲区;
根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放。
可选的,所述根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片,包括:
确定所述已播放时长与所述帧率的比值中的整数部分;
根据所述整数部分,从所述目标帧动画中,获取待播放帧图片。
可选的,所述方法还包括:
根据所述预设的显示区域的尺寸,确定所述目标帧动画中帧图片的显示尺寸;
将所述目标帧动画中帧图片的显示尺寸,确定为所述待播放帧图片的显示尺寸。
可选的,所述根据所述预设的显示区域的尺寸,确定目标帧动画中帧图片的显示尺寸,包括:
如果所述目标帧动画中帧图片的实际尺寸中的长度大于所述显示区域的长度,且所述实际尺寸中的宽度大于所述显示区域的宽度,则按照所述目标帧动画中帧图片的长宽比,将所述目标帧动画中帧图片的长度缩小至小于或等于所述显示区域的长度,且将所述目标帧动画中帧图片的宽度缩小至小于或等于所述显示区域的宽度,将缩小后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度小于所述显示区域的长度,且所述实际尺寸中的宽度小于所述显示区域的宽度,则按照所述长宽比,将所述目标帧动画中帧图片的长度放大至等于所述显示区域的长度,或者将所述目标帧动画中帧图片的宽度放大至等于所述显示区域的宽度,将放大后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度等于所述显示区域的长度,且所述实际尺寸中的宽度等于所述显示区域的宽度,则将所述目标帧动画中帧图片的实际尺寸,确定为所述目标帧动画中帧图片的显示尺寸。
可选的,所述根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放,包括:
根据所述待播放帧图片的显示尺寸和预设的显示区域,确定所述待播放帧图片在所述显示区域中的显示位置;
按照所述显示尺寸,从所述预设缓冲区获取所述待播放帧图片,在所述显示位置进行播放。
可选的,所述方法还包括:
在播放完所述待播放帧图片之后,从所述预设缓冲区删除所述待播放帧图片。
第二方面,提供了一种播放帧动画的装置,所述装置包括:
确定模块,用于确定目标帧动画的帧率和所述目标帧动画的已播放时长;根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片;
加载模块,用于将所述待播放帧图片加载至预设缓冲区;
播放模块,用于根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放。
可选的,所述确定模块,用于:
确定所述已播放时长与所述帧率的比值中的整数部分;
根据所述整数部分,从所述目标帧动画中,获取待播放帧图片。
可选的,所述确定模块,还用于:
根据所述预设的显示区域的尺寸,确定所述目标帧动画中帧图片的显示尺寸;
将所述目标帧动画中帧图片的显示尺寸,确定为所述待播放帧图片的显示尺寸。
可选的,所述确定模块,还用于:
如果所述目标帧动画中帧图片的实际尺寸中的长度大于所述显示区域的长度,且所述实际尺寸中的宽度大于所述显示区域的宽度,则按照所述目标帧动画中帧图片的长宽比,将所述目标帧动画中帧图片的长度缩小至小于或等于所述显示区域的长度,且将所述目标帧动画中帧图片的宽度缩小至小于或等于所述显示区域的宽度,将缩小后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度小于所述显示区域的长度,且所述实际尺寸中的宽度小于所述显示区域的宽度,则按照所述长宽比,将所述目标帧动画中帧图片的长度放大至等于所述显示区域的长度,或者将所述目标帧动画中帧图片的宽度放大至等于所述显示区域的宽度,将放大后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度等于所述显示区域的长度,且所述实际尺寸中的宽度等于所述显示区域的宽度,则将所述目标帧动画中帧图片的实际尺寸,确定为所述目标帧动画中帧图片的显示尺寸。
可选的,所述播放模块,用于:
根据所述待播放帧图片的显示尺寸和预设的显示区域,确定所述待播放帧图片在所述显示区域中的显示位置;
按照所述显示尺寸,从所述预设缓冲区获取所述待播放帧图片,在所述显示位置进行播放。
可选的,所述装置还包括:
删除模块,用于在播放完所述待播放帧图片之后,从所述预设缓冲区删除所述待播放帧图片。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,在播放目标帧动画时,每次往缓冲区存储一个帧图片,由于一个帧图片的数据量比较小,所以数据溢出的可能性比较低。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种播放帧动画的方法的流程图;
图2是本发明实施例提供的一种显示区域的示意图;
图3是本发明实施例提供的一种播放帧动画的装置的结构示意图;
图4是本发明实施例提供的一种播放帧动画的装置的结构示意图;
图5是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种播放帧动画的方法,该方法的执行主体可以是终端,终端可以是手机、平板、电脑等。终端中可以设置有处理器、存储器和收发器等,处理器可以用于播放帧动画的过程的处理,存储器可以用于播放帧动画的过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。终端还可以包括屏幕等输入输出设备,屏幕可以是触摸屏,屏幕可以用于显示帧动画等,本发明实施例以终端为手机为例,进行方案的说明。
在进行实施前,首先介绍一下本发明实施中的应用场景:
终端接收到帧动画的播放指令时,可以获取帧动画,对帧动画进行逐帧播放,例如,帧动画是直播间中礼物的帧动画,在接收到播放指令(也可以称为是送礼指令)后,可以播放礼物的帧动画,或者,帧动画是一段短视频,在接收到播放指令后,可以播放该短视频。上述仅示出了两种帧动画,但是本发明实施例可以应用于任何帧动画。
如图1所示,该方法的处理流程可以包括如下的步骤:
步骤101,确定目标帧动画的帧率和目标帧动画的已播放时长。
其中,目标帧动画是任一帧动画,目标帧动画中包括多个帧图片,多个帧图片一般是矩形的。
在实施中,终端在播放目标帧动画时,可以确定本地存储的目标帧动画,然后确定目标帧动画中包括的帧图片的数目和总播放时长,然后将总播放时长除以帧图片的数目,得到目标帧动画的帧率。例如,当前用户在使用终端观看直播,主播接收到观众送的礼物时,会播放礼物动画(礼物动画为目标帧动画),可以确定礼物动画的总播放时长为3秒,帧图片的数目为10,可以确定帧率为0.3秒/帧。
并且在播放目标帧动画时,开始计时,这样,可以确定目标帧动画的已播放时长。例如,当前是刚开始播放目标帧动画,已播放时长为0秒。
步骤102,根据帧率和已播放时长,在目标帧动画中,确定待播放帧图片。
在实施中,终端确定出帧率和已播放时长后,可以使用帧率和已播放时长,在目标帧动画中,确定出待播放帧图片。
可选的,可以使用已播放时长与帧率的比值,获取待播放帧图片,相应的处理可以如下:
确定已播放时长与帧率的比值中的整数部分;根据整数部分,从目标帧动画中,获取待播放帧图片。
在实施中,在存储目标帧动画时,一般是为包括的每个帧图片设置索引号,索引号一般是从0开始计数(即第一个播放的帧图片的索引号为0,第二个播放的帧图片的索引号为1,以此类推)。
后续在获取待播放的帧图片时,可以使用已播放时长除以帧率,得到一个比值,然后确定该比值中的整数部分,该整数部分,即为帧图片的索引号,使用该整数部分,去目标帧动画中,查看整数部分对应的帧图片,即为待播放帧图片。例如,对于刚开始播放的目标帧图片,已播放时长为0,整数部分为0,可以获取0对应的帧图片。
可选的,在获取到第一个帧图片之后,可以每隔每个帧图片的播放时长(该播放时长等于1/帧率),去获取待播放帧图片。
需要说明的是,如果不按照每个帧图片的播放时长获取待播放帧图片,则在确定出的整数部分与上一次确定的整数部分相等时,不做后续处理。
步骤103,将待播放帧图片加载至预设缓冲区。
其中,预设缓冲区是用于存储待播放帧图片的区域,可存储数据的数据量可以是一个帧图片的数据量,另外也可以是两个帧图片的数据量,如果是一个帧图片的数据量,在加载下一个帧图片时,会覆盖之前存储的帧图片(也即是将原来存储的帧图片删除)。
在实施中,终端在确定待播放帧图片后,可以将预设缓冲区当前存储的帧图片删除,将确定出的待播放帧图片加载至预设缓冲区。后续在播放待播放帧图片时,可以直接从预设缓冲区中获取。
步骤104,根据待播放帧图片的显示尺寸和预设的显示区域,从预设缓冲区获取待播放帧图片进行播放。
其中,预设的显示区域可以是预设的,存储在目标帧动画所属的应用程序,随应用程序一起安装在终端中。例如,如图2所示,可以是全屏,也可以是上半个屏幕等。待播放帧图片的显示尺寸为在屏幕中最终显示的帧图片的尺寸。
在实施中,终端可以获取待播放帧图片的实际尺寸和预设的显示区域,然后根据实际尺寸和预设的显示区域,确定出待播放帧图片的显示尺寸,使用显示尺寸和预设的显示区域,从预设缓冲区获取待播放帧图片,按照待播放帧图片的显示尺寸,在预设的显示区域中,进行绘制,也即进行播放。
可选的,在绘制时,可以从待播放帧图片在预设的显示区域中所占位置的左上角开始,从左向右绘制出待播放帧图片。
可选的,预设缓冲区可以是LibGDX的图片纹理池,相应的步骤104的处理可以如下:
将待播放帧图片加载到内存中的图片纹理池(图片纹理池是一个用于缓存图片文理的容器,当待播放帧图片被加载到图片文理池时,会被转化为图片文理,图片文理中保存了待播放帧图片的图形信息,然后使用待播放帧图片的显示尺寸和预设的显示区域,确定出显示位置,使用图片纹理,在显示位置上显示待播放帧图片。
另外,除了LibGDX,还可以使用SurfaceView来显示待播放帧图片。
可选的,本发明实施例中,还提供了获取待播放帧图片的显示尺寸的方式:
根据预设的显示区域的尺寸,确定目标帧动画中帧图片的显示尺寸;将目标帧动画中帧图片的显示尺寸,确定为待播放帧图片的显示尺寸。
在实施中,终端可以确定目标帧动画中各帧图片的实际尺寸(各帧图片的实际尺寸都是一样的),然后使用显示区域的尺寸,调整确定目标帧动画中各帧图片的尺寸,得到目标帧动画中帧图片的显示尺寸,然后可以将目标帧动画中帧图片的显示尺寸,确定为待播放帧图片的显示尺寸。
可选的,可以首先确定显示位置,后续使用显示位置,显示待播放帧图片,相应的处理可以如下:
根据待播放帧图片的显示尺寸和预设的显示区域,确定待播放帧图片在显示区域中的显示位置;按照显示尺寸,从预设缓冲区获取待播放帧图片,在显示位置进行播放。
在实施中,终端可以使用待播放帧图片的显示尺寸和预设的显示区域,使待播放帧图片显示在预设的显示区域的正中间为标准,确定出待播放帧图片在显示区域中的显示位置。然后从预设缓冲区获取待播放帧图片,按照待播放帧图片的显示尺寸,对待播放帧图片的尺寸进行调整,在显示位置对调整尺寸后的待播放帧图片进行播放。
可选的,确定目标帧动画中帧图片的显示尺寸方式可以如下:
如果目标帧动画中帧图片的实际尺寸中的长度大于显示区域的长度,且实际尺寸中的宽度大于显示区域的宽度,则按照目标帧动画中帧图片的长宽比,将目标帧动画中帧图片的长度缩小至小于或等于显示区域的长度,且将目标帧动画中帧图片的宽度缩小至小于或等于显示区域的宽度,将缩小后目标帧动画中帧图片的尺寸,确定为目标帧动画中帧图片的显示尺寸;
如果目标帧动画中帧图片的实际尺寸中的长度小于显示区域的长度,且实际尺寸中的宽度小于显示区域的宽度,则按照长宽比,将目标帧动画中帧图片的长度放大至等于显示区域的长度,或者将目标帧动画中帧图片的宽度放大至等于显示区域的宽度,将放大后目标帧动画中帧图片的尺寸,确定为目标帧动画中帧图片的显示尺寸;
如果目标帧动画中帧图片的实际尺寸中的长度等于显示区域的长度,且实际尺寸中的宽度等于显示区域的宽度,则将目标帧动画中帧图片的实际尺寸,确定为目标帧动画中帧图片的显示尺寸。
其中,实际尺寸是目标帧动画在做好之后,各帧图片的尺寸。例如,1080*720、1920*1080等。
在实施中,终端可以确定目标帧动画中帧图片的实际尺寸(一般是存储在目标帧动画的属性中),然后判断实际尺寸与显示区域的尺寸的大小,如果实际尺寸中的长度大于显示区域的长度,且实际尺寸中的宽度大于显示区域的宽度,则可以确定目标帧动画中帧图片的长宽比,按照该长宽比,将目标帧动画中帧图片的长度缩小至小于或等于显示区域的长度,且将目标帧动画中帧图片的宽度缩小至小于或等于显示区域的宽度。然后,将缩小后目标帧动画中帧图片的尺寸,确定为目标帧动画中帧图片的显示尺寸。这样,在帧图片的实际尺寸大于显示区域的尺寸时,可以保证显示尺寸小于或等于显示区域的尺寸。
例如,实际尺寸为1920*1080,预设的显示区域的尺寸为1080*720,实际尺寸的长宽比为16/9,在将长度1920缩小至1080时,宽度1080等比例缩小至607.5,小于显示区域的宽度720,满足缩放条件。在将宽度1080缩小至720时,长度1920等比缩小至1280,大于显示区域的长度1080,不满足缩放条件,所以目标帧动画中帧图片的显示尺寸为1080*607.5。
如果实际尺寸中的长度小于显示区域的长度,且实际尺寸中的宽度小于显示区域的宽度,则可以确定目标帧动画中帧图片的长宽比,按照该长宽比,将目标帧动画中帧图片的长度放大至等于显示区域的长度,或将目标帧动画中帧图片的宽度放大至等于显示区域的宽度。然后,将放大后目标帧动画中帧图片的尺寸,确定为目标帧动画中帧图片的显示尺寸。这样,在帧图片的实际尺寸小于显示区域的尺寸时,可以保证显示尺寸小于或等于显示区域的尺寸。
例如,实际尺寸为1080*720,预设的显示区域的尺寸为1920*1080,实际尺寸的长宽比为3/2,在将长度1080放大至1920时,宽度720等比例放大至1280,大于显示区域的宽度1080,不满足缩放条件。在将宽度720放大至1080时,长度1080等比放大至1620,小于显示区域的长度1920,满足缩放条件,所以目标帧动画中帧图片的显示尺寸为1620*1080。
如果实际尺寸中的长度等于显示区域的长度,且实际尺寸中的宽度等于显示区域的宽度,则可以将目标帧动画中帧图片的实际尺寸,确定为目标帧动画中帧图片的显示尺寸。
需要说明的是,如果实际尺寸中的长度大于显示区域的长度,且实际尺寸中的宽度小于显示区域的宽度,则直接将长度缩放至显示区域的长度,等比例缩小宽度。如果实际尺寸中的长度小于显示区域的长度,且实际尺寸中的宽度大于显示区域的宽度,则直接将宽度缩放至显示区域的宽度,等比例缩小长度。
如果实际尺寸中的长度大于显示区域的长度,且实际尺寸中的宽度小于显示区域的宽度,则直接将长度缩放至显示区域的长度,等比例缩小宽度。如果实际尺寸中的长度小于显示区域的长度,且实际尺寸中的宽度大于显示区域的宽度,则直接将宽度缩放至显示区域的宽度,等比例缩小长度。
可选的,还可以将待播放帧图片从预设缓冲区删除,相应的处理可以如下:
在播放完待播放帧图片之后,从预设缓冲区删除待播放帧图片。
在实施中,在播放完待播放帧图片之后,可以从预设缓冲区删除待播放帧图片,这样,在下次存储下一个帧图片后,可以删除已播放帧图片,可以防止缓冲区数据溢出。
另外,在目标帧动画播放完成后,预设缓冲区不再会存储目标帧动画的帧图片,所以也可以删除目标帧动画中的最后一个帧图片。
本发明实施例中,在播放目标帧动画时,每次往缓冲区加载一个帧图片,由于一个帧图片的数据量比较小,所以数据溢出的可能性比较低。
基于相同的技术构思,本发明实施例还提供了一种播放帧动画的装置,如图3所示,该装置包括:
确定模块310,用于确定目标帧动画的帧率和所述目标帧动画的已播放时长;根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片;
加载模块320,用于将所述待播放帧图片加载至预设缓冲区;
播放模块330,用于根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放。
可选的,所述确定模块310,用于:
确定所述已播放时长与所述帧率的比值中的整数部分;
根据所述整数部分,从所述目标帧动画中,获取待播放帧图片。
可选的,所述确定模块310,还用于:
根据所述预设的显示区域的尺寸,确定所述目标帧动画中帧图片的显示尺寸;
将所述目标帧动画中帧图片的显示尺寸,确定为所述待播放帧图片的显示尺寸。
可选的,所述确定模块310,还用于:
如果所述目标帧动画中帧图片的实际尺寸中的长度大于所述显示区域的长度,且所述实际尺寸中的宽度大于所述显示区域的宽度,则按照所述目标帧动画中帧图片的长宽比,将所述目标帧动画中帧图片的长度缩小至小于或等于所述显示区域的长度,且将所述目标帧动画中帧图片的宽度缩小至小于或等于所述显示区域的宽度,将缩小后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度小于所述显示区域的长度,且所述实际尺寸中的宽度小于所述显示区域的宽度,则按照所述长宽比,将所述目标帧动画中帧图片的长度放大至等于所述显示区域的长度,或者将所述目标帧动画中帧图片的宽度放大至等于所述显示区域的宽度,将放大后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度等于所述显示区域的长度,且所述实际尺寸中的宽度等于所述显示区域的宽度,则将所述目标帧动画中帧图片的实际尺寸,确定为所述目标帧动画中帧图片的显示尺寸。
可选的,所述播放模块330,用于:
根据所述待播放帧图片的显示尺寸和预设的显示区域,确定所述待播放帧图片在所述显示区域中的显示位置;
按照所述显示尺寸,从所述预设缓冲区获取所述待播放帧图片,在所述显示位置进行播放。
可选的,如图4所示,所述装置还包括:
删除模块340,用于在播放完所述待播放帧图片之后,从所述预设缓冲区删除所述待播放帧图片。
本发明实施例中,在播放目标帧动画时,每次往缓冲区加载一个帧图片,由于一个帧图片的数据量比较小,所以数据溢出的可能性比较低。
需要说明的是:上述实施例提供的播放帧图片的装置在播放帧图片时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的播放帧图片的装置与播放帧图片的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5示出了本发明一个示例性实施例提供的终端500的结构框图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的播放帧图片的方法。
在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种播放帧动画的方法,其特征在于,所述方法包括:
确定目标帧动画的帧率和所述目标帧动画的已播放时长;
根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片;
将所述待播放帧图片加载至预设缓冲区,所述预设缓冲区是用于存储所述待播放帧图片的区域,所述预设缓冲区可存储数据的数据量为一个帧图片或两个帧图片的数据量;
根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放;
在播放完所述待播放帧图片之后,从所述预设缓冲区删除所述待播放帧图片。
2.根据权利要求1所述的方法,其特征在于,所述根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片,包括:
确定所述已播放时长与所述帧率的比值中的整数部分;
根据所述整数部分,从所述目标帧动画中,获取待播放帧图片。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述预设的显示区域的尺寸,确定所述目标帧动画中帧图片的显示尺寸;
将所述目标帧动画中帧图片的显示尺寸,确定为所述待播放帧图片的显示尺寸。
4.根据权利要求3所述的方法,其特征在于,所述根据所述预设的显示区域的尺寸,确定目标帧动画中帧图片的显示尺寸,包括:
如果所述目标帧动画中帧图片的实际尺寸中的长度大于所述显示区域的长度,且所述实际尺寸中的宽度大于所述显示区域的宽度,则按照所述目标帧动画中帧图片的长宽比,将所述目标帧动画中帧图片的长度缩小至小于或等于所述显示区域的长度,且将所述目标帧动画中帧图片的宽度缩小至小于或等于所述显示区域的宽度,将缩小后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度小于所述显示区域的长度,且所述实际尺寸中的宽度小于所述显示区域的宽度,则按照所述长宽比,将所述目标帧动画中帧图片的长度放大至等于所述显示区域的长度,或者将所述目标帧动画中帧图片的宽度放大至等于所述显示区域的宽度,将放大后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度等于所述显示区域的长度,且所述实际尺寸中的宽度等于所述显示区域的宽度,则将所述目标帧动画中帧图片的实际尺寸,确定为所述目标帧动画中帧图片的显示尺寸。
5.根据权利要求1至4任一所述的方法,其特征在于,所述根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放,包括:
根据所述待播放帧图片的显示尺寸和预设的显示区域,确定所述待播放帧图片在所述显示区域中的显示位置;
按照所述显示尺寸,从所述预设缓冲区获取所述待播放帧图片,在所述显示位置进行播放。
6.一种播放帧动画的装置,其特征在于,所述装置包括:
确定模块,用于确定目标帧动画的帧率和所述目标帧动画的已播放时长;根据所述帧率和所述已播放时长,在所述目标帧动画中,确定待播放帧图片;
加载模块,用于将所述待播放帧图片加载至预设缓冲区,所述预设缓冲区是用于存储所述待播放帧图片的区域,所述预设缓冲区可存储数据的数据量为一个帧图片或两个帧图片的数据量;
播放模块,用于根据所述待播放帧图片的显示尺寸和预设的显示区域,从所述预设缓冲区获取所述待播放帧图片进行播放;
删除模块,用于在播放完所述待播放帧图片之后,从所述预设缓冲区删除所述待播放帧图片。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,用于:
确定所述已播放时长与所述帧率的比值中的整数部分;
根据所述整数部分,从所述目标帧动画中,获取待播放帧图片。
8.根据权利要求6所述的装置,其特征在于,所述确定模块,还用于:
根据所述预设的显示区域的尺寸,确定所述目标帧动画中帧图片的显示尺寸;
将所述目标帧动画中帧图片的显示尺寸,确定为所述待播放帧图片的显示尺寸。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,还用于:
如果所述目标帧动画中帧图片的实际尺寸中的长度大于所述显示区域的长度,且所述实际尺寸中的宽度大于所述显示区域的宽度,则按照所述目标帧动画中帧图片的长宽比,将所述目标帧动画中帧图片的长度缩小至小于或等于所述显示区域的长度,且将所述目标帧动画中帧图片的宽度缩小至小于或等于所述显示区域的宽度,将缩小后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度小于所述显示区域的长度,且所述实际尺寸中的宽度小于所述显示区域的宽度,则按照所述长宽比,将所述目标帧动画中帧图片的长度放大至等于所述显示区域的长度,或者将所述目标帧动画中帧图片的宽度放大至等于所述显示区域的宽度,将放大后所述目标帧动画中帧图片的尺寸,确定为所述目标帧动画中帧图片的显示尺寸;
如果所述目标帧动画中帧图片的实际尺寸中的长度等于所述显示区域的长度,且所述实际尺寸中的宽度等于所述显示区域的宽度,则将所述目标帧动画中帧图片的实际尺寸,确定为所述目标帧动画中帧图片的显示尺寸。
10.根据权利要求6至9任一所述的装置,其特征在于,所述播放模块,用于:
根据所述待播放帧图片的显示尺寸和预设的显示区域,确定所述待播放帧图片在所述显示区域中的显示位置;
按照所述显示尺寸,从所述预设缓冲区获取所述待播放帧图片,在所述显示位置进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594185.1A CN108845777B (zh) | 2018-06-11 | 2018-06-11 | 播放帧动画的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594185.1A CN108845777B (zh) | 2018-06-11 | 2018-06-11 | 播放帧动画的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108845777A CN108845777A (zh) | 2018-11-20 |
CN108845777B true CN108845777B (zh) | 2021-07-02 |
Family
ID=64210844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810594185.1A Active CN108845777B (zh) | 2018-06-11 | 2018-06-11 | 播放帧动画的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108845777B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650872A (zh) * | 2020-12-15 | 2021-04-13 | 歌尔光学科技有限公司 | 动态图片播放方法、装置、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067679A (zh) * | 2011-10-20 | 2013-04-24 | 四川长虹电器股份有限公司 | 一种电视机本地图片显示方法 |
CN103544730A (zh) * | 2013-10-18 | 2014-01-29 | 厦门美图网科技有限公司 | 一种基于粒子系统的图片处理方法 |
CN103986933A (zh) * | 2014-04-24 | 2014-08-13 | 小米科技有限责任公司 | 动态图片显示方法及装置 |
CN106504303A (zh) * | 2016-09-13 | 2017-03-15 | 广州华多网络科技有限公司 | 一种播放帧动画的方法和装置 |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN107529065A (zh) * | 2017-08-31 | 2017-12-29 | 广州酷狗计算机科技有限公司 | 多媒体数据缓存方法、装置及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179833A1 (en) * | 2010-06-02 | 2012-07-12 | Onmobile Global Limited | Method and apparatus for adapting media |
CN106610828B (zh) * | 2015-10-21 | 2021-02-02 | 阿里巴巴(中国)有限公司 | 基于Android系统的GIF动画播放方法及装置 |
-
2018
- 2018-06-11 CN CN201810594185.1A patent/CN108845777B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067679A (zh) * | 2011-10-20 | 2013-04-24 | 四川长虹电器股份有限公司 | 一种电视机本地图片显示方法 |
CN103544730A (zh) * | 2013-10-18 | 2014-01-29 | 厦门美图网科技有限公司 | 一种基于粒子系统的图片处理方法 |
CN103986933A (zh) * | 2014-04-24 | 2014-08-13 | 小米科技有限责任公司 | 动态图片显示方法及装置 |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN106504303A (zh) * | 2016-09-13 | 2017-03-15 | 广州华多网络科技有限公司 | 一种播放帧动画的方法和装置 |
CN107529065A (zh) * | 2017-08-31 | 2017-12-29 | 广州酷狗计算机科技有限公司 | 多媒体数据缓存方法、装置及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
"【实战总结】帧动画调优实践";APP架构师;《https://www.sohu.com/a/191825825_675634》;20170914;第1-9页 * |
"GitHub - wuqifeng_FrameAnimation_ 防OOM,低内存帧动画实现,比Android原生帧动画性能更好";wuqifeng;《https://github.com/wuqifeng/FrameAnimation》;20180525;第1-3页 * |
"如何解决android大量图片的帧动画卡顿和OOM问题?";知乎用户;《https://www.zhihu.com/question/41409861?sort=created》;20171108;第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108845777A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108401124B (zh) | 视频录制的方法和装置 | |
CN108391171B (zh) | 视频播放的控制方法及装置、终端 | |
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN108965922B (zh) | 视频封面生成方法、装置和存储介质 | |
CN111753784A (zh) | 视频的特效处理方法、装置、终端及存储介质 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN108845777B (zh) | 播放帧动画的方法和装置 | |
CN111711841B (zh) | 图像帧播放方法、装置、终端及存储介质 | |
CN110868642B (zh) | 视频播放方法、装置及存储介质 | |
CN111083526B (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN110288689B (zh) | 对电子地图进行渲染的方法和装置 | |
CN108877845B (zh) | 歌曲播放方法及装置 | |
CN109275015B (zh) | 显示虚拟物品的方法、装置及存储介质 | |
CN109189525B (zh) | 加载子页面的方法、装置、设备及计算机可读存储介质 | |
CN110992268A (zh) | 背景设置方法、装置、终端及存储介质 | |
CN110769120A (zh) | 进行消息提醒的方法、装置、设备及存储介质 | |
CN110839174A (zh) | 图像处理的方法、装置、计算机设备以及存储介质 | |
CN113345478B (zh) | 播放器时刻获取方法、设备、存储介质及播放器 | |
CN108304241B (zh) | 一种显示对话框的方法和装置 | |
CN111586444B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN111464829B (zh) | 切换媒体数据的方法、装置、设备及存储介质 | |
CN110996115B (zh) | 直播视频播放方法、装置、设备、存储介质和程序产品 | |
CN108881715B (zh) | 拍摄模式的启用方法、装置、终端及存储介质 | |
CN110097619B (zh) | 应用程序中的动画效果实现方法、装置及设备 | |
CN110321059B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220329 Address after: 4119, 41st floor, building 1, No.500, middle section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan 610000 Patentee after: Chengdu kugou business incubator management Co.,Ltd. Address before: No. 315, Huangpu Avenue middle, Tianhe District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU KUGOU COMPUTER TECHNOLOGY Co.,Ltd. |