直播页面切换方法、视频页面切换方法、电子设备及存储介质

文档序号:134863 发布日期:2021-10-22 浏览:13次 >En<

阅读说明:本技术 直播页面切换方法、视频页面切换方法、电子设备及存储介质 (Live broadcast page switching method, video page switching method, electronic device and storage medium ) 是由 涂方蕾 吴伟嘉 于 2021-08-12 设计创作,主要内容包括:本申请公开一种直播页面切换方法,包括:在第一直播间的直播页面中播放第一流数据;响应于用户的滑动触摸事件,定义滑动周期内的多个滑动阶段;在用户手指在所述触屏上滑动并保持接触的第一滑动阶段,保持所述第一直播间的直播页面的播放,拉取用于相邻的第二直播间的第二流数据并在第二直播间的直播页面中播放所述第二流数据;在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标直播间。本申请还公开一种视频页面切换方法、电子设备和存储介质。本申请对直播页面之间的滑动触摸事件进行抽象,抽象出一个完整的滑动周期内的多个滑动阶段,并且利用这些阶段,在滑动中进行直播画面的加载优化。(The application discloses a live broadcast page switching method, which comprises the following steps: playing first stream data in a live broadcast page of a first live broadcast room; defining a plurality of sliding phases within a sliding cycle in response to a sliding touch event of a user; in a first sliding stage that a user finger slides on the touch screen and keeps in contact with the touch screen, the playing of a live broadcast page of the first live broadcast room is kept, second streaming data used in an adjacent second live broadcast room is pulled, and the second streaming data is played in the live broadcast page of the second live broadcast room; and in a second sliding stage after the finger of the user leaves the touch screen and before the sliding animation is finished, judging a target live broadcast room to be stopped after the sliding animation is finished. The application also discloses a video page switching method, electronic equipment and a storage medium. The method and the device abstract sliding touch events among live broadcast pages, abstract a plurality of sliding stages in a complete sliding period, and utilize the stages to carry out loading optimization on live broadcast pictures in sliding.)

直播页面切换方法、视频页面切换方法、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,具体地涉及一种直播页面切换方法以及一种视频页面切换方法。本申请还涉及相关的电子设备及存储介质。

背景技术

随着智能移动终端和移动通信技术的迅速发展,以直播为代表的流媒体技术在移动终端获得了广泛的应用。

在流媒体播放如观看直播时,用户往往既要求播放画面的高分辨率、高实时度以及高帧率,又要求播放时能够保证与主播的有效互动,这对移动终端的处理能力和通信带宽提出了高要求。

当前观众用户在移动终端中观看流媒体播放如直播时,可以通过滑动屏幕来在不同的播放页面如直播间之间切换。但是,由于如前所述地流媒体播放数据较大,对处理能力和带宽占用的要求很高,观众用户在直播间之间切换时,从进入新的直播间的进房操作到看到首帧画面,会有一段缓冲时间,严重影响用户体验。

背景技术

描述的内容仅为了便于了解本领域的相关技术,不视作对现有技术的承认。

发明内容

因此,本发明实施例意图提供一种直播页面切换方法和装置以及相关的电子设备和存储介质,其能够减轻或避免在用户切换流媒体播放页面如直播页面时产生的迟滞感以提供良好的用户体验,且不会因此过度消耗终端的处理资源和通信带宽资源。

在第一方面,提供一种直播页面切换方法,由触屏终端实施,包括:

在第一直播间的直播页面中播放第一流数据;

响应于用户的滑动触摸事件,定义滑动周期内的多个滑动阶段;

在用户手指在所述触屏上滑动并保持接触的第一滑动阶段,保持所述第一直播间的直播页面的播放,拉取用于相邻的第二直播间的第二流数据并在第二直播间的直播页面中播放所述第二流数据;

在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标直播间:

若判定所述目标直播间为第二直播间,保持所述第二直播间的第二流数据的拉取和播放;

若判定所述目标直播间为第一直播间,保持所述第一直播间的直播页面中的第一流数据的播放,停止拉取所述第二流数据。

在一些实施例中,所述直播页面切换方法还包括:

在所述第一滑动阶段,对被拉取和播放的所述第二流数据进行静音处理。

在一些实施例中,所述在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标直播间,包括:

获取用户手指离开所述触屏前预定时间段内滑动方向、滑动距离、滑动速度或加速度;

基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标直播间。

在进一步的实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标直播间,包括:

若确定所述滑动方向与所述第二直播间相对于所述第一直播间的相对位置不相反,则判定所述目标直播间为第一直播间;

若确定所述滑动方向与所述第二直播间相对于所述第一直播间的相对位置相反且所述滑动距离超过第一阈值,则判定所述目标直播间为第二直播间。

在进一步的实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标直播间,还包括:

若确定所述滑动方向与所述第二直播间相对于所述第一直播间的相对位置相反且所述滑动距离不超过所述第一阈值,则进一步确定滑动速度或加速度是否超过第二阈值;

若确定所述滑动速度或加速度超过所述第二阈值,则判定所述目标直播间为第二直播间。

在进一步的实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标直播间,还包括:

若确定所述滑动速度或加速度不超过所述第二阈值,则进一步确定滑动距离与所述滑动速度或加速度的乘积是否超过第三阈值;

若确定所述滑动距离与所述滑动速度或加速度的乘积不超过第三阈值,则判定所述目标直播间为第一直播间;

若确定所述滑动距离与所述滑动速度或加速度的乘积超过所述第三阈值,则判定所述目标直播间为第二直播间。

在一些实施例中,所述直播页面切换方法还包括:

在所述第二滑动阶段,若判定所述目标直播间为第二直播间,开启所述第二流数据的声音。

在一些实施例中,所述直播页面切换方法还包括:

在所述第二滑动阶段,若判定所述目标直播间为第二直播间,对所述第一流数据进行静音处理,停止拉取所述第一流数据,使所述第一直播间的直播页面停留在已拉取的所述第一流数据的最后一帧画面。

在一些实施例中,所述直播页面切换方法还包括:

在滑动动画结束后的第三滑动阶段,若判定所述目标直播间为第二直播间,完全显示第二直播间的直播页面并加载第二直播间的其他业务流程。

在一些实施例中,所述直播页面切换方法还包括:

在所述第三滑动阶段,若判定所述目标直播间为第二直播间,对第一直播间进行退房处理,清空并重置所述第一直播间的直播页面。

在一些实施例中,所述直播页面切换方法还包括:

在所述第二滑动阶段,若判定所述目标直播间为第一直播间,对所述第二流数据进行静音处理,使所述第二直播间的直播页面停留在已拉取的所述第二流数据的最后一帧画面。

在一些实施例中,所述直播页面切换方法还包括:

在滑动动画结束后的第三滑动阶段,若判定所述目标直播间为第一直播间,对第二直播间进行退房处理,清空并重置所述第二直播间的直播页面。

在第二方面,提供一种视频页面切换方法,包括:

在第一页面中播放第一视频;

判断准备在第二页面中播放的第二视频是否为流媒体,其中所述第二页面与所述第一页面相邻;

