直播间挂件显示方法、装置、终端及计算机可读介质与流程

文档序号:17089675发布日期:2019-03-13 23:18阅读:1045来源:国知局
直播间挂件显示方法、装置、终端及计算机可读介质与流程

本发明实施例涉及数据处理技术,尤其涉及一种直播间挂件显示方法、装置、终端及计算机可读介质。



背景技术:

随着互联网及流媒体技术的快速发展,各类直播平台应运而生,给用户带来了更为精彩丰富的娱乐生活及社交体验。不同直播平台中直播间挂件类型不同,直播间挂件可以包括宝箱挂件、抽奖挂件、广告挂件和活动挂件等,且由于客户端显示界面空间限制,各直播间挂件共用一个入口位置,因此直播间挂件间的显示存在互斥逻辑。

现如今,通常直播间挂件显示方法为,当某挂件需要显示时,刷新除该挂件之外的全部其他挂件,当其他挂件无需显示时则显示该挂件,当其他挂件中存在需要显示的挂件时,比较所有需要显示的挂件的优先级,并显示优先级高的挂件。

现有的直播间挂件显示方法的不足之处在于,每次某挂件需要显示时,刷新其他全部挂件会导致代码冗余,且每个挂件的显示逻辑中需要处理其他挂件的显示逻辑,各挂件间的显示逻辑的耦合性高,导致挂件显示效率较低。



技术实现要素:

有鉴于此,本发明实施例提供了一种直播间挂件显示方法、装置、终端及计算机可读介质,减少了代码冗余,对各挂件的显示逻辑进行了解耦,提高了挂件显示效率。

第一方面,本发明实施例提供了一种直播间挂件显示方法,包括:

接收服务器发送的挂件显示消息,根据所述挂件显示消息触发挂件显示函数,根据挂件显示函数生成挂件视图对象;

将挂件视图对象添加至优先级管理对象中,确定所述优先级管理对象中各挂件视图对象的优先级,根据所述优先级对各挂件视图对象进行排序;

根据排序结果生成状态信息,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示。

可选的,所述根据挂件显示函数生成挂件视图对象,包括:

获取挂件显示函数中的挂件视图参数,根据挂件视图参数生成初始挂件视图对象;

判断挂件显示函数中是否包含动画显示参数;

若是,则将动画显示参数添加至初始挂件视图对象中去,生成挂件视图对象;若否,则将初始挂件视图对象作为挂件视图对象。

可选的,所述将挂件视图对象添加至优先级管理对象中,确定所述优先级管理对象中各挂件视图对象的优先级,根据所述优先级对各挂件视图对象进行排序,包括:

将挂件视图对象添加至优先级管理对象的挂件数组中依索引次序的首个空存储位置;

根据预先定义的挂件优先级库,确定挂件数组中各挂件视图对象的优先级;

每隔预设时间根据所述优先级对各挂件视图对象进行排序。

可选的,所述根据排序结果生成状态信息,包括:

将排序为预设排序的挂件视图对象的状态信息确定为显示状态,将除排序为预设排序的挂件视图对象外的其他挂件视图对象的状态信息确定为隐藏状态。

可选的,所述将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示,包括:

将状态信息为显示状态的挂件视图对象作为目标挂件视图对象,获取目标挂件视图对象的显示次数,并根据所述显示次数对所述目标挂件视图对象进行显示。

可选的,在所述将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示之后,还包括:

当接收到移除消息时,调用优先级管理对象的移除方法将移除消息对应的挂件视图对象进行移除;

将移出操作后的优先级管理对象中的挂件视图重新进行排序,根据重新排序结果选取目标挂件视图对象并显示。

进一步的,所述移除消息在目标挂件视图对象结束显示或未显示的挂件视图对象超时时触发;

相应的,移除消息对应的挂件视图对象包括目标挂件视图对象或未显示的挂件视图对象。

第二方面,本发明实施例提供了一种直播间挂件显示装置,包括:

挂件视图对象生成模块,用于接收服务器发送的挂件显示消息,根据所述挂件显示消息触发挂件显示函数,根据挂件显示函数生成挂件视图对象;

挂件视图对象排序模块,用于将挂件视图对象添加至优先级管理对象中,确定所述优先级管理对象中各挂件视图对象的优先级,根据所述优先级对各挂件视图对象进行排序;

挂件视图对象显示模块,用于根据排序结果生成状态信息,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示。

第三方面,本发明实施例提供了一种终端,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的直播间挂件显示方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的直播间挂件显示方法。

