本申请涉及视频直播技术领域,尤其涉及一种直播信息展示方法及装置。
背景技术:
直播应用一般通过直播间界面播放直播视频。为了增强用户与主播之间的互动,在直播间界面上提供一评论区,用以展示用户与主播互动时的相关信息,例如用户进入直播间的提示信息、用户向主播赠送礼物的信息、直播间用户的发言以及评论等。
现有技术中,客户端监听直播间发生的互动事件,在监听到互动事件时上报服务端;服务端根据客户端上报的互动事件,生成评论区信息,并将生成的评论区信息下发至客户端;客户端在评论区展示评论区信息。
为了突出重要信息,客户端在评论区展示评论区信息的过程中,需要调整评论区信息的展示样式,例如改变某些文字的字体、颜色、高度等。这种信息展示方法容易降低信息展示的流畅度,信息展示效率较低。
技术实现要素:
本发明所要解决的技术问题在于提供一种直播信息展示方法及装置,用以解决评论区信息展示不够流畅,信息展示效率较低的问题。
为了解决上述问题,本发明实施例提供了一种直播信息展示方法,包括:
后台线程调整初始评论区信息的展示样式,以获得可直接展示的候选评论区信息;
所述后台线程将所述候选评论区信息保存至本地缓存;
界面线程在监听到评论区刷新事件时,从所述本地缓存保存的所述候选评论区信息中,读取目标评论区信息;
所述界面线程将所述目标评论区信息,直接展示于直播间界面上的评论区内。
可选地,所述后台线程调整初始评论区信息的展示样式,以获得可直接展示的候选评论区信息,包括:
所述后台线程接收服务端下发的所述初始评论区信息以及与所述初始评论区信息关联的展示样式指示信息;
所述后台线程根据所述展示样式指示信息调整所述初始评论区信息的展示样式,以获得所述候选评论区信息。
可选地,所述后台线程根据所述展示样式指示信息调整所述初始评论区信息的展示样式,以获得所述候选评论区信息,包括:
所述后台线程对所述初始评论区信息进行分词处理,以获得至少一个分词;
所述后台线程根据所述展示样式指示信息,调整所述至少一个分词的展示样式;
所述后台线程拼接所述调整展示样式后的至少一个分词,以获得所述候选评论区信息。
可选地,对所述至少一个分词中的第一分词,所述后台线程根据所述展示样式指示信息,调整所述至少一个分词的展示样式,包括以下至少一种:
所述后台线程根据所述展示样式指示信息中的字体指示信息,设置所述第一分词的字体;
所述后台线程根据所述展示样式指示信息中的颜色指示信息,设置所述第一分词的颜色;
所述后台线程根据所述展示样式指示信息中的字形指示信息,设置所述第一分词的字形;
所述后台线程根据所述展示样式指示信息中的高度指示信息,设置所述第一分词的高度;
所述后台线程根据所述展示样式指示信息中的超链接指示信息,为所述第一分词设置超链接。
可选地,所述界面线程在监听到评论区刷新事件时,从所述本地缓存保存的所述候选评论区信息中,读取目标评论区信息,包括以下至少一种:
所述界面线程监听到评论区刷新周期到达时,从所述本地缓存保存的所述候选评论区信息中,读取所述目标评论区信息;
所述界面线程监听到用户触发的评论区刷新操作时,从所述本地缓存保存的所述候选评论区信息中,读取所述目标评论区信息;
所述界面线程监听到所述本地缓存溢出时,从所述本地缓存保存的所述候选评论区信息中,读取所述目标评论区信息;
其中,所述本地缓存溢出是指所述本地缓存内所述候选评论区信息的数量达到预设阈值。
可选地,所述界面线程在监听到评论区刷新事件时,从所述本地缓存保存的所述候选评论区信息中,读取目标评论区信息,包括:
所述界面线程在监听到评论区刷新事件时,根据所述评论区的总高度和所述候选评论区信息的高度,确定本次读取信息的数量;
所述界面线程从所述本地缓存中读取所述数量个候选评论区信息,作为所述目标评论区信息。
可选地,所述界面线程将所述目标评论区信息,直接展示于直播间界面上的评论区内之后,所述方法还包括:
根据直播间主播和/或直播间用户对所述目标评论区信息的响应状况,确定所述目标评论区信息的热度;
若所述目标评论区信息的热度小于设定的热度阈值,从所述本地缓存删除所述目标评论区信息。
本发明实施例还提供了一种直播信息展示装置,包括:后台处理模块和界面处理模块;
所述后台处理模块包括:
调整单元,用于调整初始评论区信息的展示样式,以获得可直接展示的候选评论区信息,并将所述候选评论区信息保存至本地缓存;
所述本地缓存,用于存储所述候选评论区信息;
所述界面处理模块包括:
读取单元,用于在监听到评论区刷新事件时,从所述本地缓存保存的所述候选评论区信息中,读取目标评论区信息;
展示单元,用于将所述目标评论区信息,直接展示于直播间界面上的评论区内。
可选地,所述调整单元具体用于:
接收服务端下发的所述初始评论区信息以及与所述初始评论区信息关联的展示样式指示信息;以及
根据所述展示样式指示信息调整所述初始评论区信息的展示样式,以获得所述候选评论区信息。
可选地,所述调整单元具体用于:
对所述初始评论区信息进行分词处理,以获得至少一个分词;
根据所述展示样式指示信息,调整所述至少一个分词的展示样式;以及
拼接所述调整展示样式后的至少一个分词,以获得所述候选评论区信息。
与现有技术相比,本发明实施例通过增加后台线程,用于在读取并展示评论区信息之前,预先获取评论区信息并对获取到的评论区信息的展示样式进行调整,以及将调整后的评论区信息保存至本地缓存,使得界面线程在需要展示评论区信息时,能够直接从本地缓存中获取已调整好的评论区信息,无需在展示过程中实时调整评论区信息的展示样式,从而提高评论区信息展示的流畅度,进而提高展示效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一实施例所述的一种直播信息展示方法的流程示意图;
图2示出了根据本发明又一实施例所述的一种直播信息展示方法的流程示意图;
图3示出了根据本发明又一实施例所述的一种直播信息展示装置的模块结构图。
图4示出了根据本发明又一实施例所述的一种直播信息展示装置的模块结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明一实施例提供的一种直播信息展示方法,包括以下步骤:
s110:后台线程调整初始评论区信息的展示样式,以获得可直接展示的候选评论区信息。
s120:后台线程将候选评论区信息保存至本地缓存。
直播间界面上通常提供一评论区,用于在直播视频播放的过程中,展示评论区信息。评论区信息可以是直播视频播放过程中的任何信息。例如,直播间用户或主播进入直播间的提示信息、用户的评论信息、主播的回复信息、用户赠送礼物的信息、用户关注主播的信息以及一些系统通知信息等。
为了增加评论区信息的趣味性,并突出重点信息,可以调整评论区信息在评论区内展示时的样式。为便于区分和描述,将调整之前的评论区信息称为初始评论区信息。在本实施例中,为了更流畅地展示评论区信息,增加一后台线程,由所述后台线程在展示评论区信息之前,预先对初始评论区信息进行展示样式的调整,从而获得展示样式符合展示要求的候选评论区信息。由于候选评论区信息的展示样式符合展示要求,因此可以直接展示于评论区内。其中,后台线程不负责界面展示,可称为非ui线程。
在获得候选评论区信息后,后台线程将候选评论区信息保存至本地缓存,为界面线程在评论区内展示评论区信息提供条件。这样,当界面线程需要展示评论区信息时,能够直接从本地缓存获取候选评论区信息并展示于评论区内,无需在展示过程中实时调整评论区信息的展示样式。
s130:界面线程在监听到评论区刷新事件时,从本地缓存保存的候选评论区信息中,读取目标评论区信息。
s140:界面线程将目标评论区信息,直接展示于直播间界面上的评论区内。
其中,界面线程是指主要负责界面展示,能够处理界面组件的线程,例如ui线程。界面线程负责监听评论区刷新事件,以识别是否需要在评论区展示新的评论区信息。当监听到评论区刷新事件时,意味着需要刷新评论区信息。
在界面线程监听到评论区刷新事件时,由于候选评论区信息已保存在本地缓存,基于此,可以直接从本地缓存保存的候选评论区信息中,读取目标评论区信息。目标评论区信息是指因当前监听到的评论区刷新事件需要在评论区中展示的评论区信息,可以是候选评论区信息中的部分信息或全部信息。
在一种具体应用场景中,本地缓存保存的候选评论区信息较多,需要通过多屏来展示,而评论区需要一屏一屏的展示信息,因此只能从候选评论区信息中选取部分信息作为目标评论区信息。当然,当候选评论区信息只有至多一屏信息时,目标评论区信息可以是全部的候选评论区信息。
优选地,从本地缓存的候选评论区信息中读取目标评论区信息时,可以按照后台线程保存候选评论区信息的先后顺序,依次读取目标评论区信息,即先保存的候选评论区信息优先被读取。除了可以按照保存候选评论区信息的先后顺序逐条读取目标评论区信息外,还可以从本地缓存保存的候选评论区信息中,周期性地读取目标评论区信息并显示在评论区内。在读取到目标评论区信息之后,界面线程可将目标评论区信息直接展示于直播间界面上的评论区内。
在本实施例中,通过增加后台线程,用于在读取并展示评论区信息之前,预先获取评论区信息并对获取到的评论区信息的展示样式进行调整,以及将调整后的评论区信息保存至本地缓存,使得当需要展示评论区信息时,能够直接从本地缓存中获取展示样式已调整好的评论区信息,从而提高评论区信息展示的流畅度,进而提高展示效率。
后台线程在调整初始评论区信息的展示样式之前,需要获取初始评论区信息。可选地,初始评论区信息的生成过程可以包括如下两步:
第一步:界面线程监听到直播间发生互动事件,并将互动事件关联的信息发送给服务端。
互动事件可以是发生在直播间主播与直播间用户之间,用于双方交流、互动的事件。互动事件关联的信息可以是能够将互动事件进行可视化展示的文字、图标、动画等各种形式的信息。例如,互动事件可以是用户或主播进入直播间的事件,相应地,与互动事件关联的信息可以是用户或直播进入直播间的提示信息;互动事件可以是直播间用户向直播间主播赠送礼物的事件,相应地,与互动事件关联的信息可以是用户向主播赠送礼物的信息,可以包括用户的标识信息、赠送的礼物数量以及礼物图标等;互动事件还可以是直播间用户或直播间主播发送评论信息或回复评论信息的事件,相应地,与互动事件关联的信息可以是直播间用户或主播发表评论或回复的信息,可以包括用户或主播的标识信息、评论的信息或者回复的信息等。
其中,用户或主播的标识信息可以包括但不限于用户或主播的昵称、地域、等级以及等级图标等。
第二步:服务端在接收到界面线程发送的互动事件关联的信息后,将接收到的信息进行组合,以生成初始评论区信息。
以一直播间用户发送评论信息的场景为例,具体说明服务端生成初始评论区信息的过程。直播间用户通过触发直播间界面上的评论控件进入评论输入面板,在输入面板内输入并发送评论信息“赞”;界面线程监听到直播间用户发表评论信息的事件后,将用户输入的评论信息“赞”以及该直播间用户的昵称a、等级lv1发送给服务端;服务端将接收到的信息组合,生成初始评论区信息“lv1a:赞”。生成初始评论区信息之后,服务端将初始评论区信息下发给直播应用的客户端,具体是客户端中的后台线程。
在本实施例中,服务端除了向客户端中的后台线程下发初始评论区信息之外,还会下发与初始评论区信息关联的展示样式指示信息。相应地,后台线程除了要接收服务端下发的初始评论区信息之外,还要接收服务端下发的与初始评论区信息关联的展示样式指示信息,作为调整初始评论区信息的展示样式的依据。
其中,初始评论区信息可能包括不同类型的信息,例如直播间用户或主播进入直播间的提示信息、直播间用户的评论信息、主播的回复信息、直播间用户赠送礼物的信息、直播间用户关注主播的信息以及一些系统通知信息等。不同类型的评论区信息,可以具有不同的展示样式,即不同类型的评论区信息所关联的展示样式指示信息可以不同。基于此,与初始评论区信息关联的展示样式指示信息可能包括与直播间用户或主播进入直播间的提示信息关联的展示样式指示信息、与直播间用户的评论信息关联的展示样式指示信息、与主播的回复信息关联的展示样式指示信息、与用户赠送礼物的信息关联的展示样式指示信息、与用户关注主播的信息关联的展示样式指示信息、以及与系统通知信息关联的展示样式指示信息等。进一步地,同一类型的初始评论区信息可以包括不同属性的信息,例如直播间用户的评论信息中包括直播间用户的昵称、直播间用户的等级以及内容信息等。基于此,在与直播间用户的评论信息关联的展示样式指示信息中还可以具体包括与直播间用户昵称关联的展示样式指示信息、与直播间用户等级关联的展示样式指示信息以及与内容信息关联的展示样式指示信息。简单来说,对同一评论区信息,可以通过展示样式指示信息,指示该评论区信息中不同信息的展示样式。
后台线程在接收到服务端下发的初始评论区信息以及与初始评论区信息关联的展示样式指示信息之后,可以根据展示样式指示信息调整初始评论区信息的展示样式,以获得候选评论区信息。
本实施例中,由后台线程根据服务端下发的展示样式指示信息调整初始评论区信息的展示样式,提高了展示样式调整的效率;并且可以针对不同类型、不同属性的初始评论区信息调整不同的展示样式,增强了评论区的趣味性,突出了评论区信息的不同。
在上述实施例或下述实施例中,如图2所示,在后台线程接收服务端下发的所述初始评论区信息以及与所述初始评论区信息关联的展示样式指示信息(s111)之后,后台线程根据展示样式指示信息调整初始评论区信息的展示样式,以获得候选评论区信息的过程,可以包括以下步骤:
s1121:后台线程对初始评论区信息进行分词处理,以获得至少一个分词。
可选地,可以根据初始评论区信息所包含信息的属性,对初始评论区信息进行分词处理。例如,初始评论区信息为“☆lv2ab关注了主播”,该初始评论区信息包括三种属性的信息,分别为直播间用户的等级“☆lv2”、直播间用户的昵称“ab”以及内容信息“关注了主播”。后台线程可以根据上述三种属性对初始评论区信息进行分词处理,以获得三个分词:“☆lv2”、“ab”以及“关注了主播”。
s1122:后台线程根据展示样式指示信息,调整至少一个分词的展示样式。其中,对至少一个分词中的第一分词,可以通过以下至少一种进行展示样式的调整。其中,第一分词可以是至少一个分词中的任意一个。
后台线程首先根据第一分词的属性以及第一分词所在初始评论区信息的类型,选取对应的展示样式指示信息;再按照所选的展示样式指示信息对第一分词进行展示样式的调整。
可选地,后台线程根据展示样式指示信息中的字体指示信息,设置第一分词的字体。在一应用场景中,分词“关注了主播”属于关注信息中的内容信息,则选择对应的展示样式指示信息,并根据该展示样式指示信息中的字体指示信息设置第一分词的字体,例如,设置“关注了主播”的字体为楷体。
可选地,后台线程根据展示样式指示信息中的颜色指示信息,设置第一分词的颜色。在一应用场景中,分词“ab”属于关注信息中的昵称信息,则选择对应的展示样式指示信息,并根据该展示样式指示信息中的颜色指示信息设置第一分词的颜色,例如,设置“ab”的颜色为黄色。除了可以设置分词的颜色外,还可以设置分词的透明度、对比度、背景色等,例如设置分词“☆lv2”为对比度80%,背景色为黄色。
可选地,后台线程根据展示样式指示信息中的字形指示信息,设置第一分词的字形,在一应用场景中,分词“ab”属于评论信息中的昵称信息,则选择对应的展示样式指示信息,并根据该展示样式指示信息中的字形指示信息设置第一分词的字形,例如,设置“ab”的字形为加粗、斜体。
可选地,后台线程根据展示样式指示信息中的高度指示信息,设置第一分词的高度。在一具体应用场景中,分词“☆lv2”为直播间进入信息中的等级信息,则选择对应的展示样式指示信息,并根据该展示样式指示信息中的高度指示信息设置第一分词的高度,可选地,可以设置第一分词的字高的具体数值或者设置第一分词字高相对标准字高的倍数,例如,设置“☆lv2”的高度为1.2倍字高。
可选地,后台线程根据展示样式指示信息中的超链接指示信息,为第一分词设置超链接。所述超链接可以链接到分词关联的直播间主播或者直播间用户的基本信息,例如等级信息、地域信息等。优选地,界面线程可以响应于对第一分词的点击操作,从而界面线程在直播间界面上展示第一分词关联的直播间主播或者直播间用户的基本信息。在一具体应用场景中,分词“ab”为礼物信息中的昵称信息,为了让直播间主播或其他直播间用户能够获知赠送礼物的人的信息,可以由后台线程根据展示样式指示信息中的超链接指示信息,为“ab”设置超链接。界面线程可以响应于对“ab”的点击操作,并在直播间界面上展示“ab”的等级信息、地域信息等。
除了上述实施方式,后台线程还可以根据展示样式指示信息中的位置指示信息,为第一分词设置在评论区的展示位置。优选地,同一类型的初始评论区信息的分词在评论区的展示位置相同。例如,直播间用户或主播进入直播间的提示信息中的任何一个分词都始终展示在评论区的底部。
s1123:后台线程拼接调整展示样式后的至少一个分词,以获得候选评论区信息。
在将至少一个分词的展示样式调整完成后,将调整后的分词按照分词操作之前的前后顺序,由后台线程拼接展示样式调整完成后的至少一个分词,以获得候选评论区信息。随后,参见步骤s120,后台线程会将候选评论区信息保存至本地缓存,以方便界面线程从本地缓存读取目标评论区信息并展示在评论区内。
需要说明的是,后台线程在获取初始评论区信息后,优选地,后台线程会对全部的初始评论区信息进行分词处理、展示样式的调整以及拼接操作,以获得候选评论区信息。基于此,参见步骤130和140,界面线程在监听到评论区刷新事件时,只需要从候选评论区信息中直接读取目标评论区信息,并将目标评论区信息展示在评论区内,而不需要再次执行拼接操作,进一步提高评论区信息的展示效率。
本实施例通过按照初始评论区信息的类型以及属性调整对应的展示样式,更加丰富了评论区的趣味性同时突出了重点信息;将复杂的展示样式调整过程交由后台线程完成,以便需要展示评论区信息时,直接获取调整后的评论区信息,而不需要对展示样式进行调整,提高了评论区信息展示的流畅度;而且,展示样式指示信息包含多个维度的指示信息,进而可以使初始评论区信息的展示样式更为多样,从而展示丰富多彩的评论区信息。
本实施例提供的方法与上述实施例大致相同,不同之处仅在于与初始评论区信息关联的展示样式指示信息预先存储在本地缓存。基于此,服务端只需下发初始评论区信息,后台线程可以接收服务端下发的初始评论区信息,以及从本地缓存获取与初始评论区信息关联的展示样式指示信息。其中,与初始评论区信息关联的展示样式指示信息可按照初始评论区信息的类型进行区分,这样后台线程接收到初始评论区信息之后,可以确定初始评论区信息所属的类型,然后获取与该类型对应的展示样式指示信息。在该实施例中,同一类型的初始评论区信息使用相同的展示样式指示信息。当然,在展示样式指示信息的内部,还可以进一步根据初始评论区信息所包含的信息的属性进行区分,以限定初始评论区信息所包含的不同属性的信息的展示样式。
可选地,后台线程可以对初始评论区信息进行分词处理,以获得至少一个分词之后,根据分词的属性以及分词所在初始评论区信息的类型,从本地缓存获取关联的展示样式指示信息;后台线程根据获取的展示样式指示信息,调整至少一个分词的展示样式;后台线程拼接调整展示样式后的至少一个分词,以获得候选评论区信息。界面线程在监听到评论区刷新事件时,从本地缓存保存的候选评论区信息中,读取目标评论区信息。并将目标评论区信息,直接展示于直播间界面上的评论区内。
在上述实施例或下述实施例中,界面线程在监听到评论区刷新事件时,从本地缓存保存的候选评论区信息中,读取目标评论区信息,可以包括以下至少一种方式:
第一种方式:界面线程监听到评论区刷新周期到达时,从本地缓存保存的候选评论区信息中,读取目标评论区信息。
评论区信息的意义在于,通过评论区信息可以让直播间用户与直播间主播进行实时地在线交流、互动。可见,评论区信息需要具有实时性较强的特点,因此有必要周期性刷新评论区信息,以展示最新的信息。评论区刷新周期可以通过一设置界面,根据用户的阅读速度或者阅读舒适度设置,也可以由界面线程预先设置,例如0.5s、1s。在一应用场景中,评论区刷新周期为1s。这样,界面线程每间隔1s,从本地缓存保存的候选评论区信息中,读取目标评论区信息。
第二种方式:界面线程监听到用户触发的评论区刷新操作时,从本地缓存保存的候选评论区信息中,读取目标评论区信息。
为了便于用户控制评论区信息的展示情况,界面线程可以监听用户触发的评论区刷新操作;并在监听到用户触发的评论区刷新操作时,从本地缓存保存的候选评论区信息中,读取目标评论区信息。其中,用户触发的评论区刷新操作包括但不限于在直播间界面评论区的滑动、点击以及长按等。例如在一应用场景中,界面线程每监听到一次用户的点击操作,界面线程从本地缓存保存的候选评论区信息中,读取一条目标评论区信息。界面线程监听到用户在直播间界面评论区向上滑动时,界面线程从本地缓存保存的候选评论区信息中,读取未读取过的目标评论区信息。界面线程监听到用户在直播间界面评论区向下滑动时,界面线程从本地缓存保存的候选评论区信息中,读取已读取过的目标评论区信息。界面线程监听到用户在直播间界面评论区长按时,界面线程加快读取未读取过的目标评论区信息。
第三种方式:界面线程监听到本地缓存溢出时,从本地缓存保存的候选评论区信息中,读取目标评论区信息。其中,本地缓存溢出是指本地缓存内候选评论区信息的数量达到预设阈值。
由于候选评论区信息保存在本地缓存,候选评论区信息数量的多少直接影响到本地缓存的缓存能力。当本地缓存的缓存能力较低时,可能无法保存调整展示样式后的候选评论区信息,进而导致评论区信息的丢失。为了避免这种情况的出现,在一可选实施方式中,界面线程监听到本地缓存内候选评论区信息的数量达到预设阈值时,意味着本地缓存的缓存能力到达临界点,此时从本地缓存保存的候选评论区信息中,读取目标评论区信息。优选地,还可以将读取的目标评论区信息从本地缓存中删除,以释放本地缓存的空间,提高本地缓存的缓存能力。
值得说明的是,界面线程从本地缓存保存的候选评论区信息中,读取目标评论区信息的过程,可以依据上述三种方式中的任意一种,也可以依据任意两种或三种的组合。在依据至少两种方式读取目标评论区信息的过程中,可以为所依据的方式设置优先级,以确定合理的读取策略。优选地,设置第三种方式的优先级最高,第二种方式的优先级次之,第一种方式的优先级最低。基于此,界面线程首先监听本地缓存是否溢出,若溢出,则从本地缓存保存的候选评论区信息中,读取目标评论区信息;若未溢出,则监听是否存在用户触发的评论区刷新操作,若存在,则从本地缓存保存的候选评论区信息中,读取目标评论区信息;若不存在,则监听评论区刷新周期是否到达,若未到达则继续等待;若到达,则执行读取操作。
本实施例中,界面线程可以通过监听多个评论区刷新事件,进而读取目标评论区信息并显示,使得评论区信息的刷新过程可以周期性地进行,以提高信息展示的实时性;可以由用户触发,提高了信息展示的自主性,使用户获得较好的浏览体验;还可以由本地缓存是否溢出来控制,使得评论区信息的展示能够持续地进行,避免了评论区信息丢失的情况。
在直播间界面上,大部分区域用于播放直播视频,为了避免评论区信息遮挡直播视频,评论区的区域是有限的,从而评论区展示的评论区信息也是有限的。本实施例提供的方法旨在确定评论区展示的评论区信息的个数,以有效利用评论区的有限区域。
可选地,当界面线程监听到评论区刷新事件时,意味着需要刷新评论区内展示的信息。此时,根据评论区的总高度与候选评论区信息的高度,确定本次读取信息的数量。其中,评论区的总高度指的是评论区顶部到评论区底部的垂直高度,候选评论区信息的高度指的是经展示样式调整后,候选评论区信息中最高字体的高度。将评论区的总高度除以候选评论区信息的高度所得的整数作为本次读取信息的数量。接着,界面线程从本地缓存中读取所述数量个目标评论区信息。进而界面线程将所读取数量个目标评论区信息,直接展示于直播间界面上的评论区内。
随着直播的进行,直播间主播与用户的互动愈加频繁,后台线程会将大量的候选评论区信息保存至本地缓存,使本地缓存的可缓存空间降低,缓存能力下降。因此本地缓存需要释放存储空间,以提高存储能力。现有技术中,通常选择本地缓存中已被读取的信息进行删除,以达到释放缓存的目的。这种方法容易删除直播间主播或直播间用户感兴趣的信息,若用户回看感兴趣的信息时,界面线程还需要重新读取目标评论区信息,进而使得评论区信息的加载不够流畅,也造成了资源的浪费。
为了解决上述现有技术的缺陷,可选地,界面线程将目标评论区信息直接展示于直播间界面上的评论区内之后,可以根据直播间主播和/或直播间用户对目标评论区信息的响应状况,确定目标评论区信息的热度;若目标评论区信息的热度小于设定的热度阈值,从本地缓存删除所述目标评论区信息。
其中,直播间主播和/或直播间用户对目标评论区信息的响应状况包括但不限于是否回复或点击目标评论区信息。优选地,可以为每一种操作赋分,例如直播间用户或直播间主播每人每点击一次赋值为1分,直播间用户每人每回复一次赋值为2分,直播间主播每回复一次赋值为3分。根据每次操作的分数与操作次数对应相乘再相加,得到每条目标评论区信息的总分,例如某条评论区信息被直播间主播回复一次以及被5个直播间用户分别回复一次,则该条目标评论区信息的分数为3+2*5=13分。
每条目标评论区信息的分数可以作为该条信息的热度,目标评论区信息的分数越高说明热度越高。在确定目标评论区信息的热度后,优选地,设定一热度阈值,若目标评论区信息的热度小于设定的热度阈值,从本地缓存删除目标评论区信息。
如图3所示,本发明实施例还提供一种直播信息展示装置300,包括后台处理模块310和界面处理模块320。
后台处理模块310包括调整单元311和本地缓存312。
调整单元311用于调整初始评论区信息的展示样式,以获得可直接展示的候选评论区信息,并将候选评论区信息保存至本地缓存312。
本地缓存312,用于存储调整单元311获得的候选评论区信息。
界面处理模块320包括读取单元321和展示单元322。
读取单元321,用于在监听到评论区刷新事件时,从本地缓存312保存的所述候选评论区信息中,读取目标评论区信息。
展示单元322,用于将读取单元321所读取的目标评论区信息,直接展示于直播间界面上的评论区内。
直播间界面上通常提供一评论区,用于在直播视频播放的过程中,展示评论区信息。评论区信息可以是直播视频播放过程中的任何信息。例如,直播间用户或主播进入直播间的提示信息、用户的评论信息、主播的回复信息、用户赠送礼物的信息、用户关注主播的信息以及一些系统通知信息等。
为了增加评论区信息的趣味性,并突出重点信息,在展示单元322展示评论区信息之前,由后台处理模块310中的调整单元311预先对初始评论区信息进行展示样式的调整,从而获得展示样式符合展示要求的候选评论区信息。由于候选评论区信息的展示样式符合展示要求,因此可以直接展示于评论区内。
调整单元311在获得候选评论区信息后,将候选评论区信息保存至本地缓存312。这样,当需要展示评论区信息时,界面处理模块320能够直接从本地缓存312保存的候选评论区信息中读取候选评论区信息并展示于评论区内,无需在展示过程中实时调整评论区信息的展示样式。
其中,在具体实现上,后台处理模块310可以是一后台线程,所述后台线程不负责界面展示,可称为非ui线程。
在界面处理模块320中的读取单元321监听到评论区刷新事件时,由于候选评论区信息已保存在本地缓存312,基于此,可以直接从本地缓存312保存的候选评论区信息中读取目标评论区信息。目标评论区信息是指因当前监听到的评论区刷新事件需要在评论区中展示的评论区信息,可以是候选评论区信息中的部分信息或全部信息。
优选地,读取单元321从本地缓存312保存的候选评论区信息中读取目标评论区信息时,可以按照调整单元311将候选评论区信息保存至本地缓存312的先后顺序,依次读取目标评论区信息;或者,也可以从本地缓存312保存的候选评论区信息中,周期性地读取目标评论区信息。
展示单元322将读取单元321读取到的目标评论区信息直接展示于直播间界面上的评论区内。
其中,界面处理模块320可以是主要负责界面展示,能够处理界面组件的界面线程,例如ui线程。
在本实施例中,通过后台处理模块,用于在读取并展示评论区信息之前,预先获取评论区信息并对获取到的评论区信息的展示样式进行调整,以及将调整后的评论区信息保存至本地缓存,使得当需要展示评论区信息时,能够直接从本地缓存中获取展示样式已调整好的评论区信息,从而提高评论区信息展示的流畅度,进而提高展示效率。
可选地,如图4所示,界面处理模块320还可以包括监听单元323,用于监听直播间发生的互动事件,并将互动事件关联的信息发送给服务端400。服务端400在接收到监听单元323发送的互动事件关联的信息后,将接收到的信息进行组合,以生成初始评论区信息。
可选地,调整单元311具体用于:接收服务端400下发的初始评论区信息以及与初始评论区信息关联的展示样式指示信息;以及根据展示样式指示信息调整初始评论区信息的展示样式,以获得候选评论区信息。
可选地,调整单元311还可以具体用于:对初始评论区信息进行分词处理,以获得至少一个分词;根据展示样式指示信息,调整至少一个分词的展示样式;以及拼接调整展示样式后的至少一个分词,以获得候选评论区信息。
在一应用场景中,调整单元311可以根据初始评论区信息所包含信息的属性,对初始评论区信息进行分词处理,以获得至少一个分词。之后,调整单元311首先根据分词的属性以及分词所在初始评论区信息的类型,选取对应的展示样式指示信息,再按照所选的展示样式指示信息调整至少一个分词的展示样式。
其中,对至少一个分词中的第一分词,调整单元311根据所述展示样式指示信息,调整至少一个分词的展示样式,包括以下至少一种:调整单元311根据展示样式指示信息中的字体指示信息,设置第一分词的字体;调整单元311根据展示样式指示信息中的颜色指示信息,设置第一分词的颜色;调整单元311根据展示样式指示信息中的字形指示信息,设置第一分词的字形;调整单元311根据展示样式指示信息中的高度指示信息,设置第一分词的高度;调整单元311根据展示样式指示信息中的超链接指示信息,为第一分词设置超链接;调整单元311还可以根据展示样式指示信息中的位置指示信息,为第一分词设置在评论区的展示位置。
调整单元311在将至少一个分词的展示样式调整完成后,将调整后的分词按照分词操作之前的前后顺序,拼接展示样式调整完成后的至少一个分词,以获得候选评论区信息。
可选地,本地缓存312还可以用于存储与初始评论区信息关联的展示样式指示信息。调整单元311可以只接收服务端400下发的初始评论区信息,以及从本地缓存312获取与初始评论区信息关联的展示样式指示信息。
可选地,读取单元321在监听到评论区刷新事件时,从本地缓存312保存的候选评论区信息中,读取目标评论区信息,包括以下至少一种方式:
读取单元321监听到评论区刷新周期到达时,从本地缓存312保存的候选评论区信息中,读取目标评论区信息。
读取单元321监听到用户触发的评论区刷新操作时,从本地缓存312保存的候选评论区信息中,读取目标评论区信息。
读取单元321监听到本地缓存溢出时,从本地缓存312保存的候选评论区信息中,读取目标评论区信息;其中,本地缓存溢出是指本地缓存312内候选评论区信息的数量达到预设阈值。
可选地,读取单元321在监听到评论区刷新事件时,从本地缓存312保存的候选评论区信息中,读取目标评论区信息,包括:
读取单元321在监听到评论区刷新事件时,根据评论区的总高度和候选评论区信息的高度,确定本次读取信息的数量;
读取单元321从本地缓存312中读取数量个候选评论区信息,作为目标评论区信息。
可选地,如图4所示,展示单元322将目标评论区信息,直接展示于直播间界面上的评论区内之后,监听单元323还可以用于根据直播间主播和/或直播间用户对目标评论区信息的响应状况,确定目标评论区信息的热度;若目标评论区信息的热度小于设定的热度阈值,删除本地缓存312存储的所述目标评论区信息。
所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统,如ios、安卓,也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。