若所述第二视频不是流媒体,则预加载所述第二视频;

若所述第二视频为流媒体,则不预加载所述第二视频,并且

响应于用户的滑动触摸事件,定义滑动周期内的多个滑动阶段,

在用户手指在所述触屏上滑动并保持接触的第一滑动阶段,保持在所述第一页面中播放所述第一视频,拉取为流媒体的所述第二视频并在所述第二页面中播放所述第二视频,

在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标页面:

若判定所述停留的目标页面为第二页面,保持为流媒体的所述第二视频的拉取和播放,

若判定所述停留的目标页面为第一页面,停止拉取所述第二视频。

该第二方面尤其适合于可滑动切换的视频中混杂有非流媒体视频如短视频和直播的情形。

在一些实施例中,所述流媒体为直播。

在一些实施例中,若所述第二视频为流媒体,所述方法还包括:

在滑动动画结束后的第三滑动阶段,若判定所述停留的目标页面为第二页面,完全显示所述第二页面并加载所述直播的其他业务流程。

在一些实施例中,若所述第二视频为流媒体,所述方法还包括:

在滑动动画结束后的第三滑动阶段,若判定所述停留的目标页面为第一页面,对所述直播进行退房处理,清空并重置所述第二页面。

在一些实施例中,所述在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标页面,包括:

获取用户手指离开所述触屏前预定时间段内滑动方向、滑动距离、滑动速度或加速度;

基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标页面。

在进一步的实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标页面,包括:

若确定所述滑动方向与所述第二页面相对于所述第一页面的相对位置不相反,则判定所述目标页面为第一页面;

若确定所述滑动方向与所述第二页面相对于所述第一页面的相对位置相反且所述滑动距离超过第一阈值,则判定所述目标页面为第二直播间。

在进一步的实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标页面,还包括:

若确定所述滑动方向与所述第二页面相对于所述第一页面的相对位置相反且所述滑动距离不超过所述第一阈值,则进一步确定滑动速度或加速度是否超过第二阈值;

若确定所述滑动速度或加速度超过所述第二阈值,则判定所述目标页面为第二页面。

在进一步的实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标页面,还包括:

若确定所述滑动速度或加速度不超过所述第二阈值,则进一步确定滑动距离与所述滑动速度或加速度的乘积是否超过第三阈值;

若确定所述滑动距离与所述滑动速度或加速度的乘积不超过第三阈值,则判定所述目标页面为第一页面;

若确定所述滑动距离与所述滑动速度或加速度的乘积超过所述第三阈值,则判定所述目标页面为第二页面。

在第三方面,提供一种电子设备,其包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行任一本发明实施例的方法。

在第四方面,提供一种存储介质,存储有计算机程序,所述计算机程序配置成被运行时执行任一本发明实施例的方法。

在发明人知悉,当前的直播滑动切换有两种方案。

第一种方案是在滑动动画完全结束之后再开始进房拉流。然而,第一种方案一次只能播放一个直播间的视频流,需要在滑动动画结束后才开始进行下一个直播间的直播画面流数据的拉取,这种方案在滑动到新的直播间的时候,会有明显的加载等待,用户体验不佳。

第二种方案是在进入一个直播间的时候,同时拉取和缓冲当前直播间和相邻直播间的流数据,例如拉取上下两个直播间的流数据。由此,在滑动时可展示相邻直播间的缓存片段。然而,方案二在进入一个直播间时需要同时拉取多个直播间的画面流数据,对带宽有极大的浪费。如前所述,流媒体播放对于移动终端的处理能力和通信带宽有很高的要求。在用户移动终端处理能力或网络不佳的情况下,会严重影响当前直播间的画面显示。其次,如果进入直播间后,用户没有进行滑动操作,拉取的其它直播间的视频流片段完全被浪费。

本发明实施例是围绕流媒体播放如直播的流数据拉取,对触屏终端的滑动事件进行抽象:根据屏幕滑动的不同阶段,抽象出一个完整的滑动;并根据各个阶段的特点,对直播间进行不同操作。由此,本发明实施例的方案利用屏幕滑动页面的时间,根据滑动进行分阶段的直播画面的预加载优化。

本发明实施例的方案相比于当前的第一种方案能够提前布置直播流画面拉取时机,减少首帧画面的加载时长,减少滑动接受后的加载等待时间,优化用户的直播观看体验。由此,本发明方案能极大优化上下滑动时,直播首帧画面的加载时长。相比于已知的第二种方案,本发明实施例的方案在用户明确有滑动意向的时候,才进行画面拉取,没有额外的带宽浪费;而与此同时,由于拉取流数据的时间与用户滑动时间重合,相比于第二种方案并不会影响用户在切换观看不同直播间时的体验。

总之,根据本发明的一些实施例,可以充分利用用户操作页面滑动的操作耗时,在页面滑动的时候就开始静音拉取下一个直播间的流画面并提前展示,用以达到用户滑动操作结束前就已经能快速观看到下一个直播间的首帧画面的效果。与此同时,又避免了需要预拉取流媒体或其片段所需的大量内存空间,这可能会不利地影响用户体验。

本发明实施例的其他可选特征和技术效果一部分在下文描述,一部分可通过阅读本文而明白。

附图说明

以下,结合附图来详细说明本发明的实施例,所示出的元件不受附图所显示的比例限制,附图中相同或相似的附图标记表示相同或类似的元件,其中:

图1示出了能实施本发明实施例的方法的示例性直播系统;

图2示出了根据本发明实施例的方法的第一示意性流程图;

图3A和图3B分别示出了根据本发明实施例的方法的示例性流程图;

图4A示出了实施本发明实施例的方法的例子;

图4B示出了实施本发明实施例的方法的例子;

图5示出了根据本发明实施例的方法的第二示意性流程图;

图6A、图6B、图6C示出了用户在触屏终端的触屏上的滑动;

图7A示出了根据本发明实施例的装置的结构示意图;

图7B示出了根据本发明实施例的装置的结构示意图;

图8示出了根据本发明实施例的电子设备的硬件结构示意图;

图9示出了根据本发明实施例的电子设备的第一操作系统示意图;

图10示出了根据本发明实施例的电子设备的第二操作系统示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在本发明实施例中,流媒体(Streaming Media)具有本领域的常规含义,是指采用流式传输的方式在互联网上即时传输影音以供观赏的技术,此技术使得数据包得以像流水一样发送。

在本发明实施例中,直播将指网络直播。

在本发明实施例中,直播应用程序(APP)可作宽泛性解释,涵盖以直播为主要功能的APP以及具有直播功能或模块的其他类型APP。例如,在本发明的一些实施例中,所述应用程序(APP)可以为不同类型的具有直播功能或模块的APP,包括但不限于:音乐APP、社交APP、购物 APP、视频APP等。

在本发明实施例中,“直播间”可作宽泛性解释,为直播应用程序中设置的独立空间,在其中由主播用户向观众用户提供直播音视频流。在本发明实施例中,所述“直播间”涵盖普通的“直播间”以及具备直播间性质的类似直播空间,如“歌房”等。在本发明的一些实施例中,直播间也可以简称为房间。

