CN102024486A - 动画表情图片播放方法及*** - Google Patents

动画表情图片播放方法及*** Download PDF

Info

Publication number
CN102024486A
CN102024486A CN 201010282578 CN201010282578A CN102024486A CN 102024486 A CN102024486 A CN 102024486A CN 201010282578 CN201010282578 CN 201010282578 CN 201010282578 A CN201010282578 A CN 201010282578A CN 102024486 A CN102024486 A CN 102024486A
Authority
CN
China
Prior art keywords
animation expression
expression picture
play
animation
single 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.)
Granted
Application number
CN 201010282578
Other languages
English (en)
Other versions
CN102024486B (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 Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software 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 Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN 201010282578 priority Critical patent/CN102024486B/zh
Publication of CN102024486A publication Critical patent/CN102024486A/zh
Application granted granted Critical
Publication of CN102024486B publication Critical patent/CN102024486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种动画表情图片播放方法,包括:将要播放的动画表情图片按单帧进行分解;当动画表情图片的播放周期到来时依次播放所述单帧,当播放的动画表情图片在播放区域的可视区域外时,停止播放该动画表情图片的帧,还公开了一种动画表情图片播放***,包括:动画表情图片分解模块,用于将要播放的动画表情图片按单帧进行分解;动画表情图片播放模块,用于当动画表情图片的播放周期到来时依次播放所述单帧。本发明在大量动画表情图片同时播放时内存空间占用很少,CPU占用率很低,动画表情播放流畅。

Description

动画表情图片播放方法及***
技术领域
本发明涉及计算机网络通信中媒体播放技术领域,特别涉及一种动画表情图片播放方法及***。
背景技术
计算机网络技术是通信技术与计算机技术相结合的产物。近年来,计算机网络通信在人们的日常生活中有着越来越重要的地位,用户可以在计算机网络上进行文字、声音和视频的交流,共享文件、图片和视频信息等,从而方便用户的生活、工作和学习。在使用计算机网络进行沟通交流的过程中,表情图片比文字更直观、更快捷、更形象,比音频视频占用更少的资源,更能适应复杂的网络环境。而动画表情图片相对于静态表情图片,更生动,更能有效传达会话者的思想意图,使会话鲜活灵动起来,大大提升进行会话的用户的体验,可见,在计算机网络通信中使用动画表情图片是非常基本也是非常重要的功能。
目前播放动画表情图片有两种主要实现方案,第一种是使用IE内核实现动画表情图片播放,虽然实现简单,但其占用***资源太大,效率不高,所以使用者不多;第二种效率更高的方法,那就是开发者开发支持表情图片显示刷新的对象链接与嵌入(OLE,Object Linkingand Embedding)控件,然后再结合动画表情播放策略实现动画表情播放。不同的动画表情播放策略虽然最终都能实现动画表情播放,但在效率和最终效果上差别会很大,最常用的动画表情播放策略把待播放的动画表情数据全部传给OLE控件,然后在OLE控件内部启动一个线程来播放,这种播放策略的缺点是:每一个OLE控件在生命周期内会一直保留一份动画表情的全部数据,且每一个需要播放动画表情的OLE控件内部都要启动一个播放线程,导致的结果是当会话的用户双方在会话窗口中使用大量表情时,内存空间的占用会非常大,CPU的占用率会非常高,***响应变慢,动画表情越多越明显。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现在播放大量动画表情时既降低内存占用和降低CPU占用率,又保证动画播放流畅。
(二)技术方案
一种动画表情图片播放方法,包括以下步骤:
S1:将要播放的动画表情图片按单帧进行分解;
S2:当动画表情图片的播放周期到来时依次播放所述单帧。
其中,所述步骤S2具体包括:
S21:为所述动画表情图片创建一个播放对象;
S22:将当前要播放的单帧传递给所述播放对象,并将所述播放对象***到播放区域;
S23:当动画表情图片的播放周期到来时,播放存在于播放对象中的单帧;
S24:当前帧播放完成后,将下一个单帧传递给播放对象,然后执行步骤S23。
其中,所述步骤S24中的下一个单帧若为所述动画表情图片的最后一帧,则将第一帧传递给所述播放对象。
其中,所述步骤S23中当动画表情图片的播放周期到来时,遍历播放区域中的每个对象,判断是否为播放对象,若不是,则遍历下一个对象,若是则判断该播放对象是否处于播放区域的可视区域中,若处于可视区,则播放存在于播放对象中的单帧,否则,停止播放。
其中,所述播放对象为OLE控件,播放区域为利用RichEdit创建的会话窗口消息区域。
其中,所述步骤S1之前还包括获取所述动画表情图片的步骤:
接收含有动画表情标识的多媒体会话消息;
从所述多媒体会话消息中解析出动画表情标识;
根据所述动画表情标识获取动画表情图片。
一种动画表情图片播放***,包括:
动画表情图片分解模块,用于将要播放的动画表情图片按单帧进行分解;
动画表情图片播放模块,用于当动画表情图片的播放周期到来时依次播放所述单帧。
其中,所述动画表情图片播放模块包括:
播放对象创建模块,用于为所述动画表情图片创建一个播放对象;
帧传递模块,用于将当前要播放的单帧传递给所述播放对象,并将所述播放对象***到播放区域;
帧播放模块,用于当动画表情图片的播放周期到来时,播放存在于播放对象中的单帧;
帧循环模块:用于当前帧播放完成后,将下一个单帧传递给播放对象,然后执行帧播放模块。
其中,所述帧播放模块包括播放判断模块,用于当动画表情图片的播放周期到来时,遍历播放区域中的每个对象,判断是否为播放对象,若不是,则遍历下一个对象,若是则判断该播放对象是否处于播放区域的可视区域中,若处于可视区,则播放存在于播放对象中的单帧,否则,停止播放。
其中,所述***还包括:
会话消息接收模块,用于接收含有动画表情标识的多媒体会话消息;
动画表情解析模块,用于从所述多媒体会话消息中解析出动画表情标识;
动画表情图片获取模块,用于根据所述动画表情标识获取动画表情图片。
(三)有益效果
本发明的动画表情图片播放方法及***中只将当前播放的帧数据(非全部帧数据)传递给播放对象,在大量的动画表情图片播放时显著降低了内存的占用;采用时钟周期的方法(非创建播放线程)来控制帧的播放,并只播放处于播放区域的帧,在大量的动画表情图片播放时显著降低了CPU的占用率,使播放更加流畅。
附图说明
图1是本发明实施例的动画表情图片播放方法流程图;
图2是本发明实施例的获取动画表情图片流程图;
图3是图1中步骤S102具体流程图;
图4是本发明实施例的动画表情图片播放***结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,为发明实施例的动画表情图片播放方法流程图,包括:
步骤S101,将要播放的动画表情图片按单帧进行分解,其中单帧为动画表情图片中的一个图像帧。
要播放动画表情图片,首先要获取动画表情图片,其流程如图2所示:
步骤S201,接收含有动画表情标识的多媒体会话消息;
步骤S202,对多媒体会话消息进行解析,
步骤S203,将解析出的文本消息***到会话窗口消息区域;
步骤S204,将根据解析出的动画表情标识获取动画表情图片。
步骤S102,当动画表情图片的播放周期到来时依次播放所述单帧,具体流程如图3所示:
步骤S301,为每个表情图片创建一个播放对象,优选为对象连接与嵌入(Object Linking and Embedding,OLE)控件,该OLE控件为动画表情的OLE控件。
步骤S302,将当前要播放的单帧传递给所述OLE控件,当第一次播放时,所述当前帧为第一帧,并将所述OLE控件***到播放区域,该播放区域为显示该表情图片的会话窗口消息区域,本实施例中会话窗口消息区域优选采用Windows的RichEdit创建。RichEdit提供的接口STDMETHOD(InsertObject)(THIS_REOBJECT FAR*lpreobject)PURE可以***符合OLE标准的OLE控件,即可将动画表情的OLE控件***到会话窗口消息区域。
步骤S303,当动画表情的播放周期到来时,遍历会话窗口消息区域的所有OLE控件。
步骤S304,若该OLE控件不是动画表情的OLE控件,则遍历下一个OLE控件,若是,执行步骤S305。
步骤S305,判断该动画表情的OLE控件是否在会话窗口消息区域的可视区域内(会话过程中,通过拖动滚动条将部分消息滚动到可视区域之外),若在可视区域内,则执行步骤S306。
步骤S306,动画表情的OLE控件将其中的单帧绘制显示在可视区域内。
步骤S307,将下当前显示的单帧的下一个单帧传递到该动画表情的动画表情的OLE控件,返回步骤S305。若当前显示的单帧为最后一帧,则下一个单帧为该动画表情图片的第一帧,以周而复始地显示该动画表情图片。
本发明还公开了一种动画表情图片播放***,如图4所示,包括:动画表情图片分解模块,用于将要播放的动画表情图片按单帧进行分解;动画表情图片播放模块,用于当动画表情图片的播放周期到来时依次播放所述单帧。
其中,所述动画表情图片播放模块包括:播放对象创建模块,用于为所述动画表情图片创建一个播放对象;帧传递模块,用于将当前要播放的单帧传递给所述播放对象,并将所述播放对象***到播放区域;帧播放模块,用于当动画表情图片的播放周期到来时,播放存在于播放对象中的单帧;帧循环模块:用于当前帧播放完成后,将下一个单帧传递给播放对象,然后执行帧播放模块。
其中,所述帧播放模块包括播放判断模块,用于当动画表情图片的播放周期到来时,遍历播放区域中的每个对象,判断是否为播放对象,若不是,则遍历下一个对象,若是则判断该播放对象是否处于播放区域的可视区域中,若处于可视区,则播放存在于播放对象中的单帧,否则,停止播放。
其中,所述***还包括:会话消息接收模块,用于接收含有动画表情标识的多媒体会话消息;动画表情解析模块,用于从所述多媒体会话消息中解析出动画表情标识;动画表情图片获取模块,用于根据所述动画表情标识获取动画表情图片。
本发明的方法和***可广泛的用于即时通信(Instant Messaging,IM)软件,及网页会话区要***播放表情图片的情形。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (10)

1.一种动画表情图片播放方法,其特征在于,包括以下步骤:
S1:将要播放的动画表情图片按单帧进行分解;
S2:当动画表情图片的播放周期到来时依次播放所述单帧。
2.如权利要求1所述的动画表情图片播放方法,其特征在于,所述步骤S2具体包括:
S21:为所述动画表情图片创建一个播放对象;
S22:将当前要播放的单帧传递给所述播放对象,并将所述播放对象***到播放区域;
S23:当动画表情图片的播放周期到来时,播放存在于播放对象中的单帧;
S24:当前帧播放完成后,将下一个单帧传递给播放对象,然后执行步骤S23。
3.如权利要求2所述的动画表情图片播放方法,其特征在于,所述步骤S24中的下一个单帧若为所述动画表情图片的最后一帧,则将第一帧传递给所述播放对象。
4.如权利要求2所述的动画表情图片播放方法,其特征在于,所述步骤S23中当动画表情图片的播放周期到来时,遍历播放区域中的每个对象,判断是否为播放对象,若不是,则遍历下一个对象,若是则判断该播放对象是否处于播放区域的可视区域中,若处于可视区,则播放存在于播放对象中的单帧,否则,停止播放。
5.如权利要求2~4中任一所述的动画表情图片播放方法,其特征在于,所述播放对象为OLE控件,播放区域为利用RichEdit创建的会话窗口消息区域。
6.如权利要求1所述的动画表情图片播放方法,其特征在于,所述步骤S1之前还包括获取所述动画表情图片的步骤:
接收含有动画表情标识的多媒体会话消息;
从所述多媒体会话消息中解析出动画表情标识;
根据所述动画表情标识获取动画表情图片。
7.一种动画表情图片播放***,其特征在于,包括:
动画表情图片分解模块,用于将要播放的动画表情图片按单帧进行分解;
动画表情图片播放模块,用于当动画表情图片的播放周期到来时依次播放所述单帧。
8.如权利要求7所述的动画表情图片播放***,其特征在于,所述动画表情图片播放模块包括:
播放对象创建模块,用于为所述动画表情图片创建一个播放对象;
帧传递模块,用于将当前要播放的单帧传递给所述播放对象,并将所述播放对象***到播放区域;
帧播放模块,用于当动画表情图片的播放周期到来时,播放存在于播放对象中的单帧;
帧循环模块:用于当前帧播放完成后,将下一个单帧传递给播放对象,然后执行帧播放模块。
9.如权利要求8所述的动画表情图片播放***,其特征在于,所述帧播放模块包括播放判断模块,用于当动画表情图片的播放周期到来时,遍历播放区域中的每个对象,判断是否为播放对象,若不是,则遍历下一个对象,若是则判断该播放对象是否处于播放区域的可视区域中,若处于可视区,则播放存在于播放对象中的单帧,否则,停止播放。
10.如权利要求7所述的动画表情图片播放***,其特征在于,所述***还包括:
会话消息接收模块,用于接收含有动画表情标识的多媒体会话消息;
动画表情解析模块,用于从所述多媒体会话消息中解析出动画表情标识;
动画表情图片获取模块,用于根据所述动画表情标识获取动画表情图片。
CN 201010282578 2010-09-14 2010-09-14 动画表情图片播放方法及*** Active CN102024486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010282578 CN102024486B (zh) 2010-09-14 2010-09-14 动画表情图片播放方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010282578 CN102024486B (zh) 2010-09-14 2010-09-14 动画表情图片播放方法及***

Publications (2)

Publication Number Publication Date
CN102024486A true CN102024486A (zh) 2011-04-20
CN102024486B CN102024486B (zh) 2012-12-19

Family

ID=43865685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010282578 Active CN102024486B (zh) 2010-09-14 2010-09-14 动画表情图片播放方法及***

Country Status (1)

Country Link
CN (1) CN102024486B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314701A (zh) * 2011-06-28 2012-01-11 北京新媒传信科技有限公司 移动设备中实时播放gif动画的方法及装置
CN103634200B (zh) * 2013-09-10 2016-10-12 北京思特奇信息技术股份有限公司 一种基于即时消息的闪图发送***
CN103761132B (zh) * 2014-01-26 2017-03-22 广州视源电子科技股份有限公司 一种智能终端开机动画播放控制方法
CN106874167A (zh) * 2016-12-30 2017-06-20 晶赞广告(上海)有限公司 展示信息的检测方法及装置
CN108628464A (zh) * 2018-04-20 2018-10-09 维沃移动通信有限公司 一种动态表情的显示方法及移动终端
CN110300047A (zh) * 2018-03-23 2019-10-01 腾讯科技(深圳)有限公司 一种动画播放方法、装置及存储介质
CN112333521A (zh) * 2020-11-05 2021-02-05 杭州米络星科技(集团)有限公司 表情播放方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046722A (zh) * 2006-03-31 2007-10-03 腾讯科技(深圳)有限公司 在客户端内容发送窗口中编辑图片的方法及客户端
CN101064693A (zh) * 2006-04-24 2007-10-31 腾讯科技(深圳)有限公司 一种在即时通讯中同步呈现动画的方法
CN101193298A (zh) * 2006-11-27 2008-06-04 三星电子株式会社 播放运动图像的***、方法和介质
CN101420393A (zh) * 2008-12-10 2009-04-29 腾讯科技(深圳)有限公司 基于即时通信实现表情编辑的方法及基于即时通信的终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046722A (zh) * 2006-03-31 2007-10-03 腾讯科技(深圳)有限公司 在客户端内容发送窗口中编辑图片的方法及客户端
CN101064693A (zh) * 2006-04-24 2007-10-31 腾讯科技(深圳)有限公司 一种在即时通讯中同步呈现动画的方法
CN101193298A (zh) * 2006-11-27 2008-06-04 三星电子株式会社 播放运动图像的***、方法和介质
CN101420393A (zh) * 2008-12-10 2009-04-29 腾讯科技(深圳)有限公司 基于即时通信实现表情编辑的方法及基于即时通信的终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314701A (zh) * 2011-06-28 2012-01-11 北京新媒传信科技有限公司 移动设备中实时播放gif动画的方法及装置
CN103634200B (zh) * 2013-09-10 2016-10-12 北京思特奇信息技术股份有限公司 一种基于即时消息的闪图发送***
CN103761132B (zh) * 2014-01-26 2017-03-22 广州视源电子科技股份有限公司 一种智能终端开机动画播放控制方法
CN106874167A (zh) * 2016-12-30 2017-06-20 晶赞广告(上海)有限公司 展示信息的检测方法及装置
CN110300047A (zh) * 2018-03-23 2019-10-01 腾讯科技(深圳)有限公司 一种动画播放方法、装置及存储介质
CN108628464A (zh) * 2018-04-20 2018-10-09 维沃移动通信有限公司 一种动态表情的显示方法及移动终端
CN112333521A (zh) * 2020-11-05 2021-02-05 杭州米络星科技(集团)有限公司 表情播放方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN102024486B (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
CN102024486B (zh) 动画表情图片播放方法及***
US8683341B2 (en) Multimedia presentation editor for a small-display communication terminal or computing device
CN103546782B (zh) 一种视频播放时动态添加广告的方法及***
CN105518614B (zh) 用于多屏幕应用程序的屏幕录制的方法、设备和计算机可读介质
CN102905170A (zh) 视频的弹幕方法及***
CN101483054B (zh) 一种播放多媒体文件的方法及装置
JP5512657B2 (ja) リッチメディアサービスのための端末のユーザインターフェース装置及び方法
CN101778282B (zh) 一种不同媒体文件并发播放方法
US9087131B1 (en) Auto-summarization for a multiuser communication session
CN106131550A (zh) 播放多媒体文件的方法及装置
CN102426685A (zh) 交互式互联网视频广告播放方法
CN103947221A (zh) 用户界面显示方法以及使用该方法的装置
CN101950239A (zh) 大尺寸图像显示方法及***
CN110446114A (zh) 多媒体数据的处理装置、方法、电子设备及存储介质
CN104980500A (zh) 一种信息显示方法及终端
CN109819315A (zh) Hevc视频的播放方法、装置、终端及存储介质
CN111124668A (zh) 内存释放方法、装置、存储介质及终端
CN105491396A (zh) 一种多媒体信息处理方法及服务器
CN110268718A (zh) 用于移动设备上视频流媒体和播放的内容感知的节能
US11997062B2 (en) Methods, systems, and media for identifying and presenting video objects linked to a source video
Rashid et al. Dancing with words: Using animated text for captioning
CN109874024A (zh) 一种基于动态视频海报的弹幕处理方法、***及存储介质
CN106227323A (zh) 一种显示方法和装置
CN201600871U (zh) 多媒体特效功能的实现***、服务器及终端
CN106331553B (zh) 一种存储视频的方法、装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer

Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.