数据的显示控制方法、装置、电子设备及存储介质与流程

    专利2022-07-07  91


    本公开涉及计算机技术领域,尤其涉及一种数据的显示控制方法、装置、电子设备及存储介质。



    背景技术:

    短视频应用程序中的浏览场景越来越多。其中,在信息流中插入一条直播内容时,为了不影响观看的流畅体验,直播封面只透出拉流内容、主播名称、直播标题,而对于直播间内的评论、点赞、打赏等详细信息会做相应的简化甚至隐藏。当用户对该直播间感兴趣时,可以点击封面进入直播间进行更深度的观看、评论、打赏、点赞、领红包等行为。

    在实现本公开的过程中,发明人发现:目前用户点击信息流中的直播封面时,会打开一个新页面并展示,在展示的新页面中使用独立的播放器重新拉流,其中,拉流的过程页面会存在加载直播间内的部分元素。

    由上述可知,在用户点击直播封面进入直播间时,新页面会打开新的播放器,而新的播放器需要重新拉流,并且拉流的过程也会加载直播间内的元素,从而使得进入直播间时的页面切换过程延迟较长。



    技术实现要素:

    为了解决背景技术中记载的技术问题,本公开实施例提供了一种数据的显示控制方法、装置、电子设备及存储介质,本公开的技术方案如下:

    根据本公开实施例的第一方面,提供了一种数据的显示控制方法,所述方法包括:

    在接收到进入第一直播间的进入操作时,响应于所述进入操作,渲染所述第一直播间的直播拉流画面;

    在所述直播拉流画面渲染完成时,显示所述直播拉流画面;

    显示所述第一直播间的业务画面。

    可选的,所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式;

    所述第一直播间以所述第一模式在第一页面中展示;

    所述第一直播间以所述第二模式在第二页面中展示,其中,所述第二页面包括所述直播拉流画面和所述第一直播间的业务画面。

    可选的,所述渲染所述第一直播间的直播拉流画面,包括:

    初始化所述第一直播间的第一用户界面和第一逻辑,其中,所述第一用户界面为显示所述直播拉流画面的用户界面,所述第一逻辑为所述直播拉流画面的处理逻辑;

    获取用于显示所述直播拉流画面的播放器;

    根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面。

    可选的,所述显示所述第一直播间的业务画面,包括:

    初始化所述第一直播间的第二用户界面和第二逻辑,其中,所述第二用户界面为显示所述第一直播间的业务画面的用户界面,所述第二逻辑为所述业务画面的处理逻辑;

    根据所述第二用户界面和所述第二逻辑,渲染所述业务画面,并显示所述业务画面。

    可选的,所述方法还包括:

    在初始化所述第二用户界面和所述第二逻辑的过程中检测到预设操作时,中断初始化所述第二用户界面和所述第二逻辑;

    在检测到返回所述第一直播间时,继续初始化所述第二用户界面和所述第二逻辑。

    可选的,所述显示所述第一直播间的业务画面,包括:

    接收到所述进入操作之后的第一预设时间到达时,显示所述业务画面。

    可选的,所述方法还包括:

    在接收到所述进入操作之后的第二预设时间到达时,所述直播拉流画面未渲染时完成,显示所述业务画面。

    可选的,所述方法还包括:

    在检测到所述第一直播间暂无实时直播数据时,显示所述业务画面。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,所述根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面,包括:

    设置所述第二页面的第二帧缓冲区,并释放所述第一页面的第一帧缓冲区;

    利用所述播放器对所述第一直播间的视频数据进行处理,生成可绘制数据,并将所述可绘制数据存储于所述第二帧缓冲区中;

    从所述第二帧缓冲区中读取所述可绘制数据,并根据所述第一用户界面、所述第一逻辑和所述可绘制数据,在所述第二页面中渲染所述直播拉流画面。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,在获取用于显示所述直播拉流画面的播放器之前,所述方法还包括:

    将所述第一页面使用的播放器保存于预先设置的全局单例中;

    所述获取用于显示所述直播拉流画面的播放器,包括:

    在所述全局单例中保存的播放器与所述第一直播间的视频数据相匹配时,将所述全局单例中保存的播放器作为显示所述直播拉流画面的播放器。

    可选的,所述方法还包括:

    在所述全局单例中保存的播放器与所述第一直播间的视频数据不匹配时,时释放所述全局单例中保存的播放器。

    可选的,所述将所述第一页面使用的播放器保存于预先设置的全局单例中之前,所述方法还包括:

    清理所述第一页面的业务信息。

    可选的,所述显示所述直播拉流画面,包括:

    将所述直播拉流画面绘制到所述第二页面中;

    控制所述第一页面的元素的透明度降低,直到所述第一页面不可见,并控制所述第二页面的元素的透明度增大,直到所述第二页面的元素的透明度达到预设值。

    可选的,显示所述第一直播间的业务画面之后,所述方法还包括:

    在检测到所述第一直播间的退出操作时,响应于所述退出操作,控制所述第二页面的元素的透明度降低,直到所述第二页面不可见,并控制所述第一页面的元素的透明度增大,直到所述第一页面的元素的透明度达到预设值。

    可选的,所述退出操作为滑动操作;

    所述控制所述第二页面的元素的透明度降低,包括:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第二页面的元素的透明度降低;

    所述控制所述第一页面的元素的透明度增大,包括:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第一页面的元素的透明度增大。

    根据本公开实施例的第二方面,提供了一种数据的显示控制装置,所述装置包括:

    渲染模块,被配置为时在接收到进入第一直播间的进入操作时,响应于所述进入操作,渲染所述第一直播间的直播拉流画面;

    第一显示模块,被配置为时在所述直播拉流画面渲染完成时,显示所述直播拉流画面;

    第二显示模块,被配置为显示所述第一直播间的业务画面。

    可选的,所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式;

    所述第一直播间以所述第一模式在第一页面中展示;

    所述第一直播间以所述第二模式在第二页面中展示,其中,所述第二页面包括所述直播拉流画面和所述第一直播间的业务画面。

    可选的,所述渲染模块包括:

    第一初始化子模块,被配置为初始化所述第一直播间的第一用户界面和第一逻辑,其中,所述第一用户界面为显示所述直播拉流画面的用户界面,所述第一逻辑为所述直播拉流画面的处理逻辑;

    播放器获取子模块,被配置为获取用于显示所述直播拉流画面的播放器;

    第一渲染子模块,被配置为根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面。

    可选的,所述第二显示模块包括:

    第二初始化子模块,被配置为初始化所述第一直播间的第二用户界面和第二逻辑,其中,所述第二用户界面为显示所述第一直播间的业务画面的用户界面,所述第二逻辑为所述业务画面的处理逻辑;

    第二渲染子模块,被配置为根据所述第二用户界面和所述第二逻辑,渲染所述业务画面,并显示所述业务画面。

    可选的,所述装置还包括:

    中断模块,被配置为在初始化所述第二用户界面和所述第二逻辑的过程中检测到预设操作时,中断初始化所述第二用户界面和所述第二逻辑;

    中断处理模块,被配置为在检测到返回所述第一直播间时,继续初始化所述第二用户界面和所述第二逻辑。

    可选的,所述第二显示模块具体被配置为:

    接收到所述进入操作之后的第一预设时间到达时,显示所述业务画面。

    可选的,所述装置还包括:

    第三显示模块,被配置为在接收到所述进入操作之后的第二预设时间到达时,时所述直播拉流画面未渲染完成,显示所述业务画面。

    可选的,所述装置还包括:

    第四显示模块,在检测到所述第一直播间暂无实时直播数据时,显示所述业务画面。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,所述第一渲染子模块具体被配置为:

    设置所述第二页面的第二帧缓冲区,并释放所述第一页面的第一帧缓冲区;

    利用所述播放器对所述第一直播间的视频数据进行处理,生成可绘制数据,并将所述可绘制数据存储于所述第二帧缓冲区中;

    从所述第二帧缓冲区中读取所述可绘制数据,并根据所述第一用户界面、所述第一逻辑和所述可绘制数据,在所述第二页面中渲染所述直播拉流画面。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,所述装置还包括:

    播放器保存模块,被配置为将所述第一页面使用的播放器保存于预先设置的全局单例中;

    所述播放器获取子模块具体被配置为:

    在所述全局单例中保存的播放器与所述第一直播间的视频数据相匹配时,将所述全局单例中保存的播放器作为显示所述直播拉流画面的播放器。

    可选的,所述装置还包括:

    播放器释放模块,被配置为在所述全局单例中保存的播放器与所述第一直播间的视频数据不匹配时,释放所述全局单例中保存的播放器。

    可选的,所述装置还包括:

    清理模块,被配置为清理所述第一页面的业务信息。

    可选的,所述第一显示模块具体被配置为:

    将所述直播拉流画面绘制到所述第二页面中;

    控制所述第一页面的元素的透明度降低,直到所述第一页面不可见,并控制所述第二页面的元素的透明度增大,直到所述第二页面的元素的透明度达到预设值。

    可选的,所述装置还包括:

    退出控制模块,被配置为在检测到所述第一直播间的退出操作时,响应于所述退出操作,控制所述第二页面的元素的透明度降低,直到所述第二页面不可见,并控制所述第一页面的元素的透明度增大,直到所述第一页面的元素的透明度达到预设值。

    可选的,所述退出操作为滑动操作;

    所述退出控制模块在控制所述第二页面的元素的透明度降低时,具体被配置为:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第二页面的元素的透明度降低;

    所述退出控制模块在控制所述第一页面的元素的透明度增大时,具体被配置为:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第一页面的元素的透明度增大。

    根据本公开实施例的第三方面,提供一种电子设备,该电子设备包括:

    处理器;

    用于存储该处理器可执行指令的存储器;

    其中,该处理器被配置为执行所述指令,以实现本公开提供的数据的显示控制方法。

    根据本公开实施例的第四方面,提供一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备实现本公开提供的数据的显示控制方法。

    根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行时,使得电子设备能够执行如本公开提供的数据的显示控制方法。

    本公开实施例提供的技术方案,时在接收到进入第一直播间的进入操作时,响应于该进入操作,渲染第一直播间的直播拉流画面,时并在该直播拉流画面渲染完成时,显示该直播拉流画面,从而待直播拉流画面显示出来之后,显示第一直播间的业务画面。由此可见,本公开实施例提供的技术方案,进入第一直播间时,首先加载第一直播间的直播拉流画面,并在直播拉流画面显示出来之后,再加载业务画面,即加载出直播拉流画面就进行显示,而不是在加载直播流画面的同时也加载第一直播间的部分业务信息,从而缩短了加载时间,即减少了进入第一直播间的等待时间,降低了用户对进入第一直播间时页面切换的感知。

    应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

    附图说明

    图1是现有技术中直播流首帧渲染流程示意图;

    图2是现有技术中视频绘制流程示意图;

    图3是根据一示例性实施例示出的一种数据的显示控制方法的流程图;

    图4是根据一示例性实施例示出的另一种数据的显示控制方法的流程图;

    图5是本公开实施例中进入第一直播间的处理流程示意图;

    图6是本公开实施例中设置第二surface的流程示意图;

    图7是本公开实施例中获取第二页面使用的播放器的流程示意图;

    图8是根据一示例性实施例示出的一种数据的显示控制装置的框图;

    图9是根据一示例性实施例示出的一种电子设备的框图;

    图10是根据一示例性实施例示出的另一种电子设备的框图。

    具体实施方式

    为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

    需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

    为了解决现有技术中,进入直播间时的页面切换过程延迟较长的问题,本公开实施例提供了一种数据的显示控制方法、装置、电子设备及存储介质。

    根据本公开实施例的第一方面,提供了一种数据的显示控制方法,如图3所示,该数据的显示控制方法可以包括以下步骤:

    步骤301:在接收到进入第一直播间的进入操作时,响应于所述进入操作,渲染所述第一直播间的直播拉流画面。

    其中,所述进入操作可以为从直播间的预览页面进入第一直播间的操作,所述预览页面可以为显示直播间封面的页面。

    所述进入操作也可以用于指示从第一直播间的第一模式进入至第二模式。所述第一直播间以所述第一模式在第一页面中展示;所述第一直播间以所述第二模式在第二页面中展示,其中,所述第二页面包括所述直播拉流画面和所述第一直播间的业务画面。

    由上述可知,所述第一模式与所述第二模式为第一直播间两种不同的展示模式,例如第一模式为简易直播间模式,即在简易直播间模式下只显示第一直播间的直播拉流画面和部分业务信息(例如直播主题、直播用户名称),第二模式为正常直播间模式,即在正常直播间模式下显示第一直播间的直播拉流画面和全部业务信息(例如直播主题、直播用户名称、用户评论信息、直播间相关链接信息)。

    步骤302:在所述直播拉流画面渲染完成时,显示所述直播拉流画面。

    步骤303:显示所述第一直播间的业务画面。

    其中,直播拉流画面即为直播流的显示画面,亦即直播视频画面,不包括业务信息。而业务画面即为显示业务信息的画面,亦即直播间中具有用户交互功能的区域的显示画面。其中,业务信息包括第一直播间的显示元素,例如直播主题、直播用户名称、用户评论信息、点赞信息、打赏信息、观看直播间的用户信息(例如用户头像、用户名称)、直播间相关链接信息(例如商品信息、直播用户的个人信息)等。因此,业务画面可以包括前述直播主题、直播用户名称、用户评论信息、点赞信息、打赏信息、观看直播间的用户信息、直播间相关链接信息的显示画面。

    另外,显示直播拉流画面和业务画面之间的间隔时间为预设时间,其中预设时间可以为0。

    由上述可知,本公开实施例提供的数据的显示控制方法,时在接收到进入第一直播间的进入操作时,响应于该进入操作,渲染第一直播间的直播拉流画面,时并在该直播拉流画面渲染完成时,显示该直播拉流画面,从而待直播拉流画面显示出来之后,显示第一直播间的业务画面。由此可见,本公开实施例提供的数据的显示控制方法,进入第一直播间时,首先加载第一直播间的直播拉流画面,并在直播拉流画面显示出来之后,再加载业务画面,即加载出直播拉流画面就进行显示,而不是在加载直播流画面的同时也加载第一直播间的部分业务信息,从而缩短了加载时间,即减少了进入第一直播间的等待时间,降低或消除了用户对进入第一直播间时页面切换的感知。

    可选的,所述渲染所述第一直播间的直播拉流画面,包括:

    初始化所述第一直播间的第一用户界面和第一逻辑,其中,所述第一用户界面为显示所述直播拉流画面的用户界面,所述第一逻辑为所述直播拉流画面的处理逻辑;

    获取用于显示所述直播拉流画面的播放器;

    根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面。

    其中,一个直播间的显示需要多个用户界面(ui),这些ui可以是分层显示,其中,播放器ui是显示直播拉流画面的ui。业务ui是显示业务画面的ui,例如展示评论区的ui;播放器逻辑,即为直播间的直播拉流画面的显示处理逻辑,例如包括视频的渲染逻辑、画布的处理逻辑;业务逻辑为业务信息的处理逻辑,例如评论区中文字、图片的显示方式。

    如图1所示,在现有技术中,当用户进入到直播间时,先初始化整个直播间的ui,接着去执行整个直播间的初始化逻辑,再去加载播放器,等播放器资源准备完毕后,将直播画面渲染到屏幕上。但是这个流程存在一个问题,即加载播放器并不需要依赖整个直播间的ui和逻辑,只需要依赖播放器所需的资源即可。而整个直播间逻辑和ui十分复杂,所以导致加载整个直播间的ui和逻辑是一个缓慢的过程。这样最终导致切换到直播间后渲染直播流首帧的时间较长。

    而本公开的实施例中,为了尽快的让视频流渲染出来,只去初始化播放器所需的ui和逻辑(即第一用户界面和第一逻辑)。这样既保证了播放器能够顺利渲染直播流又能提升渲染速度,从而无需浪费大量的时间去初始化播放器无需的资源。

    可选的,所述显示所述第一直播间的业务画面,包括:

    初始化所述第一直播间的第二用户界面和第二逻辑,其中,所述第二用户界面为显示所述第一直播间的业务画面的用户界面,所述第二逻辑为所述业务画面的处理逻辑;

    根据所述第二用户界面和所述第二逻辑,渲染所述业务画面,并显示所述业务画面。

    由此可知,在本公开的实施例中,展示出直播拉流画面之后才展示业务画面,因此在展示页面画面时,只需要初始化业务ui和业务逻辑(即第二用户界面和第二逻辑)。

    由上述可知,本公开实施例中,如图5所示,在进入一个直播间时,首先只去初始化播放器ui和播放器逻辑,然后加载播放器,渲染直播拉流画面,待显示出直播拉流画面后,再去初始化业务ui和业务逻辑,从而可以使得播放器能够顺利渲染直播流并提升渲染速度。

    可选的,所述方法还包括:

    在初始化所述第二用户界面和所述第二逻辑的过程中检测到预设操作时,中断初始化所述第二用户界面和所述第二逻辑;

    在检测到返回所述第一直播间时,继续初始化所述第二用户界面和所述第二逻辑。

    其中,在前述进入操作用于指示从第一直播间的第一模式进入第二模式时,所述预设操作可以为从第一直播间的第二模式返回第一模式的操作,即从第一直播间的第一模式进入第二模式时,先展示直播拍摄页面,然后初始化第二用户页面和第二逻辑,以可以显示业务页面,但是在初始化第二用户界面和第二逻辑的过程中,可能会从第二模式返回第一模式,则会中断第二用户界面和第二逻辑的初始化过程,此种情况下,可以在从第一模式返回第二模式时,继续初始化第二用户界面和第二逻辑。

    另外,所述预设操作也可以为指示第一直播间进入后台运行的操作,在初始化第二用户界面和第二逻辑的过程中,第一直播间还可能会进入后台,则会中断第二用户界面和第二逻辑的初始化过程,此种情况下,可以在返回第一直播间时,继续初始化第二用户界面和第二逻辑。

    可选的,所述显示所述第一直播间的业务画面,包括:

    接收到所述进入操作之后的第一预设时间到达时,显示所述业务画面。

    例如第一预设时间为200毫秒,则从接收到进入操作开始,在200毫秒内渲染第一直播间的直播拉流画面,而在200毫秒之后再显示业务画面。

    即本公开的实施例中,待直播流已经渲染出来,再去加载业务ui和业务逻辑(即第二用户界面和第二逻辑)就不会影响到用户体验。因此,还可以在接收到进入操作时进行第一预设时间的延迟,尽最大力度保证直播间的首帧渲染不受影响。

    可选的,所述方法还包括:

    在接收到所述进入操作之后的第二预设时间到达时,时所述直播拉流画面未渲染完成,显示所述业务画面。

    即在接收到进入操作之后的第二预设时间到达时,直播拉流画面一直未渲染成功,则直接显示业务画面。

    由此可知,本公开实施例中,还可以在直播流一直未渲染成功时设置超时机制,即为了防止直播流一直加载不出来而无法顺利的加载业务ui和业务逻辑,可以在接收到进入操作时进行第二预设时间的延迟。其中,第二预设时间可以参考目前直播流的首帧的渲染时间1.2s进行设置,例如可以为1.3s。

    可选的,所述方法还包括:

    在检测到所述第一直播间暂无实时直播数据时,显示所述业务画面。

    即在接收到第一直播间的进入操作后,检测到第一直播间已暂无实时直播数据(例如已停播或者当前未直播),则无法显示第一直播间的直播拉流画面,此时可以直接显示业务画面,从而能够顺利创建直播结束页。

    可选的,直播拉流画面对应的区域显示预设画面,该预设画面用于说明停止播放直播信息,即直播结束。

    可选的,所述显示所述直播拉流画面,包括:

    将所述直播拉流画面绘制到所述第二页面中;

    控制所述第一页面的元素的透明度降低,直到所述第一页面不可见,并控制所述第二页面的元素的透明度增大,直到所述第二页面的元素的透明度达到预设值。

    即本公开的实施例中,还设置了进入第二页面时的转场动画效果,代替了原有的新页面从右到左出现覆盖旧页面的动画效果。具体的,该转场动画效果为第一页元素透明度逐渐降低至不可见,达到淡出的效果,第二页面元素透明度从不可见变为完全可见,达到淡入的效果。

    可选的,显示所述第一直播间的业务画面之后,所述方法还包括:

    在检测到所述第一直播间的退出操作时,响应于所述退出操作,控制所述第二页面的元素的透明度降低,直到所述第二页面不可见,并控制所述第一页面的元素的透明度增大,直到所述第一页面的元素的透明度达到预设值。

    即本公开的实施例中,还设置了退出第一直播间的转场动画效果,代替了原有的新页面从右到左出现覆盖旧页面的动画效果。具体的,该转场动画效果为第二页元素透明度逐渐降低至不可见,达到淡出的效果,第一页面元素透明度从不可见变为完全可见,达到淡入的效果。

    可选的,所述退出操作为滑动操作;

    所述控制所述第二页面的元素的透明度降低,包括:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第二页面的元素的透明度降低;

    所述控制所述第一页面的元素的透明度增大,包括:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第一页面的元素的透明度增大。

    即本公开的实施例中,在退出操作为滑动操作时,还可根据滑动对象距离目标屏幕上的预设位置的距离,控制前述第一页面和第二页面的透明度进行变化。

    其中,上述滑动操作还可控制从第一直播间的直播页(即第二页面)返回第一直播间的封面显示页。具体的,当该滑动操作为用户左滑手势,且用于控制从第一直播间的直播页返回第一直播间的封面显示页时,控制直播页元素的透明度和封面显示页元素的透明度随用户手势距离屏幕左侧的滑动距离而变化,滑动距离越大,直播页元素透明度越低,封面显示页元素透明度越高,滑动距离越小,直播页元素透明度越高,封面显示页元素透明度越低。

    此外,用户结束滑动手势后,还可进一步判断用户返回封面显示页还是取消返回手势,若判定用户需返回封面显示页则直播页元素透明度从当前值逐渐降低至不可见,达到淡出的效果,封面显示页元素透明度从当前值逐渐变为完全可见,达到淡入的效果;若判定用户为取消返回手势,则直播页元素透明度从当前值逐渐变为完全可见,达到淡入效果,封面显示页元素透明度从当前值逐渐变为不可见,达到淡出的效果。

    根据本公开实施例的第二方面,提供了一种数据的显示控制方法,如图4所示,该数据的显示控制方法可以包括以下步骤:

    步骤401:在接收到进入第一直播间的进入操作时,初始化所述第一直播间的第一用户界面和第一逻辑。

    其中,所述进入操作可以为从直播间的预览页面进入第一直播间的操作,所述预览页面可以为显示直播间封面的页面。

    也可以为从以第一模式展示第一直播间的页面进入以第二模式展示第一直播间的页面的操作。所述预览页面可以为显示直播间封面的页面。

    所述进入操作也可以用于指示从第一直播间的第一模式进入至第二模式。所述第一直播间以所述第一模式在第一页面中展示;所述第一直播间以所述第二模式在第二页面中展示,其中,所述第二页面包括所述直播拉流画面和所述第一直播间的业务画面。

    由上述可知,所述第一模式与所述第二模式为第一直播间两种不同的展示模式,例如第一模式为简易直播间模式,即在简易直播间模式下只显示第一直播间的直播拉流画面和部分业务信息(例如直播主题、直播用户名称),第二模式为正常直播间模式,即在正常直播间模式下显示第一直播间的直播拉流画面和全部业务信息(例如直播主题、直播用户名称、用户评论信息、点赞信息、打赏信息、观看直播间的用户信息(例如用户头像、用户名称)、直播间相关链接信息(例如商品信息、直播用户的个人信息))。

    另外,所述第一用户界面为显示所述直播拉流画面的用户界面,所述第一逻辑为所述直播拉流画面的处理逻辑。

    此外,一个直播间的显示需要多个用户界面(ui),这些ui可以是分层显示。其中,直播间的ui包括播放器ui和业务ui,直播间的处理逻辑包括播放逻辑和业务逻辑。播放器ui是显示直播拉流画面的ui。业务ui是显示业务画面的ui,例如展示评论区的ui;播放器逻辑,即为直播间的直播拉流画面的显示处理逻辑,例如包括视频的渲染逻辑、画布的处理逻辑;业务逻辑为业务信息的处理逻辑,例如评论区中文字、图片的显示方式。

    因此,上述第一用户界面即为播放器ui,第一逻辑即为播放器逻辑。

    步骤402:获取用于显示所述直播拉流画面的播放器。

    步骤403:根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面。

    如图1所示,在现有技术中,当用户进入到直播间时,先初始化整个直播间的用户界面(ui),接着去执行整个直播间的初始化逻辑,再去加载播放器,等播放器资源准备完毕后,将直播画面渲染到屏幕上。但是这个流程存在一个问题,即加载播放器并不需要依赖整个直播间的ui和逻辑,只需要依赖播放器所需的资源即可。而整个直播间逻辑和ui十分复杂,所以导致加载整个直播间的ui和逻辑是一个缓慢的过程。这样最终导致切换到直播间后渲染直播流首帧的时间较长。

    而本公开的实施例中,为了尽快的让视频流渲染出来,只去初始化播放器所需的ui和逻辑(即第一用户界面和第一逻辑)。这样既保证了播放器能够顺利渲染直播流又能提升渲染速度,从而无需浪费大量的时间去初始化播放器无需的资源。

    步骤404:在所述直播拉流画面渲染完成时,显示所述直播拉流画面。

    步骤405:显示所述第一直播间的业务画面。

    其中,直播拉流画面即为直播流的显示画面,亦即直播视频画面,不包括业务信息。而业务画面即为显示业务信息的画面,亦即直播间中具有用户交互功能的区域的显示画面。其中,业务信息包括第一直播间的显示元素,例如直播主题、直播用户名称、用户评论信息、点赞信息、打赏信息、观看直播间的用户信息(例如用户头像、用户名称)、直播间相关链接信息(例如商品信息、直播用户的个人信息)等。因此,业务画面可以包括前述直播主题、直播用户名称、用户评论信息、点赞信息、打赏信息、观看直播间的用户信息、直播间相关链接信息的显示画面。

    另外,显示直播拉流画面和业务画面之间的间隔时间为预设时间,其中预设时间可以为0。

    可选的,所述显示所述第一直播间的业务画面,包括:

    初始化所述第一直播间的第二用户界面和第二逻辑,其中,所述第二用户界面为显示所述第一直播间的业务画面的用户界面,所述第二逻辑为所述业务画面的处理逻辑;

    根据所述第二用户界面和所述第二逻辑,渲染所述业务画面,并显示所述业务画面。

    由此可知,在本公开的实施例中,展示出直播拉流画面之后才展示业务画面,因此在展示页面画面时,只需要初始化业务ui和业务逻辑(即第二用户界面和第二逻辑)。

    由上述可知,本公开实施例中,如图5所示,在进入一个直播间时,首先只去初始化播放器ui和播放器逻辑,然后加载播放器,渲染直播拉流画面,待显示出直播拉流画面后,再去初始化业务ui和业务逻辑,从而可以使得播放器能够顺利渲染直播流并提升渲染速度。

    可选的,所述方法还包括:

    在初始化所述第二用户界面和所述第二逻辑的过程中检测到预设操作时,中断初始化所述第二用户界面和所述第二逻辑;

    在检测到返回所述第一直播间时,继续初始化所述第二用户界面和所述第二逻辑。

    其中,在前述进入操作用于指示从第一直播间的第一模式进入第二模式时,所述预设操作可以为从第一直播间的第二模式返回第一模式的操作,即从第一直播间的第一模式进入第二模式时,先展示直播拍摄页面,然后初始化第二用户页面和第二逻辑,以可以显示业务页面,但是在初始化第二用户界面和第二逻辑的过程中,可能会从第二模式返回第一模式,则会中断第二用户界面和第二逻辑的初始化过程,此种情况下,可以在从第一模式返回第二模式时,继续初始化第二用户界面和第二逻辑。

    另外,所述预设操作也可以为指示第一直播间进入后台运行的操作,在初始化第二用户界面和第二逻辑的过程中,第一直播间还可能会进入后台,则会中断第二用户界面和第二逻辑的初始化过程,此种情况下,可以在返回第一直播间时,继续初始化第二用户界面和第二逻辑。

    可选的,所述显示所述第一直播间的业务画面,包括:

    接收到所述进入操作之后的第一预设时间到达时,显示所述业务画面。

    例如第一预设时间为200毫秒,则从接收到进入操作开始,在200毫秒内渲染第一直播间的直播拉流画面,而在200毫秒之后再显示业务画面。

    即本公开的实施例中,待直播流已经渲染出来,再去加载业务ui和业务逻辑(即第二用户界面和第二逻辑)就不会影响到用户体验。因此,还可以在接收到进入操作时进行第一预设时间的延迟,尽最大力度保证直播间的首帧渲染不受影响。

    可选的,所述方法还包括:

    在接收到所述进入操作之后的第二预设时间到达时,时所述直播拉流画面未渲染完成,显示所述业务画面。

    即在接收到进入操作之后的第二预设时间到达时,直播拉流画面一直未渲染成功,则直接显示业务画面。

    由此可知,本公开实施例中,还可以在直播流一直未渲染成功时设置超时机制,即为了防止直播流一直加载不出来而无法顺利的加载业务ui和业务逻辑,可以在接收到进入操作时进行第二预设时间的延迟。其中,第二预设时间可以参考目前直播流的首帧的渲染时间1.2s进行设置,例如可以为1.3s。

    可选的,所述方法还包括:

    在检测到所述第一直播间暂无实时直播数据时,显示所述业务画面。

    即在接收到第一直播间的进入操作后,检测到第一直播间已暂无实时直播数据,则无法显示第一直播间的直播拉流画面,此时可以直接显示业务画面,从而能够顺利创建直播结束页。

    可选的,直播拉流画面对应的区域显示预设画面,该预设画面用于说明停止播放直播信息,即直播结束。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,所述根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面,包括:

    设置所述第二页面的第二帧缓冲区,并释放所述第一页面的第一帧缓冲区;

    利用所述播放器对所述第一直播间的视频数据进行处理,生成可绘制数据,并将所述可绘制数据存储于所述第二帧缓冲区中;

    从所述第二帧缓冲区中读取所述可绘制数据,并根据所述第一用户界面、所述第一逻辑和所述可绘制数据,在所述第二页面中渲染所述直播拉流画面。

    在现有技术中,跨页面通常会重新加载播放器并进行拉流,导致用户不得不等待较长时间才能看到直播画面。实际上,上一个页面的播放器已经完成了播放的准备工作,如果能复用同一个播放器,就能实现音频不断,直播画面快速展示的效果,从而提升用户体验。

    如图2所示,在现有技术中,进行视频绘制时,原始视频数据会经过播放器处理,从而生成可被绘制的数据,并存储到帧缓冲区(surface)上,最后屏幕绘制的时候从surface读取数据并绘制。

    其中,播放器复用即在不同页面使用同一个实例,并为播放器设置新的surface,使其可以在新的页面上绘制。然而,现有技术中切换surface会导致播放器重置,而播放器重置是一项耗时的工作,会导致视频首帧延迟1-2s才能加载出来。

    因此,为了解决播放器复用带来的延迟问题,本公开的实施例,在设置第二页面的第二surface之前,不会释放第一页面的第一surface,从而不会导致播放器的重置。

    此外,播放器复用适用于同一个直播间在不同模式之间的切换,例如第一直播间从以第一模式展示的第一页面切换至以第二模式展示的第二页面时,可以设置第二页面的第二surface,并释放第一页面的第一surface,从而复用第一页面使用的播放器对第一直播间的视频数据进行处理,生成可绘制数据并存储在第二surface中,进而可以在屏幕绘制时从第二surface中读取可绘制数据,并根据播放器ui(即第一ui)和播放器逻辑(即第一逻辑),在第二页面中绘制直播拉流画面。

    由此可见,上述从第一页面切换至第二页面的过程中,在设置第二页面的第二surface之前,不会释放第一页面的第一surface,从而不会导致播放器的重置,因此,本公开的实施例,通过上述方式对播放器的复用,可以进一步减少直播流画面的加载时间,实现第一直播间的无缝播放。

    此外,还可设置一控制开关,当该开关开启时,表示第一直播间从上述第一页面切换至上述第二页面时,表示需要进行无缝播放,当该开关关闭时,则表示不需要无缝播放。

    具体的,在第一直播间显示上述第一页面时,若检测到进入第二页面的进入操作时,可以判断该控制开关是否开启,若开启,则在设置第二页面的第二surface的过程中,执行如图6所示的无缝播放的流程,即:在设置第二页面的第二surface时释放第一页面的第一surface;若关闭,则在设置第二页面的第二surface的过程中,执行如图6所示的非无缝播放的流程,即:释放第一页面的第一surface,设置第二页面的第二surface,重置播放器。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,在获取用于显示所述直播拉流画面的播放器之前,所述方法还包括:

    将所述第一页面使用的播放器保存于预先设置的全局单例中;

    所述获取用于显示所述直播拉流画面的播放器,包括:

    在所述全局单例中保存的播放器与所述第一直播间的视频数据相匹配时,将所述全局单例中保存的播放器作为显示所述直播拉流画面的播放器。

    其中,全局单例为多个对象可以共享的资源,本公开实施例中,将第一页面使用的播放器存储于全局单例中,则其他页面也可以使用。因此,在复用播放器时,可以从全局单例中取出播放器供第二页面使用。

    由上述可知,在播放器复用时,获取和释放播放器的流程不同,即本公开的实施例中,在第一直播间从以第一模式展示的第一页面切换至以第二模式展示的第二页面时,不去释放第一页面使用的播放器,而是将第一页面使用的播放器存储于预先设置的全局单例中,从而在展示第二页面时,再从全局单例中取出即可。

    其中,也可设置一控制开关,当该开关开启时,表示第一直播间从上述第一页面切换至上述第二页面时,表示需要复用播放器,当该开关关闭时,则表示不需要复用播放器。

    具体的,在第一直播间显示上述第一页面时,若检测到进入第二页面的进入操作时,可以判断该控制开关是否开启,若开启,则在获取第二页面使用的播放器时,执行如图7所示的无缝播放的流程,即:将第一页面使用的播放器存储于全局单例中,不释放该播放器,然后再从全局单例中取出该播放器以供第二页面使用;若关闭,则在获取第二页面使用的播放器时,执行如图7所示的非无缝播放的流程,即:释放第一页面播放器,然后创建一个新的播放器供第二页面使用。

    可选的,所述方法还包括:

    在所述全局单例中保存的播放器与所述第一直播间的视频数据不匹配时,释放所述全局单例中保存的播放器。

    其中,在第一直播间以第一模式在第一页面中展示时,若第一页面播放的是视频a,但接收到上述进入第二模式的进入操作后,该视频a被删除,第一直播间的视频流变为视频b,即第一直播间以第二模式在第二页面中展示时播放的视频却为视频b,此种情况下,则会导致全局单例中保存的播放器与当前第一直播间的视频数据不匹配,则需要释放全局单例中保存的播放器,从而重新建立播放器,以供第二页面播放视频b。

    可选的,所述将所述第一页面使用的播放器保存于预先设置的全局单例中之前,所述方法还包括:

    清理所述第一页面的业务信息。

    其中,清理的第一页面的业务信息包括对播放器生命周期的监听、埋点等,因此,在播放器复用时,需要清理第一页面的业务信息,使得第二页面所复用的是一个纯净的播放器,即避免第二页面复用播放器时发生错误。

    此外,在第一直播间从以第一模式展示的第一页面切换至以第二模式展示的第二页面时,若需要执行无缝播放的流程,则可以为第一页面使用的播放器设置预设标志位,其中,该标志位存在如下两个方面的作用:

    第一方面,记录预设标志位,则不会释放播放器,而是保存至全局单例中;

    第二方面,记录预设标志位,则设置第二页面的第二surface之前,不会释放第一页面的第一surface。

    因此,一个播放器若被记录有预设标志位,则其不会被释放,而是被保存至全局单例中,并且,在全局单例中取出该播放器后,设置新surface之前,不会释放旧surface。

    可选的,所述显示所述直播拉流画面,包括:

    将所述直播拉流画面绘制到所述第二页面中;

    控制所述第一页面的元素的透明度降低,直到所述第一页面不可见,并控制所述第二页面的元素的透明度增大,直到所述第二页面的元素的透明度达到预设值。

    即本公开的实施例中,还设置了进入第二页面时的转场动画效果,代替了原有的新页面从右到左出现覆盖旧页面的动画效果。具体的,该转场动画效果为第一页面元素透明度逐渐降低至不可见,达到淡出的效果,第二页面元素透明度从不可见变为完全可见,达到淡入的效果。

    另外,第二页面中的元素包括第一页面中的元素,且第二页面和第一页面中共有的元素在第二页面和第一页面中的显示位置相同,从而使得第一页面淡出,第二页面淡入时,第二页面和第一页面中共有的元素的变化效果更小,进而进一步降低用户感知,进一步优化页面的无缝切换。

    可选的,显示所述第一直播间的业务画面之后,所述方法还包括:

    在检测到所述第一直播间的退出操作时,响应于所述退出操作,控制所述第二页面的元素的透明度降低,直到所述第二页面不可见,并控制所述第一页面的元素的透明度增大,直到所述第一页面的元素的透明度达到预设值。

    即本公开的实施例中,还设置了退出第一直播间的转场动画效果,代替了原有的新页面从右到左出现覆盖旧页面的动画效果。具体的,该转场动画效果为第二页元素透明度逐渐降低至不可见,达到淡出的效果,第一页面元素透明度从不可见变为完全可见,达到淡入的效果。

    可选的,所述退出操作为滑动操作;

    所述控制所述第二页面的元素的透明度降低,包括:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第二页面的元素的透明度降低;

    所述控制所述第一页面的元素的透明度增大,包括:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第一页面的元素的透明度增大。

    即本公开的实施例中,在退出操作为滑动操作时,还可根据滑动对象距离目标屏幕上的预设位置的距离,控制前述第二页面和第一页面的透明度进行变化。

    其中,上述滑动操作还可控制从第一直播间的直播页(即第二页面)返回第一直播间的封面显示页。具体的,当该滑动操作为用户左滑手势,且用于控制从第一直播间的直播页返回第一直播间的封面显示页时,控制直播页元素的透明度和封面显示页元素的透明度随用户手势距离屏幕左侧的滑动距离而变化,滑动距离越大,直播页元素透明度越低,封面显示页元素透明度越高,滑动距离越小,直播页元素透明度越高,封面显示页元素透明度越低。

    此外,用户结束滑动手势后,还可进一步判断用户返回封面显示页还是取消返回手势,若判定用户需返回封面显示页则直播页元素透明度从当前值逐渐降低至不可见,达到淡出的效果,封面显示页元素透明度从当前值逐渐变为完全可见,达到淡入的效果;若判定用户为取消返回手势,则直播页元素透明度从当前值逐渐变为完全可见,达到淡入效果,封面显示页元素透明度从当前值逐渐变为不可见,达到淡出的效果。

    综上,本发明实施例的数据的显示控制方法的具体实施方式如下步骤h1~h4所述:

    步骤h1:第一直播间以第一模式在第一页面中展示于目标电子设备上时,在目标电子设备上接收到进入第一直播间的进入操作;

    其中,该进入操作于指示从第一页面进入至第一直播间的第二模式,第一直播间以第二模式在第二页面中展示,其中,所述第二页面包括直播拉流画面和第一直播间的业务画面;

    步骤h2:响应于进入操作,渲染第一直播间的直播拉流画面;

    其中,在渲染第一直播间的直播拉流画面时,按照如下过程执行:

    首先:初始化第一直播间的第一用户界面和第一逻辑,其中,第一用户界面为显示直播拉流画面的用户界面,第一逻辑为直播拉流画面的处理逻辑;

    其次:清理第一页面的业务信息;

    其次:将第一页面使用的播放器保存于预先设置的全局单例中;

    再次:在全局单例中保存的播放器与第一直播间的视频数据相匹配时,将全局单例中保存的播放器作为显示直播拉流画面的播放器(即作为第二页面使用的播放器);

    再次:设置第二页面的第二帧缓冲区,并释放第一页面的第一帧缓冲区;

    再次:利用播放器对第一直播间的视频数据进行处理,生成可绘制数据,并将可绘制数据存储于第二帧缓冲区中;

    最后:从第二帧缓冲区中读取可绘制数据,并根据第一用户界面、第一逻辑和可绘制数据,在第二页面中渲染直播拉流画面。

    其中,需要说明的是,在上述全局单例中保存的播放器与第一直播间的视频数据不匹配时,则释放全局单例中保存的播放器。

    步骤h3:在直播拉流画面渲染完成时,控制第一页面的元素的透明度降低,直到第一页面不可见,并控制第二页面的元素的透明度增大,直到第二页面的元素的透明度达到预设值。

    步骤h4:显示第一直播间的业务画面。

    其中,显示第一直播间的业务画面时,首先,初始化第一直播间的第二用户界面和第二逻辑,其中,第二用户界面为显示第一直播间的业务画面的用户界面,第二逻辑为业务画面的处理逻辑;其次,根据第二用户界面和第二逻辑,渲染业务画面,并显示业务画面。

    另外,还可设置在接收到进入操作之后的第一预设时间到达时,才显示业务画面,即才开始初始化第一直播间的第二用户界面和第二逻辑。

    而在接收到进入操作之后的第二预设时间达到时,上述直播流画面未渲染完成,则可以直接显示业务画面;或者,在检测到第一直播间暂无实时直播数据时,也可以直接显示业务画面。

    需要说明的是,在初始化第二用户界面和第二逻辑的过程中检测到预设操作时,则中断初始化第二用户界面和第二逻辑,然后在检测到返回第一直播间时,继续初始化第二用户界面和第二逻辑。

    此外,在上述目标电子设备显示上述第二页面时,若在目标电子设备上检测到滑动操作,则根据滑动操作的滑动对象距离目标电子设备的屏幕上的预设位置的距离,控制第二页面的元素的透明度降低,直到第二页面不可见,并根据滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制第一页面的元素的透明度增大,直到第一页面的元素的透明度达到预设值。

    综上所述,本公开的实施例,优先加载渲染直播流所需要的资源,防止页面元素加载时占用过多阻塞线程导致直播流渲染过慢;并且,直播间的页面切换,会逐渐隐藏掉当前页面,再逐渐展示出所要切换的页面,整个过程通过动画实现,不会出现新页面从右侧进入盖在旧页面上,即在页面切换过程中,使用透明度变化代替位移变化,以降低用户对页面切换的感知;此外,在直播间在不同模式之间切换时,可以复用在播播放器,消除重新拉流带来的播放停顿。即本公开的实施例,能够让用户点击封面后的感知是无缝衔接到直播间内,减少点击后的加载延迟,让用户进入直播间的体验更轻量化,从而提升直播封面的点击率。

    其中,经验证,应用本公开实施例提供的数据的显示控制方法,能够使得首屏总耗时波动,下降46.44%,缩短300ms;首屏渲染(render)平均耗时波动,下降43.31%;首屏准备(prepare)平均耗时波动,下降166.03%。

    因此,本公开的实施例,对于平台侧,可以在初始化阶段减少拉流带宽成本;对于用户侧,能够使得从直播封面点击进入直播间的过程动画更流畅,直播画面加载更快,降低用户点击的心理成本,提升点击率,为直播间带来更多有效的观众。

    根据本公开实施例的第三方面,提供了一种数据的显示控制装置,如图8所示,该数据的显示控制装置800包括:

    渲染模块801,被配置为时在接收到进入第一直播间的进入操作时,响应于所述进入操作,渲染所述第一直播间的直播拉流画面;

    第一显示模块802,被配置为时在所述直播拉流画面渲染完成时,显示所述直播拉流画面;

    第二显示模块803,被配置为显示所述第一直播间的业务画面。

    可选的,所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式;

    所述第一直播间以所述第一模式在第一页面中展示;

    所述第一直播间以所述第二模式在第二页面中展示,其中,所述第二页面包括所述直播拉流画面和所述第一直播间的业务画面。

    可选的,所述渲染模块801包括:

    第一初始化子模块8011,被配置为初始化所述第一直播间的第一用户界面和第一逻辑,其中,所述第一用户界面为显示所述直播拉流画面的用户界面,所述第一逻辑为所述直播拉流画面的处理逻辑;

    播放器获取子模块8012,被配置为获取用于显示所述直播拉流画面的播放器;

    第一渲染子模块8013,被配置为根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面。

    可选的,所述第二显示模块803包括:

    第二初始化子模块8031,被配置为初始化所述第一直播间的第二用户界面和第二逻辑,其中,所述第二用户界面为显示所述第一直播间的业务画面的用户界面,所述第二逻辑为所述业务画面的处理逻辑;

    第二渲染子模块8032,被配置为根据所述第二用户界面和所述第二逻辑,渲染所述业务画面,并显示所述业务画面。

    可选的,所述装置还包括:

    中断模块804,被配置为在初始化所述第二用户界面和所述第二逻辑的过程中检测到预设操作时,中断初始化所述第二用户界面和所述第二逻辑;

    中断处理模块805,被配置为在检测到返回所述第一直播间时,继续初始化所述第二用户界面和所述第二逻辑。

    可选的,所述第二显示模块803具体被配置为:

    接收到所述进入操作之后的第一预设时间到达时,显示所述业务画面。

    可选的,所述装置还包括:

    第三显示模块806,被配置为在接收到所述进入操作之后的第二预设时间到达时,时所述直播拉流画面未渲染完成,显示所述业务画面。

    可选的,所述装置还包括:

    第四显示模块807,在检测到所述第一直播间暂无实时直播数据时,显示所述业务画面。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,所述第一渲染子模块8013具体被配置为:

    设置所述第二页面的第二帧缓冲区,并释放所述第一页面的第一帧缓冲区;

    利用所述播放器对所述第一直播间的视频数据进行处理,生成可绘制数据,并将所述可绘制数据存储于所述第二帧缓冲区中;

    从所述第二帧缓冲区中读取所述可绘制数据,并根据所述第一用户界面、所述第一逻辑和所述可绘制数据,在所述第二页面中渲染所述直播拉流画面。

    可选的,在所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式时,所述装置还包括:

    播放器保存模块808,被配置为将所述第一页面使用的播放器保存于预先设置的全局单例中;

    所述播放器获取子模块8012具体被配置为:

    在所述全局单例中保存的播放器与所述第一直播间的视频数据相匹配时,将所述全局单例中保存的播放器作为显示所述直播拉流画面的播放器。

    可选的,所述装置还包括:

    播放器释放模块809,被配置为在所述全局单例中保存的播放器与所述第一直播间的视频数据不匹配时,释放所述全局单例中保存的播放器。

    可选的,所述装置还包括:

    清理模块810,被配置为清理所述第一页面的业务信息。

    可选的,所述第一显示模块802具体被配置为:

    将所述直播拉流画面绘制到所述第二页面中;

    控制所述第一页面的元素的透明度降低,直到所述第一页面不可见,并控制所述第二页面的元素的透明度增大,直到所述第二页面的元素的透明度达到预设值。

    可选的,所述装置还包括:

    退出控制模块811,被配置为在检测到所述第一直播间的退出操作时,响应于所述退出操作,控制所述第二页面的元素的透明度降低,直到所述第二页面不可见,并控制所述第一页面的元素的透明度增大,直到所述第一页面的元素的透明度达到预设值。

    可选的,所述退出操作为滑动操作;

    所述退出控制模块811在控制所述第二页面的元素的透明度降低时,具体被配置为:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第二页面的元素的透明度降低;

    所述退出控制模块811在控制所述第一页面的元素的透明度增大时,具体被配置为:

    根据所述滑动操作的滑动对象距离目标屏幕上的预设位置的距离,控制所述第一页面的元素的透明度增大。

    由上述可知,本公开实施例提供的数据的显示控制装置,时在接收到进入第一直播间的进入操作时,响应于该进入操作,渲染第一直播间的直播拉流画面,时并在该直播拉流画面渲染完成时,显示该直播拉流画面,从而待直播拉流画面显示出来之后,显示第一直播间的业务画面。由此可见,本公开实施例提供的数据的显示控制装置,进入第一直播间时,首先加载第一直播间的直播拉流画面,并在直播拉流画面显示出来之后,再加载业务画面,即加载出直播拉流画面就进行显示,而不是在加载直播流画面的同时也加载第一直播间的部分业务信息,从而缩短了加载时间,即减少了进入第一直播间的等待时间,降低了用户对进入第一直播间时页面切换的感知

    关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

    根据本公开实施例的第四方面,提供了一种电子设备。参照图9,该电子设备包括:

    处理器910;

    用于存储所述处理器可执行指令的存储器920;

    其中,所述处理器被配置为执行所述指令,以实现上述所述的数据的显示控制方法。

    根据本公开实施例的第五方面,还提供了一种电子设备。如图10所示,该电子设备1000可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

    参照图10,电子设备1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(i/o)的接口1012,传感器组件1014,以及通信组件1016。

    处理组件1002通常控制电子设备1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。

    存储器1004被配置为存储各种类型的数据以支持在电子设备1000的操作。这些数据的示例包括用于在电子设备1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

    电源组件1006为电子设备1000的各种组件提供电力。电源组件1006可以包括电源管理系统,一个或多个电源,及其他与为电子设备1000生成、管理和分配电力相关联的组件。

    多媒体组件1008包括在所述电子设备1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当电子设备1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

    音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(mic),当电子设备1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。

    i/o接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

    传感器组件1014包括一个或多个传感器,用于为电子设备1000提供各个方面的状态评估。例如,传感器组件1014可以检测到电子设备1000的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1000的显示器和小键盘,传感器组件1014还可以检测电子设备1000或电子设备1000一个组件的位置改变,用户与电子设备1000接触的存在或不存在,电子设备1000方位或加速/减速和电子设备1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

    通信组件1016被配置为便于电子设备1000和其他设备之间有线或无线方式的通信。电子设备1000可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、8g或5g),或它们的组合。在一个示例性实施例中,通信组件1016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1016还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

    在示例性实施例中,电子设备1000可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述所述的数据的显示控制方法。

    在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1004,上述指令可由电子设备1000的处理器1020执行以完成上述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

    在本公开实施的又一方面,本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述所述的数据的显示控制方法。

    根据本公开实施例的又一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述所述的数据的显示控制方法。

    在此提供的页面切换方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

    在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节时实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

    类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

    本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。

    此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

    本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开实施例的信息提取方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

    应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围时可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。


    技术特征:

    1.一种数据的显示控制方法,其特征在于,所述方法包括:

    在接收到进入第一直播间的进入操作时,响应于所述进入操作,渲染所述第一直播间的直播拉流画面;

    在所述直播拉流画面渲染完成时,显示所述直播拉流画面;

    显示所述第一直播间的业务画面。

    2.根据权利要求1所述的数据的显示控制方法,其特征在于,所述进入操作用于指示从所述第一直播间的第一模式进入至第二模式;

    所述第一直播间以所述第一模式在第一页面中展示;

    所述第一直播间以所述第二模式在第二页面中展示,其中,所述第二页面包括所述直播拉流画面和所述第一直播间的业务画面。

    3.根据权利要求1或2所述的数据的显示控制方法,其特征在于,所述渲染所述第一直播间的直播拉流画面,包括:

    初始化所述第一直播间的第一用户界面和第一逻辑,其中,所述第一用户界面为显示所述直播拉流画面的用户界面,所述第一逻辑为所述直播拉流画面的处理逻辑;

    获取用于显示所述直播拉流画面的播放器;

    根据所述第一用户界面和所述第一逻辑,并利用所述播放器渲染所述直播拉流画面。

    4.根据权利要求1或2所述的数据的显示控制方法,其特征在于,所述显示所述第一直播间的业务画面,包括:

    初始化所述第一直播间的第二用户界面和第二逻辑,其中,所述第二用户界面为显示所述第一直播间的业务画面的用户界面,所述第二逻辑为所述业务画面的处理逻辑;

    根据所述第二用户界面和所述第二逻辑,渲染所述业务画面,并显示所述业务画面。

    5.根据权利要求4所述的数据的显示控制方法,其特征在于,所述方法还包括:

    在初始化所述第二用户界面和所述第二逻辑的过程中检测到预设操作时,中断初始化所述第二用户界面和所述第二逻辑;

    在检测到返回所述第一直播间时,继续初始化所述第二用户界面和所述第二逻辑。

    6.根据权利要求1、2、3、5中任一项所述的数据的显示控制方法,其特征在于,所述显示所述第一直播间的业务画面,包括:

    接收到所述进入操作之后的第一预设时间到达时,显示所述业务画面。

    7.根据权利要求1、2、3、5中任一项所述的数据的显示控制方法,其特征在于,所述方法还包括:

    在接收到所述进入操作之后的第二预设时间到达时,所述直播拉流画面未渲染时完成,显示所述业务画面。

    8.一种数据的显示控制装置,其特征在于,所述装置包括:

    渲染模块,被配置为时在接收到进入第一直播间的进入操作时,响应于所述进入操作,渲染所述第一直播间的直播拉流画面;

    第一显示模块,被配置为时在所述直播拉流画面渲染完成时,显示所述直播拉流画面;

    第二显示模块,被配置为显示所述第一直播间的业务画面。

    9.一种电子设备,其特征在于,包括:

    处理器;

    用于存储所述处理器可执行指令的存储器;

    其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据的显示控制方法。

    10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够实现如权利要求1至7中任一项所述的数据的显示控制方法。

    技术总结
    本公开实施例提供了一种数据的显示控制方法、装置、电子设备及存储介质。该方法包括:在接收到进入第一直播间的进入操作时,响应于进入操作,渲染第一直播间的直播拉流画面;在直播拉流画面渲染完成时,显示直播拉流画面;显示第一直播间的业务画面。因此,本公开的实施例,首先加载第一直播间的直播拉流画面,并在直播拉流画面显示出来之后,再加载业务画面,即加载出直播拉流画面就进行显示,而不是在加载直播流画面的同时也加载第一直播间的部分业务信息,从而缩短了加载时间,即减少了进入第一直播间的等待时间,降低了用户对进入第一直播间时页面切换的感知。

    技术研发人员:刘江;李浩;李振;郭志强;周佳睦;李行杰;黄恒发;王梦阳;林通;杨硕
    受保护的技术使用者:北京达佳互联信息技术有限公司
    技术研发日:2020.11.13
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6475.html

    最新回复(0)