参考图1,示出了能用于实施本发明实施例的方法的示例性直播系统 100。所述直播系统100可包括服务端101。所述直播系统100还可以包括第一终端和第二终端。具体地,第一终端可以生成并发送直播流媒体(直播画面)至服务端101;第二终端可以从服务端101接收并播放直播流媒体。

在一些实施例中,第一终端可以称为推流(终)端111、112,也可称为主播端;第二终端可以称为播放(终)端121、122、123或拉流端,也可以称为观众用户端或简称为用户端。在图1所示的实施例中显示了多个推流端111、112以及多个播放端121、122、123。

在一些实施例中,所述直播系统的服务端101、推流端111、112和播放端121、122、123可以包括多种功能模块。

直播系统100的推流端111、112、如移动终端、如智能手机可以配置的功能模块,包括但不限于采集模块、前处理模块、编码器、封装模块、推流模块。在由智能手机实现的方案中,播推流端即主播端可通过手机摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、封装,然后推流到服务端进行分发。推流端的这些功能模块可以集成在(主播端) 直播应用程序(APP)中或者由所述(主播端)直播应用程序调用移动终端底层接口实现。

在一些实施例中,直播APP的SDK可通过手机摄像头和麦克风直接采集视频数据和音频数据,视频采样数据可采用RGB或YUV格式、音频采样数据可采用PCM格式。

在一些实施例中,前处理可以包括但不限于处理滤镜、美颜、水印、模糊等效果。为了便于手机视频的推流、拉流以及存储,通常采用视频编码压缩技术来减少视频的体积。

一种示例性的视频编码为HEVC/H.265编码格式;一种示例性的音频编码为AAC编码格式,作为替代,如MP3、WMA也是可选方案。流媒体视频(含音频)经过编码压缩大大提高了视频的存储和传输效率。相应地,经过编码后的流媒体视频在播放时要进行解码。

所述推流端111、112的一个关键功能为推流(流数据推送)。在此,在推流前可以将音视频数据使用传输协议进行封装,变成流数据。示例性的流传输协议包括但不限于RTSP、HLS、RTMP、FLV(HTTP-FLV)。

RTSP(Real Time Streaming Protocol实时流协议)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。在一些实施例中,可以在基于Android的触屏终端采用所述RTSP。

HLS(HTTP Live Streaming超文本传输协议实时流)协议是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X 和iPhone软件系统的一部分。在一些实施例中,可以在基于iOS的触屏终端或Apple公司提供的触屏终端采用所述HLS。

RTMP(Real-Time Messaging Protocol实时消息传送协议)是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的协议。在一些实施例中,可以在支持Flash的触屏终端中采用所述RTMP。

FLV(Flash Video)是Adobe公司推出的另一种视频格式,是一种在网络上传输的流媒体数据存储容器格式。

在一些实施例中,推流端可以基于Qos算法将音视频流数据通过网络推送到服务端,并由所述服务端例如借助CDN分发。

直播系统100的服务端101可以配置的功能模块,包括但不限于流媒体处理系统102和业务系统103。

所述流媒体处理系统102例如可以包括多个处理模块,如转码处理模块、录制模块、加水印模块、截图模块、鉴黄模块等。

在一些实施例中,所述转码处理模块可配置成处理流数据以适配各终端和平台,例如针对以RTMP、HLS、FLV等格式传输的流数据进行转码,或者配置成支持一路转多路适配不同网络和分辨率的播放终端。在一些实施例中,可以借助实时转码技术将用户推流码率较高(比如720P)实时转化成较低清晰度(比如360P)的流以适应播放端的需求。

服务端例如可以由各种架构的一个或多个服务器以及一个或多个数据库实现。业务系统103可以为除直播流媒体处理以外的用于处理其它业务的系统,例如包括互动系统。

在直播中的交互功能是主播和观众关注的强功能。所述互动系统可包括但不限于聊天(室)模块、关注子系统、礼物子系统、集赞子系统、打榜子系统、连麦子系统、PK子系统等。在一些实施例中,在推流端和播放端可以对应服务端的业务系统配置相应的业务模块并可执行相应的业务流程。所述的业务系统可以独立于流媒体播放执行。相应地,例如可以在拉流端或播放端的直播间中提供独立于流媒体播放(直播播放)的其它业务流程。

直播系统100的播放端121、122、123可以配置的功能模块,包括但不限于拉流(流数据拉取)模块、解码器、渲染模块。

相应地,拉流(流数据拉取)是播放端的一个关键功能。在一些实施例中,其可以使用类似于上文针对推流所述的协议,例如对应于推流端所使用的协议,在此不赘述。

相应地,可以在播放端121、122、123提供解码器,其例如是采用上文针对编码所述的协议,例如是对应于推流端所使用的协议,如H.265,在此不赘述。在一些实施例中,所述编码器和解码器均为硬件编解码器;在一些实施例中,所述编码器和解码器可以基于软件或软硬件两者的结合实现。

在此,本发明实施例提供一种直播页面切换方法。本发明实施例还相应地涉及对应的装置以及实施上述方法的电子设备和存储有可执行上述方法的程序的存储介质。在一些实施例中,装置、部件、单元或模型可以由软件、硬件或软硬件结合实现。

参考图2,示出了根据本发明实施例的一种直播页面切换方法。所述方法可以由触屏终端如移动终端如智能手机实施。所述触屏终端例如为上述的播放端121、122、123或者具有上述播放端所述的功能模块。

所述方法可包括下述步骤S201至S206。

S201:在第一直播间的直播页面中播放第一流数据。

在一些实施例中,可以基于上述实施例中的直播系统或其相关功能实现所述在第一直播间的直播页面中播放第一流数据。例如,所述触屏终端可以如前所述地拉取第一流数据,并对其进行解码和播放。

在一些实施例中,所述直播页面可以通过终端操作系统的与显示窗口有关的模块或框架中实现,例如iOS的UIKit框架或Android的视图系统(Views System)框架,如参考图9或图10。

S202:响应于用户的滑动触摸事件,定义滑动周期内的多个滑动阶段。

在一些实施例中,所述滑动触摸事件属于触摸事件中的一种;所述触摸事件例如是在触屏终端的操作系统中定义的事件。在一些实施例中,通过调用,触摸事件可以向直播APP返回触摸事件数据,其例如包括触摸事件类型(即触摸手势)和触摸坐标。

在本发明的实施例中,例如从操作系统直接获得的触摸事件数据可包括直接获得的触摸事件类型,例如触摸或手势。相应地,从操作系统直接获得的触摸事件数据还可包括相应触摸或手势的坐标。

在一些实施例中,所述触摸事件数据还包括触摸时间特征,例如触摸起始时间、触摸时长和/或触摸终止时间。在本发明的实施例中,所述触摸事件数据可以为直播应用程序从触屏终端的操作系统层面接口直接获得的数据。