本发明实施例提供的一种直播间挂件显示方法、装置、终端及计算机可读介质,根据服务器发送的挂件显示消息触发挂件显示函数,根据挂件显示函数生成挂件视图对象;将挂件视图对象添加至优先级管理对象中,确定所述优先级管理对象中各挂件视图对象的优先级,根据优先级对各挂件视图对象进行排序;根据排序结果生成状态信息,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示。通过将待显示的挂件视图对象添加至优先级管理对象中并按优先级进行排序,可获取目标挂件视图对象并显示,从而减少了代码冗余,对各挂件的显示逻辑进行了解耦,提高了挂件显示效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的一种直播间挂件显示方法流程图;

图2是本发明实施例二提供的一种直播间挂件显示装置结构示意图;

图3是本发明实施例三提供的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1是本发明实施例一提供的一种直播间挂件显示方法流程图,本实施例可适用于直播间挂件显示的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。参见图1,该直播间挂件显示方法包括如下步骤:

s110、接收服务器发送的挂件显示消息,根据挂件显示消息触发挂件显示函数,根据挂件显示函数生成挂件视图对象。

其中,不同直播平台对应的直播间挂件类型各不相同,直播间挂件可以理解为进入直播间后,在观看主播进行直播的界面中经触发所显示的视图对象,直播间挂件可以包括宝箱挂件、抽奖挂件、广告挂件和活动挂件等,例如宝箱挂件可以在某观看直播用户给主播增送预设价值礼物时触发,观看该主播直播的客户端界面皆可以进行宝箱挂件显示,用户可以通过点击宝箱挂件随机领取礼物,通过宝箱挂件可吸引其他用户进入该主播直播间观看直播,从而增长直播间人气。由于客户端显示界面空间限制,存在多个直播间挂件共用一个入口位置的情况。

其中,服务器发送的显示消息可以包括待显示挂件标识,相应的客户端可以根据显示消息中的待显示挂件标识触发挂件显示函数,并根据挂件显示函数生成挂件视图对象,用以进行显示。示例性的,当服务器发送的显示消息中包含宝箱挂件的挂件标识时,客户端在接收到显示消息时可以根据显示消息中的宝箱挂件标识触发宝箱挂件的显示函数,并可以根据宝箱挂件的显示函数生成宝箱挂件的视图对象,并对宝箱挂件的视图对象进行显示。此外,挂件标识还可以是抽奖挂件标识、广告挂件标识和活动挂件标识等,相应的客户端可以分别根据抽奖挂件标识、广告挂件标识和活动挂件标识生成抽奖挂件的视图对象、广告挂件的视图对象和活动挂件的视图对象并进行显示。

可选的,根据挂件显示函数生成挂件视图对象,包括:

获取挂件显示函数中的挂件视图参数,根据挂件视图参数生成初始挂件视图对象;判断挂件显示函数中是否包含动画显示参数;若是,则将动画显示参数添加至初始挂件视图对象中去,生成挂件视图对象;若否,则将初始挂件视图对象作为挂件视图对象。

其中,挂件显示函数中的挂件视图参数可以理解为挂件视图类,例如宝箱挂件的视图参数可以是预先定义的宝箱视图treasureboxview类;其中,根据挂件视图参数生成初始挂件视图对象可以理解为生成挂件视图类的初始挂件视图对象。示例性的,生成宝箱挂件的初始宝箱视图对象具体可以调用treasureboxviewmtreasureboxview=newtreasureboxview()语句,其中mtreasureboxview为初始宝箱视图对象的名称,可以表示初始宝箱视图对象,且初始宝箱视图对象的名称并不限于mtreasureboxview,即通过预先定义的treasureboxview类的new方法可以生成初始宝箱视图对象。

其中,在生成初始挂件视图对象后,若显示函数中还包括该初始挂件视图对象的显示动画参数,则可以将动画显示参数添加至初始挂件视图对象中,以使初始挂件视图对象进行动画显示。其中,在生成初始挂件视图对象后,若显示函数中不包括该初始挂件视图对象的显示动画参数,则将初始挂件视图对象作为挂件视图对象。示例性的,在初始宝箱视图对象中添加动画参数具体可以调用mtreasureboxview.startanimation(animation)语句将动画显示参数animation添加至初始宝箱视图对象中,生成宝箱视图对象。其中,可以通过视图动画系统viewanimationsystem将动画显示参数添加至挂件视图对象中去;其中,动画显示参数可以包括下述动画类型中的至少一种:缩放动画scaleanimation、平移动画translateanimation、渐变动画alphaanimation和旋转动画rotateanimation。

s120、将挂件视图对象添加至优先级管理对象中,确定优先级管理对象中各挂件视图对象的优先级,根据优先级对各挂件视图对象进行排序。

其中,优先级管理对象为预定义的优先级管理类的对象,可以进行存储至优先级管理对象中的各挂件视图对象的显示管理。其中,可以在接收到服务器发送的显示消息时生成挂件视图对象,并将生成挂件视图对象添加至优先级管理对象中。其中,优先级管理对象可以预先开辟一内存空间,用于存储各挂件视图对象。其中,可以将各挂件视图对象赋值给一变量参数,并将变量参数存储至优先级管理对象开辟的内存空间中,以完成挂件视图对象的添加。其中,优先级管理对象可以在每次添加挂件视图对象时,进行挂件视图对象按优先级的排序,并根据排序控制各挂件视图的显示和隐藏。

