CN110458925B - 一种动画素材播放方法、装置、电子设备和存储介质 - Google Patents
一种动画素材播放方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110458925B CN110458925B CN201910684717.5A CN201910684717A CN110458925B CN 110458925 B CN110458925 B CN 110458925B CN 201910684717 A CN201910684717 A CN 201910684717A CN 110458925 B CN110458925 B CN 110458925B
- Authority
- CN
- China
- Prior art keywords
- rendering
- animation
- playing
- layer
- materials
- 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
- 239000000463 material Substances 0.000 title claims abstract description 686
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000009877 rendering Methods 0.000 claims abstract description 388
- 230000008569 process Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 21
- 230000006854 communication Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种动画素材播放方法、装置、电子设备和存储介质,涉及直播应用领域。其中,渲染层根据应用层发送的动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,而无需应用层根据动画素材的播放次数和动画素材包括的元素的循环次数确定动画素材的渲染时长,再根据确定的渲染时长控制渲染层开始和停止渲染该动画素材,避免出现因应用层和渲染层不同步而导致动画素材在播放至中间画面时突然停止的现象。渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,可以保证动画素材的完整播放。
Description
技术领域
本公开涉及直播应用领域,特别涉及一种动画素材播放方法、装置、电子设备和存储介质。
背景技术
随着直播行业的快速发展,直播的受众不断扩大,在主播进行直播时,用户的参与度越来越高。在直播期间,用户可以给主播赠送礼物。一个用户给主播赠送礼物后,服务器会通知主播的终端设备和所有正在观看直播的用户的终端设备播放该礼物。对于服务器和各个终端设备而言,礼物为预先设置的动画素材,也可以称为魔法表情。每个动画素材中可以包括多个元素的元素图片以及渲染脚本等。
服务器确认用户的购买礼物的行为后,根据用户的购买数量确定对应的动画素材的播放次数,将该动画素材的播放次数发送给各个终端设备,以使各个终端设备按照确定的播放次数播放该动画素材。
现有技术中,终端设备接收到服务器发送的某个动画素材的播放次数,终端设备的应用层根据该动画素材的播放次数和播放一次该动画素材所需的时间预测渲染该动画素材所需的时长,其中,播放一次该动画素材所需的时间可以根据动画素材包括的元素的循环次数确定。应用层启动播放该动画素材,并开始计算渲染时长,同时应用层将该动画素材发送给渲染层,由渲染层将该动画素材渲染至直播画面上。渲染时长达到预测的时长后,应用层向渲染层发送停止渲染指令,渲染层停止该动画素材的渲染过程。
上述过程中,由应用层控制动画素材的渲染时长,而应用层并不能确定渲染层的实际渲染进度,应用层和渲染层并不同步,因此,当应用层向渲染层发送停止渲染指令时,渲染层可能并未根据该动画素材的播放次数完成动画素材的完整播放,从而导致动画素材在播放至中间画面时突然停止。
发明内容
本公开提供了一种动画素材播放方法、装置、电子设备和存储介质,用以解决现有技术中存在的停止渲染时动画素材未能完整播放的问题。
第一方面,本公开实施例提供一种动画素材播放方法,包括:
渲染层接收应用层发送的动画素材、所述动画素材的播放次数和所述动画素材包括的元素的循环次数,其中所述动画素材的播放次数是在直播过程中服务器发送给所述应用层的;
所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
本公开实施例提供的动画素材播放方法,渲染层根据应用层发送的动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,而无需应用层根据动画素材的播放次数和动画素材包括的元素的循环次数确定动画素材的渲染时长,再根据确定的渲染时长控制渲染层开始和停止渲染该动画素材,避免出现因应用层和渲染层不同步而导致动画素材在播放至中间画面时突然停止的现象。渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,可以保证动画素材的完整播放。
在一种可能的实现方式中,所述方法还包括:
所述渲染层完成所述动画素材的渲染后,向所述应用层返回渲染完成消息;
所述渲染层在接收所述应用层发送的停止渲染指令后,清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
上述方法中,渲染层完成动画素材的渲染后,向应用层返回渲染完成消息,以通知应用层渲染完成,可以结束该渲染任务。
在一种可能的实现方式中,所述渲染层向所述应用层返回渲染完成消息之后,所述方法还包括:
若所述渲染层接收到所述应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新所述动画素材剩余的播放次数。
上述方法中,如果在渲染层将动画素材渲染至直播画面的过程中,应用层又接收到服务器发送的新的动画素材的播放指令,新的动画素材的播放指令指示播放相同的动画素材,则在结束渲染任务之前,应用层只需要发送的相同的动画素材的播放次数即可,可以提升传送效率。
第二方面,本公开实施例提供一种动画素材播放方法,包括:
在直播过程中,应用层接收服务器发送的动画素材的播放次数;
所述应用层将所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
本公开实施例提供的动画素材播放方法,应用层将动画素材、动画素材的播放次数和动画素材包括的元素的循环次数发送给渲染层,使渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,而不再根据动画素材的播放次数和动画素材包括的元素的循环次数确定动画素材的渲染时长,再根据确定的渲染时长控制渲染层开始和停止渲染该动画素材,一方面,可以避免出现因应用层和渲染层不同步而导致动画素材在播放至中间画面时突然停止的现象,保证动画素材的完整播放;另一方面,可以节约应用层的程序开销,有利于应用层提高执行效率。
在一种可能的实现方式中,所述应用层将所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层之前,所述方法还包括:
所述应用层从所述动画素材的配置文件中获取所述动画素材包括的元素的循环次数。
上述方法中,可以在动画素材的配置文件中增加配置项,设置动画素材包括的元素的循环次数,从而可以灵活地配置动画素材包括的元素的循环次数,方便修改动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述方法还包括:
所述应用层接收所述渲染层返回的渲染完成消息,其中所述渲染完成消息是所述渲染层在完成所述动画素材的渲染后发送的;
所述应用层向所述渲染层发送停止渲染指令,以使所述渲染层根据所述停止渲染指令清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
上述方法中,渲染层完成动画素材的渲染后,向应用层返回渲染完成消息,以通知应用层渲染完成。应用层接收渲染层返回的渲染完成消息后,再结束该渲染任务,可以保证结束渲染任务时动画素材的完整播放。
在一种可能的实现方式中,所述应用层在接收到所述渲染完成消息后,向所述渲染层发送停止渲染指令之前,所述方法还包括:
所述应用层确定在所述渲染层将所述动画素材渲染至直播画面的过程中,未接收到所述服务器发送的新的动画素材的播放次数。
在一种可能的实现方式中,所述应用层在接收到所述渲染完成消息后,所述方法还包括:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的相同的动画素材的播放次数,则所述应用层将相同的动画素材的播放次数发送给渲染层,以使所述渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
上述方法中,如果在渲染层将动画素材渲染至直播画面的过程中,应用层又接收到服务器发送的新的动画素材的播放指令,新的动画素材的播放指令指示播放相同的动画素材,则在结束渲染任务之前,应用层只需要发送的相同的动画素材的播放次数即可,可以提升传送效率。
在一种可能的实现方式中,所述应用层向所述渲染层发送停止渲染指令后,所述方法还包括:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的不同的动画素材的播放次数,则所述应用层将所述不同的动画素材、接收到的所述不同的动画素材的播放次数和所述不同的动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据接收到的所述播放次数和所述元素的循环次数将所述不同的动画素材渲染至直播画面上。
第三方面,本公开实施例提供一种动画素材播放装置,包括:
素材接收单元,用于接收应用层发送的动画素材、所述动画素材的播放次数和所述动画素材包括的元素的循环次数,其中所述动画素材的播放次数是在直播过程中服务器发送给所述应用层的;
渲染单元,用于根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
在一种可能的实现方式中,所述装置还包括:
回调单元,用于完成所述动画素材的渲染后,向所述应用层返回渲染完成消息;
停止渲染单元,用于在接收所述应用层发送的停止渲染指令后,清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述渲染单元还用于:
若所述渲染层接收到所述应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新所述动画素材剩余的播放次数。
第四方面,本公开实施例提供一种动画素材播放装置,包括:
数据接收单元,用于在直播过程中接收服务器发送的动画素材的播放次数;
素材发送单元,用于将所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
在一种可能的实现方式中,所述装置还包括:
素材获取单元,用于从所述动画素材的配置文件中获取所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述装置还包括:
消息接收单元,用于接收所述渲染层返回的渲染完成消息,其中所述渲染完成消息是所述渲染层在完成所述动画素材的渲染后发送的;
指令发送单元,用于向所述渲染层发送停止渲染指令,以使所述渲染层根据所述停止渲染指令清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述指令发送单元还用于:
所述应用层确定在所述渲染层将所述动画素材渲染至直播画面的过程中,未接收到所述服务器发送的新的动画素材的播放次数。
在一种可能的实现方式中,所述指令发送单元还用于:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的相同的动画素材的播放次数,则所述应用层将相同的动画素材的播放次数发送给渲染层,以使所述渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
在一种可能的实现方式中,所述指令发送单元还用于:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的不同的动画素材的播放次数,则所述应用层将所述不同的动画素材、接收到的所述不同的动画素材的播放次数和所述不同的动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据接收到的所述播放次数和所述元素的循环次数将所述不同的动画素材渲染至直播画面上。
第五方面,本公开实施例提供了一种电子设备,包括:处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如下步骤:
渲染层接收应用层发送的动画素材、所述动画素材的播放次数和所述动画素材包括的元素的循环次数,其中所述动画素材的播放次数是在直播过程中服务器发送给所述应用层的;
所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
在一种可能的实现方式中,所述处理器还执行:
所述渲染层完成所述动画素材的渲染后,向所述应用层返回渲染完成消息;
所述渲染层在接收所述应用层发送的停止渲染指令后,清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述处理器还执行:
若所述渲染层接收到所述应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新所述动画素材剩余的播放次数。
第六方面,本公开实施例提供了一种电子设备,包括:处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如下步骤:
在直播过程中,应用层接收服务器发送的动画素材的播放次数;
所述应用层将所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
在一种可能的实现方式中,所述处理器还执行:
所述应用层从所述动画素材的配置文件中获取所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述处理器还执行:
所述应用层接收所述渲染层返回的渲染完成消息,其中所述渲染完成消息是所述渲染层在完成所述动画素材的渲染后发送的;
所述应用层向所述渲染层发送停止渲染指令,以使所述渲染层根据所述停止渲染指令清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述处理器还执行:
所述应用层确定在所述渲染层将所述动画素材渲染至直播画面的过程中,未接收到所述服务器发送的新的动画素材的播放次数。
在一种可能的实现方式中,所述处理器还执行:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的相同的动画素材的播放次数,则所述应用层将相同的动画素材的播放次数发送给渲染层,以使所述渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
在一种可能的实现方式中,所述处理器还执行:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的不同的动画素材的播放次数,则所述应用层将所述不同的动画素材、接收到的所述不同的动画素材的播放次数和所述不同的动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据接收到的所述播放次数和所述元素的循环次数将所述不同的动画素材渲染至直播画面上。
第七方面,本公开另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面中任意一种测试报告生成方法。
第八方面,本公开另一实施例还提供了一种计算机程序产品,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面中任意一种测试报告生成方法。
第三方面至第八方面中任意一种实现方式所带来的技术效果可参见第一方面或第二方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种动画素材播放方法的应用场景示意图;
图2为本公开实施例提供的一种动画素材播放方法的交互图;
图3为本公开实施例提供的一种动画素材的播放画面示意图;
图4为本公开实施例提供的另一种动画素材播放方法的交互图;
图5为本公开实施例提供的另一种动画素材播放方法的交互图;
图6为本公开实施例提供的另一种动画素材的播放画面示意图;
图7为本公开实施例提供的一种动画素材播放方法的流程示意图;
图8为本公开实施例提供的另一种动画素材播放方法的流程示意图;
图9为本公开实施例提供的一种动画素材播放装置的结构框图;
图10为本公开实施例提供的另一种动画素材播放装置的结构框图;
图11为本公开实施例提供的另一种动画素材播放装置的结构框图;
图12为本公开实施例提供的另一种动画素材播放装置的结构框图;
图13为本公开实施例提供的一种电子设备的结构框图;
图14为本公开实施例提供的另一种电子设备的结构框图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
以下对本公开实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)直播:指网络互动直播,是一种新兴的网络社交方式,主播可以采用独立可控的音视频采集设备采集音频和视频,通过网络上传至服务器,再由服务器发送给观看直播的每个用户的终端设备。
(2)动画素材:指可以在终端设备上播放的电子礼物,也可以称为魔法表情。在直播过程中,观看直播的用户可以向主播赠送礼物,这些礼物基本都是电子礼物,可以在主播的终端设备以及观看直播的用户的终端设备上播放。
(3)元素:一个动画素材中可能包括一个或多个元素,在动画素材每播放一次的过程中,每个元素的循环次数可能不一样。例如,一个动画素材中包括元素“云”,一片云从屏幕左端飘至屏幕右端为循环一次,在该动画素材播放一次的过程中,这片云的循环次数可以为三次。
下面结合附图及具体实施例对本公开作进一步详细的说明。
图1为本公开实施例提供的一种动画素材播放方法的应用场景示意图。在该应用场景中,一个或多个用户的终端设备101通过网络100(如有线网络或者无线网络)与服务器102连接。其中,终端设备101可以是手机、掌上电脑、PC机、一体机等具有通讯功能的设备,也可以是虚拟机或模拟器模拟的设备。终端设备101可以是正在进行直播的主播的终端设备,也可以是正在观看直播的用户的终端设备。
主播的终端设备101将主播录制的音视频数据通过网络100实时上传至服务器102,服务器102再将主播的音视频数据分别发送至每个正在观看直播的用户的终端设备101。在直播过程中,如果某个用户向主播赠送礼物,每个礼物对应一个动画素材。该用户的终端设备101向服务器102发送礼物赠送请求,服务器102根据该礼物赠送请求向主播的终端设备101和每个用户的终端设备101均发送动画素材播放指令,主播的终端设备101和每个用户的终端设备101均播放该用户向主播赠送的礼物,或者说播放该礼物对应的动画素材。
具体地说,某个用户向主播赠送礼物,该用户的终端设备101向服务器102发送礼物赠送请求,礼物赠送请求中携带有所赠送的礼物标识和赠送的数量。服务器102接收到用户的终端设备101发送的礼物赠送请求,分别向主播的终端设备101和每个用户的终端设备101(包括向服务器发送礼物赠送请求的终端设备)发送动画素材播放指令。动画素材播放指令中携带有礼物或礼物的标识,以及礼物的播放次数,所述礼物或礼物的标识根据礼物赠送请求中携带的礼物标识确定,用于向终端设备101指明需要播放的礼物;所述礼物的播放次数根据用户赠送的数量确定。每个接收到动画素材播放指令的终端设备101均在直播画面上播放该礼物对应的动画素材。
在现有技术中,主播通过安装在终端设备101上的客户端进行直播,用户通过安装在终端设备101上的客户端观看直播。所述客户端可以理解为终端设备的应用层,需要播放动画素材时,应用层根据该动画素材的播放次数和播放一次该动画素材所需的时间预测渲染该动画素材所需的时长。应用层启动播放该动画素材,并将该动画素材发送给渲染层,由渲染层将该动画素材渲染至直播画面上,同时开始计算渲染时长。当渲染时长达到预测的时长后,应用层向渲染层发送停止渲染指令,渲染层停止该动画素材的渲染过程。在该过程中,应用层和渲染层并不能完全同步,因此,当应用层向渲染层发送停止渲染指令时,渲染层可能并未根据该动画素材的播放次数完成动画素材的完整播放,可能多播放了N帧动画素材的画面或少播放了N帧动画素材的画面,从而导致动画素材在播放至中间画面时突然停止。
为了解决上述问题,避免动画素材在播放至中间画面时突然停止,本公开实施例提供一种动画素材播放方法、装置、电子设备和存储介质,应用层将动画素材、动画素材的播放次数和动画素材包括的元素的循环次数发送给渲染层,由渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,以避免出现因应用层和渲染层不能完全同步而导致的动画素材在播放至中间画面时突然停止的现象,保证动画素材的完整播放。
上述图1的应用场景只是实现本申请实施例的一个应用场景的示例,本申请实施例并不限于上述图1所述的应用场景。
图2示出了本公开实施例提供的一种动画素材播放方法的交互图,该方法可以由图1中所示的终端设备101执行,图2中的应用层为终端设备101的应用层,渲染层为终端设备101的渲染层。图2中的服务器可以理解为图1中的服务器102。
在一种实施例中,如图2所示,本公开实施例提供的动画素材播放方法包括如下步骤:
步骤S201,服务器向终端设备发送动画素材播放指令。
根据上文中介绍的,在直播过程中,用户可以向主播赠送礼物,每个礼物对应一个动画素材,也可以将礼物理解为一种动画素材。如果某个用户向主播赠送礼物,服务器会根据用户所赠送的礼物和赠送的数量分别向主播的终端设备和每个正在观看直播的用户的终端设备发送动画素材播放指令。
在一些实施例中,动画素材播放指令中可以包括动画素材的标识和动画素材的播放次数。在另一些实施例中,动画素材播放指令中可以包括动画素材的标识、动画素材的配置文件和动画素材的播放次数。在又一些实施例中,动画素材播放指令中可以包括动画素材、动画素材的配置文件和动画素材的播放次数。其中,动画素材可以包括动画素材的渲染脚本和动画素材包括的各元素的图片等,动画素材的配置文件中包括动画素材包括的元素的循环次数,也可以说,动画素材包括的元素的循环次数是配置文件中的一个配置项。动画素材的播放次数可以根据用户赠送礼物的数量确定。
终端设备的应用层接收服务器发送的动画素材播放指令。
步骤S202,应用层向渲染层发送动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
本公开实施例中的应用层和渲染层可以理解为由同一终端设备执行的程序中的不同线程,其中应用层可以理解为主线程,渲染层可以理解为一个渲染线程。或者,应用层也可以理解为安装在终端设备上的客户端(APP)执行的主线程,渲染层作为该客户端执行或调用的一下线程,用于渲染直播中呈现的画面。
在一些实施例中,动画素材和动画素材的配置文件可以预先保存在终端设备的客户端中,服务器向终端设备发送的动画素材播放指令可以包括动画素材的标识和动画素材的播放次数。终端设备的应用层从动画素材播放指令中获取动画素材的播放次数,并根据动画素材的标识获取预先保存在客户端中的动画素材和动画素材包括的元素的循环次数。
在另一些实施例中,动画素材可以预先保存在终端设备的客户端中,动画素材的配置文件保存在服务器中。服务器向终端设备发送的动画素材播放指令可以包括动画素材的标识、动画素材的配置文件和动画素材的播放次数。终端设备的应用层从动画素材播放指令中获取动画素材的播放次数和动画素材包括的元素的循环次数,并根据动画素材的标识获取预先保存在客户端中的动画素材。
在又一些实施例中,动画素材和动画素材的配置文件保存在服务器中。服务器向终端设备发送的动画素材播放指令可以包括动画素材、动画素材的配置文件和动画素材的播放次数。终端设备的应用层从动画素材播放指令中直接获取动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。其中,动画素材的配置文件保存在服务器中,由服务器进行维护,可以灵活地调整动画素材包括的元素的循环次数及其它参数,方便修改。需要终端设备播放该动画素材时,再由服务器向终端设备下发动画素材的配置文件。
终端设备的应用层可以通过上述几种不同方式获取动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。终端设备的应用层将获取的动画素材、动画素材的播放次数和动画素材包括的元素的循环次数发送至终端设备的渲染层。
步骤S203,渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上。
示例性地,如图3所示的动画素材,可以理解为该动画素材包括三个元素,分别为中间的火箭、火箭左侧的云朵一号和火箭右侧的云朵二号。其中,不同元素的循环次数可以不同。譬如,火箭的循环次数可以是一次,即在播放一次动画素材的过程中,火箭完成一次自下而上的运动;云朵一号的循环次数可以是两次,即在播放一次动画素材的过程中,云朵一号完成两次自上而下的运动;云朵二号的循环次数可以是三次,即在播放一次动画素材的过程中,云朵二号完成三次自上而下的运动。
渲染层根据动画素材包括的元素的循环次数完成动画素材的一次播放后,将动画素材的播放次数减少一次,继续根据动画素材包括的元素的循环次数进行动画素材的下一次播放,直至动画素材的播放次数减少至0,渲染层完成该动画素材的渲染。
在本公开实施例中,渲染层可以自行根据动画素材的播放次数和动画素材包括的元素的循环次数控制渲染过程,而无需再由应用层根据预算的渲染时长通知渲染层停止渲染。
步骤S204,渲染层向应用层返回渲染完成消息。
渲染层完成该动画素材的渲染后,向应用层返回渲染完成消息,通知应用层该动画素材的渲染已经完成。
步骤S205,应用层确定在渲染层将动画素材渲染至直播画面的过程中,未接收到服务器发送的新的动画素材的播放指令。
步骤S206,应用层向渲染层发送停止渲染指令。
步骤S207,渲染层清除动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
渲染层在接收到应用层发送的停止渲染指令后,清除动画素材、播放次数和动画素材包括的元素的循环次数,以释放该动画素材所占用的内存空间等资源。
本公开实施例提供的动画素材播放方法,渲染层根据应用层发送的动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,而无需应用层根据动画素材的播放次数和动画素材包括的元素的循环次数确定动画素材的渲染时长,再根据确定的渲染时长控制渲染层开始和停止渲染该动画素材,避免出现因应用层和渲染层不同步而导致动画素材在播放至中间画面时突然停止的现象。渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,可以保证动画素材的完整播放。
在另一种实施例中,如图4所示,本公开实施例提供的动画素材播放方法包括如下步骤:
步骤S401,服务器向终端设备发送第一动画素材播放指令。
终端设备的应用层接收服务器发送的第一动画素材播放指令,第一动画素材播放指令指示终端设备播放动画素材A,动画素材A的播放次数为N次。例如,动画素材A可以是图3所示的动画素材。
步骤S402,应用层向渲染层发送动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
应用层向渲染层发送动画素材A、动画素材A的播放次数和动画素材A包括的元素的循环次数。动画素材A可以包括动画素材A的渲染脚本和火箭的图片、云朵一号的图片、云朵二号的图片等。动画素材A包括的元素的循环次数可以包括火箭的循环次数为一次,云朵一号的循环次数为两次,云朵二号的循环次数为三次。
步骤S403,渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上。
步骤S404,服务器向终端设备发送第二动画素材播放指令。
在渲染层将动画素材渲染至直播画面的过程中,服务器又向终端设备发送第二动画素材播放指令。终端设备的应用层接收服务器发送的第二动画素材播放指令,第二动画素材播放指令指示终端设备播放动画素材A,动画素材的播放次数为M次。
步骤S405,渲染层向应用层返回渲染完成消息。
渲染层完成该动画素材的渲染后,向应用层返回渲染完成消息。
步骤S406,应用层确定在渲染层将动画素材渲染至直播画面的过程中,接收到服务器发送的相同的动画素材的播放指令。
步骤S407,应用层向渲染层发送动画素材的播放次数。
由于终端设备的应用层接收到的第二动画素材播放指令指示的仍然是播放动画素材A,而应用层在步骤S402中已经将动画素材A和动画素材A包括的元素的循环次数发送至渲染层。因此,在步骤S407中,仅需要向渲染层发送第二动画素材播放指令中的动画素材A的播放次数M次即可。
步骤S408,渲染层根据接收到的播放次数更新动画素材剩余的播放次数。
渲染层接收到应用层发送的动画素材A的播放次数M次,将动画素材A剩余的播放次数更新为接收到的播放次数M次。
步骤S409,渲染层根据更新的动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上。
渲染层根据动画素材A包括的元素的循环次数完成动画素材A的一次播放后,将动画素材A的播放次数减少一次,继续根据动画素材A包括的元素的循环次数进行动画素材的下一次播放,直至动画素材的播放次数减少至0,渲染层向应用层返回渲染完成消息。应用层接收到渲染层发送的渲染完成消息,确定在渲染层将动画素材渲染至直播画面的过程中,未再接收到服务器发送的新的动画素材的播放指令,应用层向渲染层发送停止渲染指令。渲染层接收到应用层发送的停止渲染指令,清除动画素材A、动画素材A的播放次数和动画素材A包括的元素的循环次数,以释放该动画素材所占用的内存空间等资源。
在另一种实施例中,如图5所示,本公开实施例提供的动画素材播放方法包括如下步骤:
步骤S501,服务器向终端设备发送第一动画素材播放指令。
终端设备的应用层接收服务器发送的第一动画素材播放指令,第一动画素材播放指令指示终端设备播放动画素材A,动画素材A的播放次数为N次。例如,动画素材A可以是图3所示的动画素材。
步骤S502,应用层向渲染层发送动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
应用层向渲染层发送动画素材A、动画素材A的播放次数和动画素材A包括的元素的循环次数。
步骤S503,渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上。
渲染层根据动画素材A包括的元素的循环次数完成动画素材A的一次播放后,将动画素材A的播放次数减少一次,继续根据动画素材A包括的元素的循环次数进行动画素材A的下一次播放,直至动画素材A的播放次数减少至0,渲染层完成动画素材A的渲染。
步骤S504,服务器向终端设备发送第二动画素材播放指令。
在渲染层将动画素材A渲染至直播画面的过程中,服务器又向终端设备发送第二动画素材播放指令。终端设备的应用层接收服务器发送的第二动画素材播放指令,第二动画素材播放指令指示终端设备播放动画素材B,动画素材的播放次数为T次。例如,动画素材B可以是图6所示的动画素材。
步骤S505,渲染层向应用层返回渲染完成消息。
渲染层完成动画素材A的渲染后,向应用层返回渲染完成消息。
步骤S506,应用层确定在渲染层将动画素材渲染至直播画面的过程中,接收到服务器发送的不同的动画素材的播放指令。
在渲染层将动画素材A渲染至直播画面的过程中,应用层接收到服务器发送的第二动画素材播放指令,第二动画素材播放指令指示终端设备播放动画素材B,动画素材B是与第一动画素材播放指令指示播放的动画素材A不同的动画素材。
步骤S507,应用层向渲染层发送新接收到的动画素材、新接收到的动画素材的播放次数和新接收到的动画素材包括的元素的循环次数。
应用层向渲染层发送动画素材B、动画素材B的播放次数和动画素材B包括的元素的循环次数。
可选地,应用层在向渲染层发送动画素材B的相关播放参数之前,可以先向渲染层发送停止渲染指令,使渲染层清除动画素材A、动画素材A的播放次数和动画素材A包括的元素的循环次数。
步骤S508,渲染层根据新接收到的动画素材的播放次数和新接收到的动画素材包括的元素的循环次数将新接收到的动画素材渲染至直播画面上。
渲染层根据动画素材B的播放次数T次和动画素材B包括的元素的循环次数将动画素材B渲染至直播画面上。
如图6所示,动画素材B可以包括动画素材B的渲染脚本和爱心以及翅膀的图片等。动画素材B包括的元素的循环次数可以包括爱心的循环次数为五次,翅膀的循环次数为三次。其中,元素“爱心”的循环次数指在播放一次动画素材B的过程中,爱心跳动的次数,爱心放大并缩小一次,为跳动一次。元素“翅膀”的循环次数指在播放一次动画素材B的过程中,翅膀拍动的次数。
渲染层根据动画素材B包括的元素的循环次数完成动画素材B的一次播放后,将动画素材B的播放次数减少一次,继续根据动画素材B包括的元素的循环次数进行动画素材B的下一次播放,直至动画素材B的播放次数减少至0,渲染层完成动画素材B的渲染。渲染层向应用层返回渲染完成消息。应用层接收到渲染层发送的渲染完成消息,确定在渲染层将动画素材渲染至直播画面的过程中是否接收到新的动画素材的播放指令。如果接收到新的动画素材的播放指令,根据图4或图5所示进行播放新的动画素材。如果没有接收到新的动画素材的播放指令,应用层向渲染层发送停止渲染指令。渲染层接收到应用层发送的停止渲染指令,清除动画素材B、动画素材B的播放次数和动画素材B包括的元素的循环次数,以释放该动画素材所占用的内存空间等资源。
需要说明的是,上述本公开实施例描述的应用场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
在本公开实施例中,终端设备的应用层执行的动画素材播放方法如图7所示,包括如下步骤:
步骤S701,在直播过程中,接收服务器发送的动画素材播放指令。
所述动画素材播放指令中包括动画素材的播放次数。
步骤S702,将动画素材、动画素材的播放次数和动画素材包括的元素的循环次数发送给渲染层,以使渲染层根据所述播放次数和所述元素的循环次数将动画素材渲染至直播画面上。
其中,动画素材包括的元素的循环次数包含在动画素材的配置文件中,应用层可以从动画素材的配置文件中获取该动画素材包括的元素的循环次数。动画素材的配置文件可以由服务器维护或设置在客户端。也就是说,应用层可以从服务器处获取动画素材和动画素材包括的元素的循环次数,也可以获取保存在客户端的动画素材和从服务器处获取动画素材包括的元素的循环次数,或者获取保存在客户端的动画素材和动画素材包括的元素的循环次数。
步骤S703,接收渲染层返回的渲染完成消息。
步骤S704,确定在渲染层将动画素材渲染至直播画面的过程中,是否接收到服务器发送的新的动画素材播放指令;如果是,执行步骤S705;如果否,执行步骤S707。
步骤S705,判断新的动画素材播放指令是否指示播放不同的动画素材;如果是,返回执行步骤S702,如果否,执行步骤S706。
其中,不同的动画素材是指上一动画素材播放指令指示播放的动画素材不同。例如,如果步骤S701中的动画素材播放指令指示播放动画素材A,而步骤S704中的新的动画素材播放指令指示播放动画素材B,动画素材B与动画素材A不同,则认为新的动画素材播放指令指示播放不同的动画素材。此时,根据步骤S702将动画素材B、动画素材B的播放次数和动画素材B包括的元素的循环次数发送给渲染层,以使渲染层根据所述播放次数和所述元素的循环次数将动画素材渲染至直播画面上。如果步骤S701中的动画素材播放指令指示播放动画素材A,步骤S704中的新的动画素材播放指令也指示播放动画素材A,播放次数可以相同也可以不同,则认为新的动画素材播放指令指示播放相同的动画素材。
步骤S706,将新的动画素材播放指令中的播放次数发送给渲染层,以使渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
步骤S707,向渲染层发送停止渲染指令,以使渲染层根据停止渲染指令清除动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
上述动画素材播放方法,应用层将动画素材、动画素材的播放次数和动画素材包括的元素的循环次数发送给渲染层,使渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,而不再根据动画素材的播放次数和动画素材包括的元素的循环次数确定动画素材的渲染时长,再根据确定的渲染时长控制渲染层开始和停止渲染该动画素材,一方面,可以避免出现因应用层和渲染层不同步而导致动画素材在播放至中间画面时突然停止的现象,保证动画素材的完整播放;另一方面,可以节约应用层的程序开销,有利于应用层提高执行效率。
在本公开实施例中,终端设备的渲染层执行的动画素材播放方法如图8所示,包括如下步骤:
步骤S801,接收应用层发送的动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
其中,动画素材的播放次数是在直播过程中服务器发送给应用层的。动画素材和动画素材包括的元素的循环次数的来源可以参数上述实施例中的描述,在此不再赘述。
步骤S802,根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上。
步骤S803,完成动画素材的渲染后,向应用层返回渲染完成消息。
步骤S804,接收应用层发送的指令,并根据指令执行对应操作。
如果接收到应用层发送的停止渲染指令,清除动画素材、动画素材的播放次数和动画素材包括的元素的循环次数。
如果接收到应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新动画素材剩余的播放次数,根据更新后的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上。
如果接收到应用层发送的不同的动画素材、不同的动画素材的播放次数和不同的动画素材包括的元素的循环次数,根据接收到的不同的动画素材的播放次数和不同的动画素材包括的元素的循环次数将该不同的动画素材渲染至直播画面上。
上述动画素材播放方法,渲染层根据应用层发送的动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,而无需应用层根据动画素材的播放次数和动画素材包括的元素的循环次数确定动画素材的渲染时长,再根据确定的渲染时长控制渲染层开始和停止渲染该动画素材,避免出现因应用层和渲染层不同步而导致动画素材在播放至中间画面时突然停止的现象。渲染层根据动画素材的播放次数和动画素材包括的元素的循环次数将动画素材渲染至直播画面上,可以保证动画素材的完整播放。
图7和图8所示的动画素材播放方法中的步骤的具体执行过程可以参见上述实施例对图2至图5的描述,在此不再赘述。
与图7所示的动画素材播放方法基于相同的发明构思,本公开还提供了一种动画素材播放装置。如图9所示,该动画素材播放装置包括:
数据接收单元901,用于在直播过程中接收服务器发送的动画素材的播放次数;
素材发送单元902,用于将所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
在一种可能的实现方式中,如图10所示,上述装置还包括:
素材获取单元1001,用于从所述动画素材的配置文件中获取所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,上述装置还包括:
消息接收单元1002,用于接收所述渲染层返回的渲染完成消息,其中所述渲染完成消息是所述渲染层在完成所述动画素材的渲染后发送的;
指令发送单元1003,用于向所述渲染层发送停止渲染指令,以使所述渲染层根据所述停止渲染指令清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述指令发送单元1003还用于:
所述应用层确定在所述渲染层将所述动画素材渲染至直播画面的过程中,未接收到所述服务器发送的新的动画素材的播放次数。
在一种可能的实现方式中,所述指令发送单元1003还用于:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的相同的动画素材的播放次数,则所述应用层将相同的动画素材的播放次数发送给渲染层,以使所述渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
在一种可能的实现方式中,所述指令发送单元1003还用于:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的不同的动画素材的播放次数,则所述应用层将所述不同的动画素材、接收到的所述不同的动画素材的播放次数和所述不同的动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据接收到的所述播放次数和所述元素的循环次数将所述不同的动画素材渲染至直播画面上。
与图8所示的动画素材播放方法基于相同的发明构思,本公开还提供了一种动画素材播放装置。如图11所示,该动画素材播放装置包括:
素材接收单元1101,用于接收应用层发送的动画素材、所述动画素材的播放次数和所述动画素材包括的元素的循环次数,其中所述动画素材的播放次数是在直播过程中服务器发送给所述应用层的;
渲染单元1102,用于根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上。
在一种可能的实现方式中,如图12所示,上述装置还包括:
回调单元1201,用于完成所述动画素材的渲染后,向所述应用层返回渲染完成消息;
停止渲染单元1202,用于在接收所述应用层发送的停止渲染指令后,清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
在一种可能的实现方式中,所述渲染单元1102还用于:
若所述渲染层接收到所述应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新所述动画素材剩余的播放次数。
基于同一发明构思,本公开实施例还提供了一种电子设备,该电子设备可以是图1中所示的终端设备101。图13示出了一种可能的电子设备的结构框图,如图13所示,该电子设备可以包括存储器1301和处理器1302。示例性地,该电子设备可以是手机、计算机、平板电脑等。
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序,如直播的客户端等;存储数据区可存储根据所述电子设备的使用所创建的数据,如各种图片、动画素材等。
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
处理器1302,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。其中,图形处理单元可以用于对图形进行处理,如渲染直播画面和动画素材等。
处理器1302,用于调用所述存储器1301中存储的计算机程序时实现上述应用层或渲染层执行的动画素材播放方法。
本公开实施例中不限定上述存储器1301和处理器1302之间的具体连接介质。本公开实施例在图13中以存储器1301和处理器1302之间通过总线1303连接,总线1303在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1303可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一种可选的实施例中,上述电子设备还可以包括其它外设部件。如图14所示,该电子设备还可以包括:射频(Radio Frequency,RF)电路1401、电源1402、输入单元1405、显示单元1406、摄像头1407、通信接口1408、以及无线保真(Wireless Fidelity,WiFi)模块1409等部件。本领域技术人员可以理解,图14中示出的终端设备的结构并不构成对终端设备的限定,本申请实施例提供的终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对所述电子设备的各个构成部件进行具体的介绍:
所述RF电路1401可用于通信或通话过程中,数据的接收和发送。特别地,所述RF电路1401在接收到服务器发送的直播数据,发送给所述处理器1302处理;另外,将待发送的上行数据发送给基站。通常,所述RF电路1401包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路1401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
WiFi技术属于短距离无线传输技术,所述电子设备通过WiFi模块1409可以连接接入点(Access Point,AP),从而实现数据网络的访问。所述WiFi模块1409可用于通信过程中,数据的接收和发送,也可以通过WiFi模块1409接收服务器发送的直播数据和动画素材播放指令等。
所述电子设备可以通过所述通信接口1408与其他设备实现物理连接。可选的,所述通信接口1408与所述其他设备的通信接口通过电缆连接,实现所述电子设备和其他设备之间的数据传输。
由于在本申请实施例中,所述电子设备能够实现通信业务,向其他联系人发送信息,因此所述电子设备需要具有数据传输功能,即所述电子设备内部需要包含通信模块。虽然图14示出了所述RF电路1401、所述WiFi模块1409、和所述通信接口1408等通信模块,但是可以理解的是,所述电子设备中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
例如,当所述电子设备为手机时,所述电子设备可以包含所述RF电路1401,还可以包含所述WiFi模块1409;当所述电子设备为计算机时,所述电子设备可以包含所述通信接口1408,还可以包含所述WiFi模块1409;当所述电子设备为平板电脑时,所述电子设备可以包含所述WiFi模块。
所述输入单元1405可用于接收用户输入的数字或字符信息,以及产生与所述电子设备的用户设置以及功能控制有关的键信号输入。
可选的,输入单元1405可包括触控面板1453以及其他输入设备1454。
其中,所述触控面板1453,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在所述触控面板1453上或在所述触控面板1453附近的操作),并根据预先设定的程式实现相应的操作,如用户选择礼物等。可选的,所述触控面板1453可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给所述处理器1302,并能接收所述处理器1302发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触控面板1453。
可选的,所述其他输入设备1454可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元1406可用于显示由用户输入的信息或提供给用户的信息以及所述电子设备的各种菜单。所述显示单元1406即为所述电子设备的显示系统,用于呈现界面,如直播画面等,实现人机交互。
所述显示单元1406可以包括显示面板1461。可选的,所述显示面板1461可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置。
进一步的,所述触控面板1453可覆盖所述显示面板1461,当所述触控面板1453检测到在其上或附近的触摸操作后,传送给所述处理器1302以确定触摸事件的类型,随后所述处理器1302根据触摸事件的类型在所述显示面板1461上提供相应的视觉输出。
虽然在图14中,所述触控面板1453与所述显示面板1461是作为两个独立的部件来实现所述电子设备的输入和输入功能,但是在某些实施例中,可以将所述触控面板1453与所述显示面板1461集成而实现所述电子设备的输入和输出功能。
所述摄像头1407,用于实现所述电子设备的拍摄功能,拍摄图片或视频。例如,主播可以通过摄像头1407拍摄直播视频。所述摄像头1407还可以用于实现电子设备的扫描功能,对扫描对象(二维码/条形码)进行扫描。
所述电子设备还包括用于给各个部件供电的电源1402(比如电池)。可选的,所述电源1402可以通过电源管理系统与所述处理器1302逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,所述电子设备还可以包括至少一种传感器、音频电路等,在此不再赘述。
本公开实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于实现本公开实施例所记载的数据处理方法。
在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本公开实施例所记载的数据处理方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开是参照根据本公开的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (16)
1.一种动画素材播放方法,其特征在于,包括:
渲染层接收应用层发送的动画素材、所述动画素材的播放次数和所述动画素材包括的元素的循环次数,其中所述动画素材的播放次数是在直播过程中服务器发送给所述应用层的;
所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上;
所述渲染层完成所述动画素材的渲染后,向所述应用层返回渲染完成消息;
所述渲染层在接收所述应用层发送的停止渲染指令后,清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
2.根据权利要求1所述的方法,其特征在于,所述渲染层向所述应用层返回渲染完成消息之后,所述方法还包括:
若所述渲染层接收到所述应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新所述动画素材剩余的播放次数。
3.一种动画素材播放方法,其特征在于,包括:
在直播过程中,应用层接收服务器发送的动画素材的播放次数;
所述应用层将所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上;
所述应用层接收所述渲染层返回的渲染完成消息,其中所述渲染完成消息是所述渲染层在完成所述动画素材的渲染后发送的;
所述应用层向所述渲染层发送停止渲染指令,以使所述渲染层根据所述停止渲染指令清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
4.根据权利要求3所述的方法,其特征在于,所述应用层将所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层之前,所述方法还包括:
所述应用层从所述动画素材的配置文件中获取所述动画素材包括的元素的循环次数。
5.根据权利要求3所述的方法,其特征在于,所述应用层在接收到所述渲染完成消息后,向所述渲染层发送停止渲染指令之前,所述方法还包括:
所述应用层确定在所述渲染层将所述动画素材渲染至直播画面的过程中,未接收到所述服务器发送的新的动画素材的播放次数。
6.根据权利要求3所述的方法,其特征在于,所述应用层在接收到所述渲染完成消息后,所述方法还包括:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的相同的动画素材的播放次数,则所述应用层将相同的动画素材的播放次数发送给渲染层,以使所述渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
7.根据权利要求3所述的方法,其特征在于,所述应用层向所述渲染层发送停止渲染指令后,所述方法还包括:
若所述应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的不同的动画素材的播放次数,则所述应用层将所述不同的动画素材、接收到的所述不同的动画素材的播放次数和所述不同的动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据接收到的所述播放次数和所述元素的循环次数将所述不同的动画素材渲染至直播画面上。
8.一种动画素材播放装置,其特征在于,包括:
素材接收单元,用于接收应用层发送的动画素材、所述动画素材的播放次数和所述动画素材包括的元素的循环次数,其中所述动画素材的播放次数是在直播过程中服务器发送给所述应用层的;
渲染单元,用于根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上;
回调单元,用于完成所述动画素材的渲染后,向所述应用层返回渲染完成消息;
停止渲染单元,用于在接收所述应用层发送的停止渲染指令后,清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
9.根据权利要求8所述的装置,其特征在于,所述渲染单元还用于:
若渲染层接收到所述应用层发送的相同的动画素材的播放次数,则根据接收到的播放次数更新所述动画素材剩余的播放次数。
10.一种动画素材播放装置,其特征在于,包括:
数据接收单元,用于在直播过程中接收服务器发送的动画素材的播放次数;
素材发送单元,用于将所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据所述播放次数和所述元素的循环次数将所述动画素材渲染至直播画面上;
消息接收单元,用于接收所述渲染层返回的渲染完成消息,其中所述渲染完成消息是所述渲染层在完成所述动画素材的渲染后发送的;
指令发送单元,用于向所述渲染层发送停止渲染指令,以使所述渲染层根据所述停止渲染指令清除所述动画素材、所述播放次数和所述动画素材包括的元素的循环次数。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
素材获取单元,用于从所述动画素材的配置文件中获取所述动画素材包括的元素的循环次数。
12.根据权利要求10所述的装置,其特征在于,所述指令发送单元还用于:
应用层确定在所述渲染层将所述动画素材渲染至直播画面的过程中,未接收到所述服务器发送的新的动画素材的播放次数。
13.根据权利要求10所述的装置,其特征在于,所述指令发送单元还用于:
若应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的相同的动画素材的播放次数,则所述应用层将相同的动画素材的播放次数发送给渲染层,以使所述渲染层根据接收到的播放次数更新所述动画素材剩余的播放次数。
14.根据权利要求10所述的装置,其特征在于,所述指令发送单元还用于:
若应用层在所述渲染层将所述动画素材渲染至直播画面的过程中,接收到所述服务器发送的不同的动画素材的播放次数,则所述应用层将所述不同的动画素材、接收到的所述不同的动画素材的播放次数和所述不同的动画素材包括的元素的循环次数发送给渲染层,以使所述渲染层根据接收到的所述播放次数和所述元素的循环次数将所述不同的动画素材渲染至直播画面上。
15.一种电子设备,其特征在于,包括:
处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项所述的动画素材播放方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述的动画素材播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910684717.5A CN110458925B (zh) | 2019-07-26 | 2019-07-26 | 一种动画素材播放方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910684717.5A CN110458925B (zh) | 2019-07-26 | 2019-07-26 | 一种动画素材播放方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110458925A CN110458925A (zh) | 2019-11-15 |
CN110458925B true CN110458925B (zh) | 2023-09-26 |
Family
ID=68483754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910684717.5A Active CN110458925B (zh) | 2019-07-26 | 2019-07-26 | 一种动画素材播放方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110458925B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822558B (zh) * | 2021-01-05 | 2023-07-21 | 北京映客芝士网络科技有限公司 | 一种基于在线平台的信息广播方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550198A (zh) * | 2015-11-30 | 2016-05-04 | 深圳市美贝壳科技有限公司 | 一种浏览照片时添加3d渲染效果的方法 |
CN107728997A (zh) * | 2017-10-31 | 2018-02-23 | 万兴科技股份有限公司 | 一种视频播放器渲染系统 |
CN108401179A (zh) * | 2018-04-02 | 2018-08-14 | 广州荔支网络技术有限公司 | 一种基于虚拟物品的动画播放方法、装置和移动终端 |
CN109741427A (zh) * | 2018-12-14 | 2019-05-10 | 新华三大数据技术有限公司 | 动画数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110110434A (ko) * | 2010-04-01 | 2011-10-07 | 삼성전자주식회사 | 저전력 오디오 재생장치 및 방법 |
-
2019
- 2019-07-26 CN CN201910684717.5A patent/CN110458925B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550198A (zh) * | 2015-11-30 | 2016-05-04 | 深圳市美贝壳科技有限公司 | 一种浏览照片时添加3d渲染效果的方法 |
CN107728997A (zh) * | 2017-10-31 | 2018-02-23 | 万兴科技股份有限公司 | 一种视频播放器渲染系统 |
CN108401179A (zh) * | 2018-04-02 | 2018-08-14 | 广州荔支网络技术有限公司 | 一种基于虚拟物品的动画播放方法、装置和移动终端 |
CN109741427A (zh) * | 2018-12-14 | 2019-05-10 | 新华三大数据技术有限公司 | 动画数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110458925A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106792188B (zh) | 一种直播页面的数据处理方法、装置、系统和存储介质 | |
US10587728B2 (en) | Method, apparatus and non-transitory computer storage medium for migrating application data between terminals | |
US10341716B2 (en) | Live interaction system, information sending method, information receiving method and apparatus | |
CN108628652A (zh) | 用户界面渲染方法、装置及终端 | |
CN110333947B (zh) | 一种游戏应用的分包资源加载方法、装置、设备及介质 | |
CN105337843A (zh) | 交互系统、方法、客户端及后台服务器 | |
CN105187930A (zh) | 基于视频直播的互动方法及装置 | |
CN104811787A (zh) | 游戏视频录制方法及装置 | |
CN105207896A (zh) | 网络通话方法和装置 | |
CN106254910B (zh) | 一种记录图像的方法和装置 | |
US9415309B2 (en) | Supplemental computing devices for game consoles | |
CN110740346B (zh) | 视频数据处理方法、装置、服务器、终端和存储介质 | |
CN112245903B (zh) | 云应用中网络状态指示方法、操作系统、装置及存储介质 | |
CN105208458A (zh) | 虚拟画面展示方法和装置 | |
CN107276984B (zh) | 游戏直播方法、装置及移动终端 | |
CN104615421A (zh) | 虚拟礼物展示方法和装置 | |
CN112328492B (zh) | 一种主播间的互动控制方法、装置和电子设备 | |
CN105447124A (zh) | 虚拟物品分享方法和装置 | |
CN103347093B (zh) | 用户数据更新方法和相关设备及通信系统 | |
CN111182135A (zh) | 一种移动终端及优化移动终端运行状态的方法 | |
CN110458925B (zh) | 一种动画素材播放方法、装置、电子设备和存储介质 | |
CN105915997B (zh) | 控件显示方法及装置 | |
CN105872767A (zh) | 一种基于用户行为引导分享的方法和装置 | |
CN113038273B (zh) | 视频帧处理方法、装置、存储介质及电子设备 | |
CN104135504A (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 |