例如,在一些实施例中,例如在iOS操作系统平台下的触屏终端中,直播应用程序可以通过iOS的触摸层的UIKit框架获取所述触摸事件数据,即调用返回的触摸事件数据。图9示出了示例性的iOS操作系统平台的示意图,这将在下文进一步描述。例如在iOS操作系统下,尤其是在UIKit框架下,例如可以使用多种指令实现触摸事件数据的获取。例如,在一些实施例中可以利用命令获取手势形式的触摸事件数据。例如,可以使用UIKit下的类UIGestureRecognizer及其子类UISwipeGestureRecognizer(滑动)等。例如,在另一些实施例中,可以利用命令获取上述触摸形式的触摸事件数据。例如可以使用UIKit下的属性UITouch及子属性UITouchPhaseBegan(触摸开始)、UITouchPhaseMoved(触摸点移动)、UITouchPhaseStationary(触摸点无移动)、UITouchPhaseEnded(触摸结束)、UITouchPhaseCancelled(触摸取消)、tapCount(点击屏幕的次数)、timeStamp(触摸开始时间)。在一些具体实施例中,所述触摸事件及其相关数据例如可以在iOS系统中通过调用UIKit框架的UIScrollView组件获得。

在一些实施例中,例如在安卓(Android)操作系统平台下的触屏终端中,直播应用程序可以通过安卓的框架层中的视图系统(Views System)框架获取所述触摸事件数据。图10示出了示例性的安卓操作系统平台的示意图,这将在下文进一步描述。在一些具体实施例中,所述触摸事件及其相关数据例如可以在Android系统中通过调用视图系统(ViewsSystem)框架的 viewpager2组件获得。

本领域技术人员将明白,在iOS或安卓或其他操作系统下,可以采用其他的命令指令提取触摸事件数据。

在一些实施例中,在本发明实施例中,例如在iOS操作系统或其他操作系统平台下,所述触摸事件类型可以是滑动(Swipe),并可以具有相应的坐标。例如,在滑动(Swipe)中,触摸事件数据可以包括[Swipe, (X0,Y0)···(X1,Y1)],其中(X0,Y0)为起点坐标,(X1,Y1)为终点的坐标,以及可选地可包括多个中间坐标。

在本发明的一些实施例中,触摸事件数据还可以包括其他特征,例如时间特征、压力特征等。例如,可以借助时间特征区分拖动和滑动;可以基于时间特征和/或压力特征区分长按和点击。

在本发明的一些实施例中,还可以想到从操作系统接口获取的其他的触摸事件类型的形式或上述形式的结合以及其他的坐标形式或其他特征,用于本发明的滑动的相应动作,这落入发明的范围内。

此外,作为解释地,例如在iOS操作系统中,当应用程序发生事件响应时,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类(如前所述的UIGestureRecognizer),响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会。当发生事件时,事件首先被发送给第一响应者,第一响应者往往是事件发生的视图,也就是用户触摸屏幕的地方。事件将沿着响应者链一直向下传递,直到被接受并做出处理。

一个典型的相应路线图如:

First Responser-->The Window-->The Application-->App Delegate

本领域技术人员将明白,在所述应用程序的功能性使用中,例如用户通过触摸访问应用程序的页面时,可以基于类似的响应链进行处理,并且可以使用类似上述的触摸响应指令从操作系统获取触摸事件数据,并且应用程序的功能模块、如页面及其元素相应地响应。在本发明的教导下,本领域技术人员将明白,根据本发明实施例的方法可以独立于功能模块的触摸响应指令检测触摸事件并提取触摸事件数据,或者共享功能模块的触摸响应指令来检测触摸事件并提取触摸事件数据以用于根据本发明实施例的方法,但是该检测和提取不影响功能模块对触摸事件的响应以及正常的功能性使用。

在本发明的一些实施例中,针对滑动触摸事件定义了滑动周期内的多个滑动阶段,其可以包括用户手指在所述触屏上滑动并保持接触的第一滑动阶段、在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段以及可选的滑动动画结束后的第三滑动阶段。

S203:在用户手指在所述触屏上滑动并保持接触的第一阶段,保持所述第一直播间的直播页面的播放,拉取用于相邻的第二直播间的第二流数据并在第二直播间的直播页面中播放所述第二流数据。

在本发明的实施例中,用户手指在触屏上滑动并保持接触的确认可以基于上述的滑动触摸事件及其数据来确定,例如通过调用UIScrollView(iOS) 或viewpager2(Android)实现。

在本发明一些实施例中,所述第二直播间为与第一直播间相邻的直播间。在本发明的一些实施例中,所述第二直播间是基于滑动方向确定的,例如基于上下滑动切换,为下面或上面的直播间;基于左右滑动切换,为右边或左边的直播间。本领域技术人员讲明白,在所述第一阶段,第二直播间可能会因为用户手指上下滑动(但仍保持触控时)而变换,例如在初期手指向上滑动(保持接触),则拉取下面的直播间的流数据,而随着手指向下滑动,则拉取上面的直播间的流数据。

可选地,在一些实施例中,所述方法还可以包括:

A1:在所述第一阶段,对被拉取和播放的所述第二流数据进行静音处理。

S204:在用户手指离开所述触屏后且滑动动画结束前的第二阶段,判断所述滑动动画结束后将停留的目标直播间。

在本发明的实施例中,用户手指离开所述触屏后以及滑动动画结束同样可以基于上述的滑动触摸事件及其数据来确定,例如通过调用 UIScrollView(iOS)或viewpager2(Android)实现。

在本发明的实施例中,滑动动画结束后将停留的目标直播间的判断同样可以基于上述的滑动触摸事件及其数据来确定,例如通过调用 UIScrollView(iOS)或viewpager2(Android)实现。作为示例性的例子,可以通过直接调用所述UIScrollView(iOS)或viewpager2(Android)的返回值确定获得触摸事件数据以及数据的衍生值(如坐标、方向、距离、速度或加速度)确定。

在一些实施例中,如图3A所示,所述在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标直播间,包括:

S301:获取用户手指离开所述触屏前预定时间段内滑动方向、滑动距离、滑动速度或加速度;

在一些实施例中,所述用户手指离开所述触屏前预定时间段为在用户手指离开触屏时刻往前的一段时间,如T=[t1,toff],其中toff例如为在触摸事件中手指离开触屏时刻,t1为时间段起始节点。在一些实施例中,时间段T 的长度可以根据需要设定。

在一些实施例中,所述滑动方向、滑动距离、滑动速度或加速度可以由前述触摸事件数据直接得到或衍生而得(如计算而得)。

在一些实施例中,所述滑动方向可以根据直播或视频流的延伸方向决定,例如为两个延伸方向之一。例如,跟进直播或视频流是上下分布或左右分布,所述滑动方向可以选自上滑和下滑之一,或左滑和右滑之一。由此,本领域技术人员将明白,所述滑动方向可以是总体的滑动方向,而不必是严格取向。如图6A示出了用户在触屏终端600的触屏上的滑动方向d1和d2,其中d1为上滑,d1为下滑。

在一些实施例中,所述滑动方向例如可以根据直接获取的触摸事件数据中的坐标数据确定。