可选的,将挂件视图对象添加至优先级管理对象中,确定优先级管理对象中各挂件视图对象的优先级,根据优先级对各挂件视图对象进行排序,包括:

将挂件视图对象添加至优先级管理对象的挂件数组中依索引次序的首个空存储位置;根据预先定义的挂件优先级库,确定挂件数组中各挂件视图对象的优先级;每隔预设时间根据优先级对各挂件视图对象进行排序。

其中,优先级管理对象预先开辟一内存空间,具体可以是通过预先定义挂件数组开辟内存空间;其中,将挂件视图对象添加至优先级管理对象中,具体可以是将挂件视图对象添加至挂件数组中未存储数据的存储位置中索引序号最小的存储位置,即依索引次序的首个空存储位置。示例性的,挂件数组list的数组长度为10,若第一个存储位置list[0]和第二个存储位置list[1]中已经存储了挂件,则将生成的挂件视图对象添加至未存储数据的存储位置中索引序号最小的存储位置,即添加至第三个存储位置list[2]中,以方便对挂件数组中挂架视图对象进行按优先级排序操作。

其中,预先定义的挂件优先级库可以是表格形式的,也可以是文本形式的,还可以是通过全局变量存储至系统程序的,在此不作具体限定;其中,挂件优先级库可以包括挂件视图对象、优先级标识以及挂件视图对象和优先级标识之间的对应关系,优选的挂件视图对象和优先级标识之间存在唯一的对应关系;其中,优先级标识可以是数字、字母、文字或其他标识,可用于表示各挂件视图对象的优先级的高低顺序;其中,挂件优先级库可以根据运行侧的业务需求进行实时更新。

其中,预设时间可以为根据实际显示需求设置的固定时间,例如可以是0.5s、1s或2s,还可以是与挂件视图对象的显示时间成一定比例关系,例如可以是挂件视图对象显示时间的10%、20%或50%。通过每隔预设时间根据优先级对各挂件视图对象进行排序,可以避免当客户端连续接收多个显示消息时进行的多次挂件视图对象的优先级排序,从而可以优化排序操作避免因连续多次排序造成的运行异常。

s130、根据排序结果生成状态信息,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示。

其中,状态信息可以理解为各挂件视图对象显示与隐藏的状态,各挂件视图对象将优先级管理对象生成的状态信息进行回调后,并可以根据回调的显示状态进行显示。

通过设置优先级管理对象,可以在接收到服务器显示消息时将挂件视图对象进行添加并进行各挂件视图的显示管理,从而避免了某挂件需要显示时,刷新其他全部挂件,减少了代码冗余,对各挂件的显示逻辑进行了解耦,提高了挂件显示效率。

可选的,根据排序结果生成状态信息,包括:

将排序为预设排序的挂件视图对象的状态信息确定为显示状态,将除排序为预设排序的挂件视图对象外的其他挂件视图对象的状态信息确定为隐藏状态。

其中,当各挂件视图对象按优先级由高到低的顺序进行排序时,则预设排序可以是排序前n,当各挂件视图对象按优先级由低到高的顺序进行排序时,则预设排序可以是排序倒n;其中预设排序中包含的数量n与客户端界面中入口位置数量相关,具体可以是n等于客户端界面中入口位置数量。

可选的,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示,包括:

将状态信息为显示状态的挂件视图对象作为目标挂件视图对象,获取目标挂件视图对象的显示次数,并根据显示次数对目标挂件视图对象进行显示。

其中,当挂件视图对象为显示状态时,则该挂件视图对象可以作为目标挂件视图对象在客户端挂件入口位置进行显示,并且可以根据挂件显示对象的显示次数进行多次显示。

可选的,在将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示之后,还包括:

当接收到移除消息时,调用优先级管理对象的移除方法将移除消息对应的挂件视图对象进行移除;将移出操作后的优先级管理对象中的挂件视图重新进行排序,根据重新排序结果选取目标挂件视图对象并显示。

其中,移除消息中可以包括待移除的挂件视图对象标识,根据待移除的挂件视图对象标识可以将对应的挂件视图对象从优先级管理对象中移出;其中,具体可以通过调用优先级管理对象的remove函数将待移除的挂件视图对象从优先级管理对象中移出。其中,在待移除的挂件视图对象从优先级管理对象中移出后可以对优先级管理对象中的挂件视图重新按优先级进行排序,根据重新排序结果选取目标挂件视图对象并显示。