S302:基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标直播间。

在一些实施例中,可以基于多阈值来判断所述目标直播间。

在一些实施例中,所述基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标直播间,可以包括多个维度的判断,如滑动方向判断、滑动距离判断、滑动速度或加速度判断以及距离和(加)速度综合判断。

例如,可以判断在该时间段内滑动方向是否与所述第二直播间相对于所述第一直播间的相对位置相反。如前所述地,所述滑动方向可以是总体的滑动方向,可能会忽略偏斜或细微的往复波动。

例如,所述步骤S302可包括:

若确定所述滑动方向与所述第二直播间相对于所述第一直播间的相对位置不相反,则判定所述目标直播间为第一直播间。

若确定所述滑动方向与所述第二直播间相对于所述第一直播间的相对位置相反且所述滑动距离超过第一阈值,则判定所述目标直播间为第二直播间。

如图3B所示,在S3021判断滑动方向是否相反,若否,则在S3022确定目标直播间为第一直播间,若是,则在S3023进一步判断滑动距离是否超过第一阈值;若滑动距离超过第一阈值,则在S3024确定目标直播间为第二直播间。

在此,结合参考图2、图3A-3B和图6A,在本发明实施例中,所拉取的第二直播间的位置将与在滑动开始时的滑动方向相反。例如图6A所示,在滑动开始时向上滑动(上滑)d1将拉取位于第一直播间下方的相邻第二直播间;相应地,在未示出的实施例中,在滑动开始时向下滑动(下滑)将拉取位于第一直播间上方的相邻第二直播间。

在此,作为解释而非限制的,当用户对于第一直播间更感兴趣/对于第二直播间不感兴趣时,用户可能会试图在用户手指离开所述触屏前预定时间段内向返回第一直播间的方向滑动,即该时间段内的(总体)滑动方向与第二直播间不相反,如图6A所示,在所述时间段内向下滑动d2(与下方的第二直播间不相反),此时可以确定目标直播间为第一直播间,由此可以在第二滑动阶段和/或第三滑动阶段进行相应的直播间处理。

在本发明的进一步实施例中,用户可能会在用户手指离开所述触屏前预定时间段内继续朝拉取第二直播间的方向滑动,即该时间段内的(总体) 滑动方向与第二直播间的相对位置相反,此时可以进一步判断。

在此,例如,可以判断在该时间段内的滑动距离是否超过预定的第一、距离阈值。

作为解释而非限制的,当用户对于第二直播间更感兴趣/对于第一直播间不感兴趣时,用户可能会在用户手指离开所述触屏前预定时间段内继续朝拉取第二直播间的方向滑动一段明显的距离,在此可通过判断该时间段内判断用户的滑动距离获知其意图以便进行相应的直播间处理,如图6B所示,在所述时间段内滑动距离l大于预定距离阈值lt,此时可以确定目标直播间为第二直播间。

可选地,如图3B进一步示出,所述步骤S302,还可包括:

若确定所述滑动方向与所述第二直播间相对于所述第一直播间的相对位置相反且所述滑动距离不超过所述第一阈值,则进一步确定滑动速度或加速度是否超过第二阈值;

若确定所述滑动速度或加速度超过所述第二阈值,则判定所述目标直播间为第二直播间。

继续参考图3B,若滑动距离未超过第一阈值,在S3025判断滑动(加) 速度是否超过第二阈值,若滑动(加)速度超过第二阈值,则在S3026确定目标直播间为第二直播间。

在此,作为解释而非限制的,用户可能会在用户手指离开所述触屏前预定时间段内继续朝拉取第二直播间的方向滑动的距离不明显,由此可以进行进一步的判断。

例如图3B所示,可以判断在该时间段内的滑动速度或加速度是否超过预定的第二、(加)速度阈值。

作为解释而非限制的,当用户对于第二直播间更感兴趣/对于第一直播间不感兴趣时,用户可能会在用户手指离开所述触屏前预定时间段内朝拉取第二直播间的方向会有较快的末段滑动(加)速度,在此可通过判断该时间段内判断用户的滑动(加)速度获知其意图以便进行相应的直播间处理,如图6C所示,在所述时间段内滑动速度v大于预定速度阈值vt和/或滑动加速度a大于预定加速度阈值at,此时可以确定目标直播间为第二直播间。

作为解释而非限制的,用户在用户手指离开所述触屏前预定时间段内朝拉取第二直播间的方向下的末段滑动(加)速度也不够明显,例如(加) 速度不超过预定的(加)速度阈值,此时可判断距离与(加)速度的综合值 (乘积)是否超过预定的第三阈值。

可选地,如图3B进一步示出,所述步骤S302,还可包括:

若确定所述滑动速度或加速度不超过所述第二阈值,则进一步确定滑动距离与所述滑动速度或加速度的乘积是否超过第三阈值;

若确定所述滑动距离与所述滑动速度或加速度的乘积不超过第三阈值,则判定所述目标直播间为第一直播间;

若确定所述滑动距离与所述滑动速度或加速度的乘积超过所述第三阈值,则判定所述目标直播间为第二直播间。

继续参考图3B,若滑动(加)速度未超过第二阈值,在S3027判断滑动距离与滑动(加)速度的乘积是否超过第三阈值,若超过第三阈值,则在 S3028确定目标直播间为第二直播间,若不超过第三阈值,则在S3029确定目标直播间为第一直播间。

在此,作为解释而非限制的,通过判断距离与(加)速度的综合值(乘积)能够有效消除对用户意图的误判,由此根据本发明的方法可以相应地根据对于目标直播间的判定进行相应的直播间处理。

S205:若判断所述目标直播间为第二直播间,在所述第二阶段,保持所述第二直播间的第二流数据的拉取和播放。

可选地,所述方法还可以包括:

B1:若判断所述目标直播间为第二直播间,在所述第二阶段,开启所述第二流数据的声音。

可选地,所述方法还可以包括:

B2:在所述第二阶段,若判断所述目标直播间为第二直播间,对所述第一流数据进行静音处理,停止拉取所述第一流数据,使所述第一直播间的直播页面停留在已拉取的所述第一流数据的最后一帧画面。

S206:若判断所述目标直播间为第一直播间,在所述第二阶段,保持所述第一直播间的直播页面中的第一流数据的播放,停止拉取所述第二流数据。

可选地,在一些实施例中,所述方法还可以包括:

C1:若判断所述目标直播间为第一直播间,在所述第二阶段,对所述第二流数据进行静音处理,使所述第二直播间的直播页面停留在已拉取的所述第二流数据的最后一帧画面。

可选地,在一些实施例中,所述滑动还可以包括如前所述的第三阶段。在本发明的实施例中,所述第三阶段未规定终点,可以在相关动作完成后视作阶段的结束。在一些实施例中,针对不同直播间,第三阶段可能有不同的结束点。在此,所述方法还可以包括S207至S208。

S207:若判断所述目标直播间为第二直播间,在滑动动画结束后的第三阶段,完全显示第二直播间的直播页面并加载第二直播间的其他业务流程。

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

D1:在所述第三阶段,若判断所述目标直播间为第二直播间,对第一直播间进行退房处理,清空并重置所述第一直播间的直播页面。

S208:若判断所述目标直播间为第一直播间,在滑动动画结束后的第三阶段,对第二直播间进行退房处理,清空并重置所述第二直播间的直播页面。

在本发明的实施例中,将可以理解,在所述第一和第二阶段中,所述第一和第二直播间各自的直播页面均为部分显示(部分窗口),例如其显示可以基于移动终端操作系统(iOS或安卓)的部分视图实现方式来实现。

在本发明的一些实施例中,可以针对不同的直播间设置不同的进程,且可选地还可以为此进程配设各自的视图(view),并且针对这些直播间进程均适用所述滑动及其各阶段。由此,在根据本发明实施例的滑动结合独立进程及视图的情况下,能够提供一种结构简单且占用资源进一步减少的直播(播放)架构。

下面参考图4A和图4B,其示出了实施本发明实施例的方法的例子。在所述例子中,可以针对滑动的各阶段,配置相应的执行动作,获得了进一步的有益效果。

在图4A所示的示例中,在第0阶段(作为解释而非限制,该第0阶段仅为了体现尚未触发滑动事件,其不构成滑动),直播间A(第一直播间)在前端播放直播流媒体视频,此时直播间A的播放页面/视图全部显示,这例如在第一进程(主进程)中执行。在该第0阶段,下面的直播间 B(第二直播间)尚未创建。例如,尚未创建针对第二直播间的第二进程 (子进程),或者另外的进程尚未加载第二直播间的相关数据;类似地,在此尚未创建针对第二直播间的第二播放页面(视图),或者第二播放页面(视图)已被清空/重置,而未加载第二直播间的画面。

继续参考图4A,用户向上滑动屏幕,但是在第二阶段中判断最后停留的直播间为相邻的第二直播间(下面的直播间),以此描述了直播页面切换的一个示例,且包括多个与滑动相关的执行动作:

展示(onAppear):当用户开始滑动,下一个直播间B视图开始展示时会触发这个动作,在该第一阶段,会开始拉取直播间B的流画面,并且对直播间B进行静音操作,避免有两条声音流同时播放。

页面触发(onPageActivated):当用户松手时且滑动动画尚未完成,此时处于所述第二阶段,将根据判断结果对于相应的直播间执行该动作。在图4A所示的示例中,判断滑动结束后将停留在直播间B,由此对于所述直播间B会执行所述动作,此时持续拉取直播间B的流数据并进行播放。在该阶段(执行所述动作时),会开启直播间B的声音播放,由此实现全流程进房。

页面未触发(onPageUnactivated):这个方法跟onPageActivated对应,当用户松手时且滑动动画尚未完成,此时处于所述第二阶段,将根据判断结果对于相应的直播间执行该动作。在图4A所示的实施例中,系统判断滑动结束后不会显示直播间A,由此对于所述直播间A会执行所述动作。在该阶段(执行所述动作时),未被选中直播间A将会被静音,同时停止拉取直播间A的流数据,保留最后一帧画面。

完全显示(onCompleteShow):当滑动组件滑动动画停止后的第三阶段,根据前述判断结果,对于视图完全展示的直播间B执行所述动作。在该阶段(执行所述动作时),开始处理直播间B的其他业务流程,包括弹幕,主播信息等。

消失(onDisappear):当滑动组件滑动动画停止后的第三阶段,根据前述判断结果,对于直播间视图完全移出屏幕的直播间A执行所述动作,在该阶段(执行所述动作时),直播间A将进行退房处理和对应所述直播间A的视图的进行清空/重置。如前所述,该被清空/重置的视图(以及可能的进程)可被用于下次页面切换时的另外的直播间。

在图4B所示的示例中,类似于图4A,在第0阶段(作为解释而非限制,该第0阶段仅为了体现尚未触发滑动事件,其不构成滑动),直播间A(第一直播间)在前端播放直播流媒体视频,此时直播间A的播放页面/视图全部显示,这例如在第一进程(子进程)中执行。在该第0阶段,下面的直播间B(第二直播间)尚未创建。例如,尚未创建针对第二直播间的第二进程(子进程),或者另外的进程尚未加载第二直播间的相关数据;类似地,在此尚未创建针对第二直播间的第二播放页面(视图),或者第二播放页面(视图)已被清空/重置,而未加载第二直播间的画面。

继续参考图4B,用户向上滑动屏幕,但是在第二阶段中判断最后停留的直播间为相邻的第二直播间(下面的直播间),以此描述了直播页面切换的一个示例,且包括多个与滑动相关的执行动作:

展示(onAppear):当用户开始滑动,类似于图4A,下一个直播间B 视图开始展示时会触发这个动作,在该第一阶段,会开始拉取直播间B的流画面,并且对直播间B进行静音操作,避免有两条声音流同时播放。

页面触发(onPageActivated):当用户松手时且滑动动画尚未完成,此时处于所述第二阶段,将根据判断结果对于相应的直播间执行该动作。在图4B所示的示例中,判断滑动结束后将停留在直播间A,由此对于所述直播间A会执行所述动作,此时持续拉取位于前端的直播间A的流数据并进行播放。在该阶段(执行所述动作时),即保持直播间A始终位于前端,而无需作其它操作。

页面未触发(onPageUnactivated):这个方法跟onPageActivated对应,当用户松手时且滑动动画尚未完成,此时处于所述第二阶段,将根据判断结果对于相应的直播间执行该动作。在图4B所示的实施例中,系统判断滑动结束后不会显示直播间B,由此对于所述直播间B会执行所述动作。在该阶段(执行所述动作时),未被选中直播间B将会被静音,同时停止拉取直播间B的流数据,保留最后一帧画面。

完全显示(onCompleteShow):当滑动组件滑动动画停止后的第三阶段,根据前述判断结果,对于视图完全展示的直播间A执行所述动作。在该阶段(执行所述动作时),鉴于原来就位于前端的直播间A已经加载所有的业务流程,因此无需作其它操作。

消失(onDisappear):当滑动组件滑动动画停止后的第三阶段,根据前述判断结果,对于直播间视图完全移出屏幕的直播间B执行所述动作,在该阶段(执行所述动作时),直播间B将进行退房处理和对应所述直播间B的视图的进行清空/重置。如前所述,该被清空/重置的视图(以及可能的进程)可被用于下次页面切换时的另外的直播间。

结合图4A和图4B所示的例子,人们将明白,可以针对直播间A和 B分别分配子进程和/或视图,并且可以针对相同的一套分阶段动作逻辑选择性执行(即onAppear、onPageActivated、onPageUnactivated、 onCompleteShow、onDisappear),这样的体系架构清晰明了,最大化地避免了系统资源的消耗。

本领域技术人员明白,在具体示例中,可以根据具体情况适用向下滑动或向左右滑动。