进一步的,移除消息在目标挂件视图对象结束显示或未显示的挂件视图对象超时时触发;相应的,移除消息对应的挂件视图对象包括目标挂件视图对象或未显示的挂件视图对象。

其中,当目标挂件视图对象结束显示或未显示的挂件视图对象超时时可以触发移除消息,即每当目标挂件视图对象结束显示或在目标挂件视图对象显示过程中其他挂件视图超时时触发移出消息。通过移除消息可以对优先级管理对象中结束显示的目标挂件视图对象或未显示的超时的挂件视图对象进行移出,可以避免优先级管理对象中优先级高的挂件视图对象一直进行显示,从而优化了直播间挂件的显示方法。

本实施例提供的直播间挂件显示方法,根据服务器发送的挂件显示消息触发挂件显示函数,根据挂件显示函数生成挂件视图对象;将挂件视图对象添加至优先级管理对象中,确定优先级管理对象中各挂件视图对象的优先级,根据优先级对各挂件视图对象进行排序;根据排序结果生成状态信息,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示。通过将待显示的挂件视图对象添加至优先级管理对象中并按优先级进行排序,可获取目标挂件视图对象并显示,从而减少了代码冗余,对各挂件的显示逻辑进行了解耦,提高了挂件显示效率。

实施例二

图2是本发明实施例二提供的一种直播间挂件显示装置结构示意图,本实施例可适用于直播间挂件显示。

参见图2,本实施例中直播间挂件显示装置,包括:

挂件视图对象生成模块210,用于接收服务器发送的挂件显示消息,根据挂件显示消息触发挂件显示函数,根据挂件显示函数生成挂件视图对象;

挂件视图对象排序模块220,用于将挂件视图对象添加至优先级管理对象中,确定优先级管理对象中各挂件视图对象的优先级,根据优先级对各挂件视图对象进行排序;

挂件视图对象显示模块230,用于根据排序结果生成状态信息,将状态信息为显示状态的挂件视图对象作为目标挂件视图对象并显示。

可选的,挂件视图对象生成模块210,包括:

初始挂件视图对象生成子模块,用于获取挂件显示函数中的挂件视图参数,根据挂件视图参数生成初始挂件视图对象;

动画显示参数判断子模块,用于判断挂件显示函数中是否包含动画显示参数;

挂件视图对象生成子模块,用于若存在动画显示参数,则将动画显示参数添加至初始挂件视图对象中去,生成挂件视图对象;若不存在动画显示参数,则将初始挂件视图对象作为挂件视图对象。

可选的,挂件视图对象排序模块220,包括:

挂件视图对象添加子模块,用于将挂件视图对象添加至优先级管理对象的挂件数组中依索引次序的首个空存储位置;

优先级确定子模块,用于根据预先定义的挂件优先级库,确定挂件数组中各挂件视图对象的优先级;

挂件视图对象排序子模块,用于每隔预设时间根据优先级对各挂件视图对象进行排序。

可选的,挂件视图对象显示模块230,包括:

状态信息确定子模块,用于将排序为预设排序的挂件视图对象的状态信息确定为显示状态,将除排序为预设排序的挂件视图对象外的其他挂件视图对象的状态信息确定为隐藏状态。

可选的,挂件视图对象显示模块230,还包括:

挂件视图对象显示子模块,用于将状态信息为显示状态的挂件视图对象作为目标挂件视图对象,获取目标挂件视图对象的显示次数,并根据显示次数对目标挂件视图对象进行显示。

可选的,直播间挂件显示装置,还包括:

挂件视图对象移出模块,用于当接收到移除消息时,调用优先级管理对象的移除方法将移除消息对应的挂件视图对象进行移除;

相应的,挂件视图对象排序模块220,还用于将移出操作后的优先级管理对象中的挂件视图重新进行排序;挂件视图对象显示模块230,还用于根据重新排序结果选取目标挂件视图对象并显示。

进一步的,移除消息在目标挂件视图对象结束显示或未显示的挂件视图对象超时时触发;相应的,移除消息对应的挂件视图对象包括目标挂件视图对象或未显示的挂件视图对象。

本实施例提供的直播间挂件显示装置,与实施例一提出的直播间挂件显示方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。

实施例三

本实施例提供了一种终端,可以用于直播间挂件显示。图3是本发明实施例三提供的一种终端的结构示意图。参见图3,该终端包括:

一个或多个处理器310;

存储器320,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器310执行,使得所述一个或多个处理器310实现如实施例一提出的直播间挂件显示方法。

图3中以一个处理器310为例;处理器310和存储器320可以通过总线或其他方式连接,图3中以通过总线连接为例。

存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的直播间挂件显示方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的直播间挂件显示方法。

存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本实施例提出的终端与实施例一提出的直播间挂件显示方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。

实施例四

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一提出的直播间挂件显示方法。

本实施例提出的计算机可读存储介质与实施例一提出的直播间挂件显示方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1