在本发明的另一些实施例中,还可以提供一种视频页面切换方法,例如为混杂有直播的视频如短视频页面切换方法。在一些视频类应用程序中,如短视频APP中,可能在短视频瀑布流页面中含有直播页面。根据本发明实施例的方案可以适用于这种场景。

如图5所示,所述视频页面切换方法可包括

S501:在第一页面中播放第一视频;

S502:判断准备在第二页面中播放的第二视频是否为流媒体,其中所述第二页面与所述第一页面相邻:

S503:若所述第二视频不是流媒体,则预加载所述第二视频;

S504:若所述第二视频为流媒体,则不预加载所述第二视频,并且

S505:响应于用户的滑动触摸事件,定义包括多个阶段的滑动,

S506:在用户手指在所述触屏上滑动并保持接触的第一阶段,保持在所述第一页面中播放所述第一视频,拉取为流媒体的所述第二视频并在所述第二页面中播放所述第二视频,

S507:在用户手指离开所述触屏后且滑动动画结束前的第二阶段,判断所述滑动动画结束后将停留的目标页面:

S508:若判断所述停留的目标页面为第二页面,保持为流媒体的所述第二视频的拉取和播放,

S509:若判断所述停留的目标页面为第一页面,停止拉取所述第二视频。

在一些实施例中,所述流媒体为直播,例如为前述的直播。

在一些实施例中,若所述第二视频为流媒体如直播,所述方法还包括:

E1:在滑动动画结束后的第三阶段,若判断所述停留的目标页面为第二页面,完全显示所述第二页面并加载所述直播的其他业务流程。

在一些实施例中,若所述第二视频为流媒体如直播,所述方法还包括:

F1:在滑动动画结束后的第三阶段,若判断所述停留的目标页面为第一页面,对所述直播进行退房处理,清空并重置所述第二页面。

类似于图2和图3所示的实施例,在一些实施例中,所述在用户手指离开所述触屏后且滑动动画结束前的第二滑动阶段,判断所述滑动动画结束后将停留的目标页面,可包括:

G1:获取用户手指离开所述触屏前预定时间段内滑动方向、滑动距离、滑动速度或加速度;

G2:基于所述滑动方向、滑动距离、滑动速度或加速度判断所述滑动动画结束后将停留的目标页面。

在进一步的实施例中,所述步骤G2可包括:

G21:若确定所述滑动方向与所述第二页面相对于所述第一页面的相对位置不相反,则判定所述目标页面为第一页面;

G22:若确定所述滑动方向与所述第二页面相对于所述第一页面的相对位置相反且所述滑动距离超过第一阈值,则判定所述目标页面为第二直播间。

在进一步的实施例中,所述步骤G2还可包括:

G23:若确定所述滑动方向与所述第二页面相对于所述第一页面的相对位置相反且所述滑动距离不超过所述第一阈值,则进一步确定滑动速度或加速度是否超过第二阈值;

G24:若确定所述滑动速度或加速度超过所述第二阈值,则判定所述目标页面为第二页面。

在进一步的实施例中,所述步骤G2还可包括:

G25:若确定所述滑动速度或加速度不超过所述第二阈值,则进一步确定滑动距离与所述滑动速度或加速度的乘积是否超过第三阈值;

G26:若确定所述滑动距离与所述滑动速度或加速度的乘积不超过第三阈值,则判定所述目标页面为第一页面;

G27:若确定所述滑动距离与所述滑动速度或加速度的乘积超过所述第三阈值,则判定所述目标页面为第二页面。

在此方案中,可以针对占用资源小的相邻视频如短视频进行前端播放时的预加载,而对占用资源大的相邻流媒体如直播进行如本发明实施例所述的基于滑动的加载,这可以具有良好的用户体验的同时,保持了最小化的资源占用。

在本发明的一些实施例中,如图7A所示,还提供一种直播页面切换装置700,其例如可以是用于触屏终端。所述直播页面切换装置700可包括播放单元710、滑动管理器720、第一执行器730、判断器740、第二执行器 750。

在图7所示的实施例中,所述播放单元710配置成在第一直播间的直播页面中播放第一流数据。所述滑动管理器720配置成响应于用户的滑动触摸事件,定义包括多个阶段的滑动。例如用于执行第一阶段动作的所述第一执行器730配置成在用户手指在所述触屏上滑动并保持接触的第一阶段,保持所述第一直播间的直播页面的播放,拉取用于相邻的第二直播间的第二流数据并在第二直播间的直播页面中播放所述第二流数据。所述判断器740配置成在用户手指离开所述触屏后且滑动动画结束前的第二阶段,判断所述滑动动画结束后将停留的目标直播间。例如用于执行第二阶段动作的所述第二执行器750可配置成若判断所述目标直播间为第二直播间,保持所述第二直播间的第二流数据的拉取和播放;若判断所述目标直播间为第一直播间,保持所述第一直播间的直播页面中的第一流数据的播放,停止拉取所述第二流数据。

在本发明的一些实施例中,如图7B所示,还提供一种视频页面切换装置700’,其例如可以是用于触屏终端。所述视频页面切换装置700’例如可以适用于兼容直播的视频如短视频播放切换解决方案。所述视频页面切换装置700’例如可包括播放单元710’、第一判断器720’、加载单元730’、滑动管理器740’、第一执行器750、第二判断器760’、第二执行器770’。

在一些实施例中,所述播放单元710’配置成在第一页面中播放第一视频。所述第一判断器720’配置成判断准备在第二页面中播放的第二视频是否为流媒体,其中所述第二页面与所述第一页面相邻。所述加载单元730’配置成若所述第二视频不是流媒体,则预加载所述第二视频,若所述第二视频为流媒体,则不预加载所述第二视频。所述滑动管理器740’配置成响应于用户的滑动触摸事件,定义包括多个阶段的滑动。例如用于执行第一阶段动作的所述第一执行器750’配置成在用户手指在所述触屏上滑动并保持接触的第一阶段,保持在所述第一页面中播放所述第一视频,拉取为流媒体的所述第二视频并在所述第二页面中播放所述第二视频。所述第二判断器760’配置成在用户手指离开所述触屏后且滑动动画结束前的第二阶段,判断所述滑动动画结束后将停留的目标页面。例如用于执行第二阶段动作的所述第二执行器770’配置成若判断所述停留的目标页面为第二页面,保持为流媒体的所述第二视频的拉取和播放,若判断所述停留的目标页面为第一页面,停止拉取所述第二视频。

本领域技术人员将明白,在不引起矛盾的情况下,本实施例的装置可以结合其他实施例所述的方法特征,反之则反。

在本发明的实施例中提供了一种电子设备,其例如为触屏终端。在本发明的一个优选实施例中,所述触屏终端为移动终端,优选可以为手机。仅作为示例性的实现方案,图8示出了触屏终端、如移动终端800的一个具体实施例的硬件结构示意图;而图9和图10示出了触屏设备、如移动终端的一个具体实施例的系统结构示意图。

在所示出的实施例中,移动终端800可以包括处理器801、外部存储器接口812、内部存储器810、通用串行总线(USB)接口813、充电管理模块814、电源管理模块815、电池816、移动通信模块840、无线通信模块 842、天线839和841、音频模块834、扬声器835、受话器836、麦克风 837、耳机接口838、按键809、马达808、指示器807、用户标识模块 (SIM)卡接口811、显示屏805、摄像装置806,以及传感器模块820 等。

可以理解的是,本申请实施例示意的结构并不构成对移动终端800的具体限定。在本申请另一些实施例中,移动终端800可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

在一些实施例中,处理器801可以包括一个或一个以上处理单元。在一些实施例中,处理器801可以包括以下之一或以下至少两种的组合:应用处理器(AP)、调制解调处理器、基带处理器、图形处理器(GPU)、图像信号处理器(ISP)、控制器、存储器、视频编解码器、数字信号处理器 (DSP)、基带处理器、神经网络处理器(NPU)等。不同的处理单元可以是独立的器件,也可以集成在一个或一个以上处理器中。

控制器可以是移动终端800的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器中的存储器为高速缓冲存储器。该存储器可以保存处理器刚用过或循环使用的指令或数据。如果处理器需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器801的等待时间,因而提高了系统的效率。

NPU为神经网络(NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断地自学习。

GPU为图像处理的微处理器,连接显示屏和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

数字信号处理器(ISP)用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。

在一些实施例中,处理器801可以包括一个或多个接口。接口可以包括集成电路(I2C)接口、集成电路内置音频(I2S)接口、脉冲编码调制 (PCM)接口、通用异步收发传输器(UART)接口、移动产业处理器接口(MIPI)、通用输入输出(GPIO)接口、用户标识模块(SIM)接口、通用串行总线(USB)接口等。

可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对移动终端的结构限定。在本申请另一些实施例中,移动终端也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

移动终端800的无线通信功能可以通过天线839和841、移动通信模块840、无线通信模块842、调制解调处理器或基带处理器等实现。

移动终端800可以通过音频模块、扬声器、受话器、麦克风、耳机接口,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。

麦克风用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风发声,将声音信号输入到麦克风。

传感器模块820可包括下述传感器中的一个或多个:

压力传感器823配置为感受压力信号,将压力信号转换成电信号。

气压传感器824用于测量气压。

磁传感器825包括霍尔传感器。

陀螺仪传感器827可以用于确定移动终端800的运动姿态。

加速度传感器828可检测移动终端800在各个方向上加速度的大小。

距离传感器829可配置为测量距离。

接近光传感器821可以包括例如发光二极管(LED)和光检测器,例如光电二极管。

环境光传感器822用于感知环境光亮度。

指纹传感器831可配置为采集指纹。

触摸传感器832可以设置于显示屏,由触摸传感器与显示屏组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定根据本发明实施例所述的触摸事件类型,例如单击、双击、长按、旋转、滑动、缩放等等。

骨传导传感器833可以获取振动信号。

电子设备(计算机)、如移动终端的软件操作系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。

本文所示的实施例以分层架构的分别以iOS和安卓操作系统平台为例,示例性说明移动终端的软件结构。但可以想到,本文的实施例可以在不同的软件操作系统中实施。

在图9所示的实施例中,本发明实施例的方案可以采用iOS操作系统。iOS操作系统采用四层架构,由上到下依次为可触摸层(Cocoa Touch layer)910、媒体层(Media layer)920、核心服务层(Core Services layer)930以及核心操作系统层(Core OS layer)940。触摸层910为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,其负责用户在iOS设备上的触摸交互操作。媒体层提供应用中视听方面的技术,如图形图像、声音技术、视频以及音视频传输相关的框架等。核心服务层提供给应用所需要的基础的系统服务。核心操作系统层包含大多数低级别接近硬件的功能。

在本发明实施例中,UIKit是可触摸层910的用户界面框架。

图10是安卓操作系统结构示意图,本发明实施例的方案可以采用安卓操作系统。分层架构将软件分成若干个层,层间通过软件接口通信。在一些实施例中,将安卓系统分为四层,从上至下分别为应用程序层1010、应用程序框架层1020、安卓运行时(Runtime)和系统库1030、以及内核层1040。

应用程序层1010可以包括一系列应用程序包。

应用程序框架层1020为应用程序层的应用程序提供应用编程接口 (API)和编程框架。应用程序框架层包括一些预先定义的函数。

窗口管理器用于管理窗口程序。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供移动终端的通信功能。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。

安卓Runtime(运行时)包括核心库和虚拟机,安卓Runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言要调用的功能函数,另一部分是安卓的核心库。应用程序层和框架层运行在虚拟机中。

系统库可以包括多个功能模块。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。

内核层1040是硬件和软件之间的层。内核层可包含显示驱动、摄像头驱动、音频接口、传感器驱动、电源管理和GPS接口。在本发明的一些实施例中,帧动画的显示可以调用显示驱动。

在本发明的一些实施例中,还可以提供一种电子设备,其包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行任一本发明实施例的方法。

在本发明上述或下述实施例阐明的系统、装置、模块或单元,可以由计算机或其关联部件实现。根据具体情况,计算机例如可以为移动终端、智能电话、个人计算机(PC)、膝上型计算机、车载人机交互设备、个人数字助理、媒体播放器、导航设备、游戏控制台、平板电脑、可穿戴设备、智能电视、物联网系统、智能家居、工业计算机、服务器或者其组合。

在本发明的一些实施例中,还可以提供一种存储介质。在一些实施例中,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行任一本发明实施例所述的方法。

在本发明的实施例的存储介质包括永久性和非永久性、可移动和非可移动的可以由任何方法或技术来实现信息存储的物品。存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

在本发明的实施例的方法、程序、系统、装置等,可以在单个或多个连网的计算机中执行或实现,也可以在分布式计算环境中实践。在本说明书实施例中,在这些分布式计算环境中,可以由通过通信网络而被连接的远程处理设备来执行任务。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本领域技术人员可想到,上述实施例阐明的功能模块/单元或控制器以及相关方法步骤的实现,可以用软件、硬件和软/硬件结合的方式实现。

除非明确指出,根据本发明实施例记载的方法、程序的动作或步骤并不必须按照特定的顺序来执行并且仍然可以实现期望的结果。在某些实施方式中,各步骤的多任务处理和并行/合并处理也是可以的或者可能是有利的。

在本文中,“第一”、“第二”是用于在同一实施例中区分不同的元件,不指代顺序或相对重要性。

在本文中,针对本发明的多个实施例进行了描述,但为简明起见,各实施例的描述并不是详尽的,各个实施例之间相同或相似的特征或部分可能会被省略。在本文中,“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”意指适用于根据本发明的至少一个实施例或示例中,而非所有实施例。上述术语并不必然意味着指代相同的实施例或示例。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

已参考上述实施例具体示出并描述了本发明的示例性系统及方法,其仅为实施本系统及方法的最佳模式的示例。本领域的技术人员可以理解的是可以在实施本系统及/或方法时对这里描述的系统及方法的实施例做各种改变而不脱离界定在所附权利要求中的本发明的精神及范围。

37页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:虚拟标签标记方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类