CN114764355A - 一种内容播放控制方法、装置、电子设备和存储介质 - Google Patents
一种内容播放控制方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114764355A CN114764355A CN202110034117.1A CN202110034117A CN114764355A CN 114764355 A CN114764355 A CN 114764355A CN 202110034117 A CN202110034117 A CN 202110034117A CN 114764355 A CN114764355 A CN 114764355A
- Authority
- CN
- China
- Prior art keywords
- interface
- player
- multimedia content
- target
- vertical screen
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种内容播放控制方法、装置、电子设备和存储介质,用以提高用户界面的切换速度。其中,方法包括:响应针对第一界面中的目标多媒体内容的界面切换操作,基于设定的第二界面的尺寸,对用于播放目标多媒体内容的第一预设播放器进行尺寸调整;第一预设播放器是通过活动承载的形式嵌入第一界面的,目标多媒体内容为目标信息流中的多媒体内容;由第一界面切换至第二界面,并在第二界面中,展示经过尺寸调整后的第二预设播放器,第二预设播放器是通过活动承载的形式嵌入第二界面的,且承载第一预设播放器和第二预设播放器的为同一活动。本申请不涉及活动的切换,直接调整播放器尺寸,是无缝切换,可提高切换速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种内容播放控制方法、装置、电子设备和存储介质。
背景技术
在使用例如视频应用、图片应用、浏览器应用等诸多多媒体应用的过程中,常常涉及到从一个页面到另一个页面的切换。这些多媒体应用一般会包括主页面和底层页面,主页面可以认为是一个目录形式的页面,会向用户展示多媒体目录,而底层页面则主要涉及主页上多媒体数据的显示,例如,在视频应用的主页面上会展示各种各样的视频及其诸如标题、时长等等信息给用户,用户点击某个视频后,即切换到底层页面,在底层页面播放该视频。
在Android(安卓)系统的软件开发过程中,上述用户界面的切换全部使用Activity(活动)的切换,这就造成了整个应用使用起来速度较慢,而且很占内存,因为Activity是重量级的组件,在应用程序内部使用很不方便。
发明内容
本申请实施例提供一种内容播放控制方法、装置、电子设备和存储介质,用以提高用户界面的切换速度。
本申请实施例提供的一种内容播放控制方法,包括:
响应于针对第一界面中的目标多媒体内容触发的界面切换操作,基于设定的第二界面的尺寸,对用于播放所述目标多媒体内容的第一预设播放器进行尺寸调整;其中,所述第一预设播放器是通过活动承载的形式嵌入所述第一界面的,所述目标多媒体内容为目标信息流中的多媒体内容;
由所述第一界面切换至所述第二界面,并在所述第二界面中,展示经过尺寸调整后的第二预设播放器,所述第二预设播放器是通过活动承载的形式嵌入所述第二界面的,且承载所述第一预设播放器以及所述第二预设播放器的为同一活动。
本申请实施例提供的一种内容播放控制装置,包括:
播放器调整单元,用于响应于针对第一界面中的目标多媒体内容触发的界面切换操作,基于设定的第二界面的尺寸,对用于播放所述目标多媒体内容的第一预设播放器进行尺寸调整;其中,所述第一预设播放器是通过活动承载的形式嵌入所述第一界面的,所述目标多媒体内容为目标信息流中的多媒体内容;
播放单元,用于由所述第一界面切换至所述第二界面,并在所述第二界面中,展示经过尺寸调整后的第二预设播放器,所述第二预设播放器是通过活动承载的形式嵌入所述第二界面的,且承载所述第一预设播放器以及所述第二预设播放器的为同一活动。
可选的,所述装置还包括:
内容切换单元,用于响应于针对所述第二界面触发的内容切换操作,在所述第二界面中,通过目标播放器播放切换后的多媒体内容,其中,所述切换后的多媒体内容为所述目标信息流中除所述目标多媒体内容之外的其他多媒体内容,所述目标播放器是通过碎片承载的形式嵌入所述第二界面的;
响应于由所述切换后的多媒体内容切换为所述目标多媒体内容的返回操作,在所述第二界面中,通过所述目标播放器播放所述目标多媒体内容。
可选的,所述内容切换单元具体用于:
响应于针对所述第二界面触发的内容切换操作,获取针对所述内容切换操作产生的移动距离以及移动方向;
若所述移动距离大于指定值,则采用根据所述移动距离以及所述移动方向滑动视图滑动切换组件,以及在滑动过程中联动滑动碎片的方式,在所述第二界面中切换视图;
在切换后的视图中通过所述目标播放器播放所述切换后的多媒体内容。
可选的,所述第二界面为竖屏界面;所述内容切换单元具体用于:
根据所述切换后的多媒体内容在所述目标信息流中的位置,从预先配置的播放器复用池中获取可用的竖屏播放器;
将所述可用的竖屏播放器作为所述目标播放器,采用所述目标播放器播放所述切换后的多媒体内容;
其中,所述目标信息流中的各组多媒体内容复用所述目标播放器,每组多媒体内容是根据各个多媒体内容在所述目标信息流中的位置划分得到的。
可选的,每三个连续的多媒体内容为一组,所述目标播放器包括第一竖屏子播放器,第二竖屏子播放器和第三竖屏子播放器;对于每组多媒体内容,所述第一竖屏子播放器用于播放所述每组多媒体内容中的第一个多媒体内容,所述第二竖屏子播放器用于播放所述每组多媒体内容中的第二个多媒体内容;所述第三竖屏子播放器用于播放所述每组多媒体内容的第三个多媒体内容。
可选的,所述内容切换单元具体用于:
若检测到针对所述第二界面触发的第一类内容切换操作,采用第二竖屏子播放器对所述前一多媒体内容进行播放,所述第一类内容切换操作用于指示由所述目标多媒体内容切换至所述前一多媒体内容;
若检测到针对所述第二界面触发的第二类内容切换操作,采用第三竖屏子播放器对所述后一多媒体内容进行播放,所述第二类内容切换操作用于指示由所述目标多媒体内容切换至所述后一多媒体内容。
可选的,所述装置还包括:
第一释放单元,用于当退出所述第二界面时,释放所述第二界面对应的竖屏播放器。
可选的,所述装置还包括:
预加载单元,用于在所述目标多媒体内容加载或播放过程中,采用所述目标播放器对所述目标多媒体内容相邻的至少一个多媒体内容进行预加载。
可选的,所述装置还包括:
界面切换单元,用于响应于针对所述第二界面查看第一对象关联的第一个人详情界面的触发操作,显示所述第一个人详情界面,所述第一个人详情界面中显示有所述第一对象发布的多媒体内容,以及与所述第一对象相关的第二对象发布的多媒体内容;
响应于查看所述第二对象发布的多媒体内容的触发操作,显示第三界面,并在所述第三界面播放所述第二对象发布的多媒体内容,所述第三界面为竖屏界面;
响应于针对所述第三界面进入所述第二对象关联的第二个人详情界面的触发操作,显示所述第二个人详情界面。
可选的,所述装置还包括:
第二释放单元,用于若从所述第一个人详情界面返回到所述第二界面,则释放所述第二个人详情界面对应的个人详情界面播放器;
若从所述第二个人详情界面返回到所述第三界面,则释放所述第二个人详情界面对应的个人详情界面播放器。
可选的,所述装置还包括:
返回单元,用于响应于针对所述第二界面的关联界面触发的返回操作,返回至目标级界面,其中,所述目标级界面是基于所述第二界面进入的指定级别的关联界面,所述关联界面包括其它竖屏界面、个人详情界面与横屏底层界面中的至少一种,且所述关联界面包括至少两个界面,所述至少两个界面都是基于所述第二界面进入的。
可选的,所述装置还包括:
第三释放单元,用于当进入的竖屏界面的数量达到第一指定数量后,每进入新的竖屏界面,则释放所述新的竖屏界面前面的至少一个竖屏界面对应的竖屏播放器。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种内容播放控制方法的步骤。
本申请实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任意一种内容播放控制方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任意一种内容播放控制方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种内容播放控制方法、装置、电子设备和存储介质,由于本申请在从feed无缝进入第二界面时,不涉及Activity的切换,而是直接调整在第一界面中feed对应的预设播放器的尺寸大小,根据设定的第二界面的尺寸,将第一预设播放器调整为第二预设播放器,进而在第二界面中基于第二预设播放器来播放feed流中的目标多媒体内容,由于从第一界面切换至第二界面时并没有进入新的Activity,是无缝切换,可以有效提高切换速度,使得切换更加流畅。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景的一个可选的示意图;
图2A为本申请实施例中的一种内容播放控制方法的流程示意图;
图2B为本申请实施例中的另一种内容播放控制方法的流程示意图;
图3A为本申请实施例中的第一种界面切换示意图;
图3B为本申请实施例中的第二种界面切换示意图;
图3C为本申请实施例中的第三种界面切换示意图;
图4A为本申请实施例中的第四种界面切换示意图;
图4B为本申请实施例中的第五种界面切换示意图;
图4C为本申请实施例中的第六种界面切换示意图;
图5A为本申请实施例中的第一种内容切换示意图;
图5B为本申请实施例中的第二种内容切换示意图;
图6为本申请实施例中的一种碎片布局的示意图;
图7为本申请实施例中的一种预加载方法的示意图;
图8为本申请实施例中的一种个人详情界面切换的示意图;
图9为本申请实施例中的另一种个人详情界面切换的示意图;
图10为本申请实施例中的一种内容播放控制装置的组成结构示意图;
图11为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图12为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
多媒体内容:组合两种或两种以上媒体的一种人机交互式信息交流和传播媒体。媒体包括文字、图片、声音、影片等。在本申请实施例中,多媒体内容可以是文章、新闻、资讯、视频、音乐等内容。
应用操作界面:是应用系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换,目的是使得用户能够方便有效率地去操作应用以达成双向之交互,完成所希望借助应用完成之工作。在本申请实施例中,应用操作界面包含了人机交互与图形用户接口,具体的应用操作界面包括第一界面,第二界面,第三界面,个人详情界面等。其中,不同的应用操作界面用于向用户展示不同的内容,实现用户与应用之间不同的信息交互。
feed:是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。目标feed流即持续更新并呈现给用户目标内容的feed流。从以上定义中可以看出:feed是一种给用户持续提供内容的数据形式,是由多个内容提供源组成的资源聚合器,由用户主动订阅消息源并且向用户提供内容。
Activity:是Android组件中最基本也是最为常见用的组件之一,也是Android的基本组成单位,每个Activity都被定义为一个单独的类。Activity是一种包含用户界面的应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件。在一个Android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应,Activity主要用来与用户进行交互。Activity并不负责视图控制,它只是控制生命周期和处理事件。
Fragment(碎片):是一种可以嵌入在活动中的用户界面(User Interface,UI)片段,能够让程序更加合理和充分地利用大屏幕的空间,出现的初衷是为了适应大屏幕的平板电脑,可以将其看成一个小型Activity,又称作Activity片段。使用Fragment可以把屏幕划分成几块,然后进行分组,进行一个模块化管理。Fragment是一个具有自己生命周期的控件,它有自己的处理输入事件的能力,有自己的生命周期,又必须依赖于Activity,能互相通信和托管。Activity可以委派Fragment完成一个任务,这些任务通常就是管理用户界面。
视图滑动切换组件:用于在滑动视图时,控制视图滑动的组件。在本申请实施例中,主要列举了两类视图滑动切换组件,用于左右滑动的左右滑动组件(ViewPager,VP),以及用于上下滑动的上下滑动组件(RecyclerView,RV)。其中,ViewPager是一个可以左右滑动的View(视图),能支持添加多个任意的View。ViewPager经常用来连接Fragment,它很方便管理每个页面的生命周期,使用ViewPager管理Fragment是标准的视频器实现。ViewPager一般和Fragment一起使用,它更方面的管理页面中Fragment的生命周期。RecyclerView是Android中的一个视图滑动切换组件,用于上下滑动,具有可扩展性,是一个用于大量数据展示的滑动组件。
下面对本申请实施例的设计思想进行简要介绍:
随着互联网技术的发展,信息搜索、文字或视频信息的查看逐渐成为互联网用户最主要的需求。用户可以通过终端设备上的应用客户端观看视频信息,也可以通过浏览器登录视频网站观看视频信息等。
在一些应用场景中,不同的页面可以包括相同的视频信息。在这种应用场景中,若用户在一个页面中打开该视频后,在跳转至另一个页面后希望该视频可以连续播放,例如点击feeds中竖屏资源时,就是跳转到一个竖屏全屏页面来播放该资源,该情况下会进入一个新的Activity去承载竖屏播放组件。由于Activity启动需要耗费一定时间,因此在从feeds当前播切换到竖屏底层页时,并不是真正的丝滑切换,会有明显的切换不流畅现象。
有鉴于此,本申请实施例提供了一种内容播放控制方法、装置、电子设备和存储介质。由于本申请在从feed无缝进入第二界面时,不涉及Activity的切换,而是直接调整在第一界面中feed对应的预设播放器的尺寸大小,根据设定的第二界面的尺寸,将第一预设播放器调整为第二预设播放器,进而在第二界面中基于第二预设播放器来播放feed流中的目标多媒体内容,由于从第一界面切换至第二界面时并没有进入新的Activity,是无缝切换,可以有效提高切换速度,使得切换更加流畅。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器130,可通过终端设备110登录应用操作界面120。其中,应用操作界面120可以是第一界面,第二界面,第三界面,个人详情界面,横屏底层界面等。
在本申请实施例中,终端设备110与服务器130之间可以通过通信网络进行通信。例如,用户通过终端设备110播放目标多媒体内容时,可以向服务器130发送播放请求,从服务器130获取目标多媒体内容相关的播放数据,进而再通过终端设备110播放给用户等等。
在一种可选的实施方式中,通信网络是有线网络或无线网络。终端设备110以及服务器130可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器、智能家居等具有一定计算能力并且运行有即时通讯类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过无线网络与服务器130,服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,每个终端设备中可以安装有多媒体应用,例如视频应用、图片应用、浏览器应用等,本申请实施例涉及的多媒体应用可以是软件,也可以是网页、小程序等客户端,服务器则是与软件或是网页、小程序等相对应的应用服务器,不限制客户端的具体类型。
参阅图2A所示,为本申请实施例提供的一种内容播放控制方法的实施流程图,该方法的具体实施流程如下:
步骤S21:响应于针对第一界面中的目标多媒体内容触发的界面切换操作,基于设定的第二界面的尺寸,对用于播放目标多媒体内容的第一预设播放器进行尺寸调整;其中,第一预设播放器是通过活动承载的形式嵌入第一界面的,目标多媒体内容为目标信息流中的多媒体内容;
步骤S22:由第一界面切换至第二界面,并在第二界面中,展示经过尺寸调整后的第二预设播放器,第二预设播放器是通过活动承载的形式嵌入第二界面的,且承载第一预设播放器以及第二预设播放器的为同一活动。
例如图3A所示,其为本申请实施例中的一种界面切换示意图,左侧为第一界面,右侧为第二界面。第一界面显示为“主播xxx”所发布的一些视频,包括短视频1,短视频2等。以短视频1为目标多媒体内容为例,在点击短视频1的封面之后,即可跳转至如右侧所示的第二界面。另外,点击如图3B所示的全屏按钮时,也可跳转至第二界面。
需要说明的是,本申请实施例中的第一预设播放器和第二预设播放器为同一播放器,只是播放器的尺寸不同,由于在第二界面为竖屏界面,因而需要根据第二界面的大小来对第一预设播放器的尺寸进行调整,以得到第二预设播放器。由于该过程不需要启动新的Activity,因而承载第一预设播放器以及第二预设播放器的为同一Activity。
除了上述所列举的点击封面或全屏按钮等方式触发针对第一界面中的目标多媒体内容的界面切换操作之外,其他触发方式也适用于本申请实施例。例如,在第一界面中点击短视频1对应的评论按钮时,也可触发针对第一界面中的目标多媒体内容的界面切换操作,跳转至第二界面,并在第二界面中拉起对应的评论弹窗,如图3C所示,等等。因而,在本申请实施例中对触发方式不做具体限定。
另外,当第一界面为如图4A左侧所示的界面时,当用户点击目标多媒体内容的封面之后,先进入专辑底层页,进而再判断专辑中播放的视频(即目标多媒体内容)是否为竖屏,当专辑中播放的视频为竖屏时,则展示如图4A右侧所示的第二界面。当专辑中播放的视频不为竖屏时,则展示如4B右侧所示的界面,小屏播放目标多媒体内容。进而通过点击全屏按钮,跳转至如图4C右侧所示的第二界面,竖屏全屏播放目标多媒体内容。
在一种可选的实施方式中,第二界面是指竖屏界面,即图3A或图3B所示的竖屏全屏界面,当用户点击feeds中的竖屏资源时,先把当前播的第一预设播放器撑到竖屏大屏,得到第二预设播放器,这个过程是丝滑的,然后撑满竖屏大屏后会立马请求竖屏播接口,拉取新的竖屏播放流数据。
因而,在一种可选的实施方式中,在步骤S22之后还可以包括以下两个步骤,参阅图2B所示:
步骤S23:响应于针对第二界面触发的内容切换操作,在第二界面中,通过目标播放器播放切换后的多媒体内容,其中,切换后的多媒体内容为目标信息流中除目标多媒体内容之外的其他多媒体内容,目标播放器是通过碎片承载的形式嵌入第二界面的;
在本申请实施例中,目标feed流包含目标多媒体内容,剩余的其他多媒体内容可以是目标多媒体内容的关联多媒体内容,例如这些其他多媒体内容都来自于目标多媒体内容的短视频推荐,推荐视频和该目标多媒体内容的底层页视频一致。或者是,都是由同一个作者发布的视频,或者是,视频中包含的文案、话题,内容等相互关联,等等,在此不做具体限定。
例如图5A所示,用户可手势上滑触发针对第二界面的内容切换操作,切换目标feed流中目标多媒体内容的下一个视频。另外,还可手势下滑触发内容切换操作,切换目标feed流中目标多媒体内容的上一个视频。其中,切换的视频来自当前视频的短视频推荐,且推荐视频和该视频的底层页视频一致。
再例如图5B所示,用户也可手势上滑或手势下滑触发针对第二界面的内容切换操作,切换目标feed流中目标多媒体内容的下一个视频。这种情况下,切换的视频来自于专辑中的视频列表(选集、看点、本期看点、视频合集)等等。
需要说明的是,在由第一界面切换至第二界面之后,在进行内容切换时则不再使用第二预设播放器,而是使用通过Fragment承载的目标播放器。并且,在本申请实施例中,目标feed流中的第一个视频可以是目标多媒体内容,之后的其他视频是其他多媒体内容。这样,再从其他多媒体内容再次切换回目标多媒体内容时,即可播放目标feed流中的这个目标多媒体内容即可,此时继续使用目标播放器播放即可,即执行步骤S24。
步骤S24:响应于由切换后的多媒体内容切换为目标多媒体内容的返回操作,在第二界面中,通过目标播放器播放目标多媒体内容。
在本申请实施例中,在从feed无缝进入第二界面时,不涉及Activity的切换,而是直接调整在第一界面中feed对应的预设播放器的尺寸大小,根据设定的第二界面的尺寸,将第一预设播放器调整为第二预设播放器,进而在第二界面中基于第二预设播放器来播放feed流中的目标多媒体内容,由于从第一界面切换至第二界面时并没有进入新的Activity,是无缝切换,可以有效提高切换速度,使得切换更加流畅。此后,在实现界面切换之后,在第二界面中切换多媒体内容时,再使用目标播放器继续播放,而不是在由第一界面切换至第二界面时,直接用Activity的切换,直接采用目标播放器进行播放,因而可以有效提高界面切换速度,实现无缝切换。
在一种可选的实施方式中,目标播放器为竖屏播放器,承载目标播放器的容器为ViewPager播放器容器,用ViewPager实现来达到横滑的效果。例如图6所示,该播放器容器用Fragment承载,添加左中右三个Fragment,左侧的Fragment-VP0是透明的;中间的Fragment-VP1用于真正竖屏的播放,使用RecyclerView实现;右侧的Fragment-VP2用来显示个人详情界面,即CP页,也称个人公众号页。
具体的,当首页feed创建时,会创建PlayerRootView(播放器根视图)这样一个LinearLayout(线性布局),里面有两个View,分别是当前播的容器(即第一预设播放器容器)和无缝底层页的容器。当前播的容器中也有两个View,分别是竖屏的容器和真正的当前播放器容器(即第二预设播放器容器)。
需要说明的是,在本申请实施例中,当点击一个竖屏资源的feed全屏按钮或者封面图的时候,会无缝撑满竖屏大屏,这个过程仅仅是一个播放器容器调整大小的过程,并没有进入新的Activity,是无缝的。此时,会根据当前竖屏feed的数据来请求竖屏播放器的接口来获取当前竖屏页面的资源。此时上下滑动及左右滑动的数据都已准备就绪。
在本申请实施例中,对于feeds中竖屏资源,利用Fragment可以无缝进入竖屏播放流程,通过feed播放器容器的事件分发机制,联动上下(RecyclerView)、左右(ViewPager)滑动。
其中,针对第二界面触发的内容切换操作的触发方式有很多,常见的触发方式例如:上下滑动,或者是左右滑动。因而,在一种可选的实施方式中,在进行内容切换时,首先需要响应于针对第二界面触发的内容切换操作,获取针对内容切换操作产生的移动距离以及移动方向;进一步对移动距离进行判断,若移动距离大于指定值,则采用根据移动距离以及移动方向滑动视图滑动切换组件,以及在滑动过程中联动滑动Fragment的方式,在第二界面中切换视图;在切换后的视图中通过目标播放器播放切换后的多媒体内容。
例如,当用户通过手指上下滑动的时候,事件从顶层往下分发,会传递到PlayerContainerLayout(播放器容器布局)的dispatchTouchEvent(调度触发事件),此时把触摸产生的移动距离及移动方向传递给对应控制上下滑动的组件RecyclerView。然后通过scrollToPositionWithOffset(使用“偏移”滚动到位置)联动RecyclerView上下滑动;通过ParentScrollObserver.scroll(父滚动观察者)来联动贴片上下滑动。当检测到用户手指抬起,收到UP事件时,根据移动的距离判断是否要滑动到下一个视频,如果大于指定值,例如distance(移动距离)>1/10,则通过调用RecyclerView的smoothScrollToPosition(1)(平滑滚动到位置)滑动到竖屏的第二个卡片,在滑动过程中会回调RecyclerView的onScrolled联动RecyclerView滑动。
需要说明的是,scrollToPositionWithOffset()与smoothScrollToPosition()是RecyclerView的两种定位滚动方式,用于将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。
当通过手指左右滑动的时候,同上,事件从顶层往下分发,会传递到PlayerContainerLayout的dispatchTouchEvent,此时把触摸产生的移动距离及移动方向传递给对应控制左右滑动的组件ViewPager。然后通过ViewPager的scrollTo(绝对滚动)联动ViewPager左右滑动;通过ParentScrollObserver.scroll来联动贴片左右滑动。当检测到用户手指抬起,收到UP事件时,根据移动的距离判断是否要滑动到左边或右边,如果大于指定值,通过调用ViewPager的setCurrentItem(设置当前项目)滑动到竖屏的左边或右边,在滑动过程中会回调ViewPager的onPageScrolled(网页滚动)联动ViewPager滑动。
其中,scrollTo是绝对滚动,以view的内容的中心为原点,如果x为负值,则向右滚,y为负值向下滚。
在本申请实施例中,基于上述过程即可实现feed与竖屏播放器的联动,兼容feed流的竖屏播放。
另外,考虑到每次上下滑动切换视频时,当切换到下一个视频的时候才加载视频,加载完成后才会播放,会造成播放速度较慢,本申请实施例提出了预加载的方法。
在一种可选的实施方式中,在目标多媒体内容加载或播放过程中,采用目标播放器对目标多媒体内容相邻的至少一个多媒体内容进行预加载。当然,在目标多媒体内容发生切换时,同样也可在切换后的多媒体内容的加载或播放过程中,对该切换后的多媒体内容相邻的至少一个多媒体内容进行预加载,以提供给用户更好的体验,减少等待的时间。
在本申请实施例中,相邻的至少一个多媒体内容主要是指前一个多媒体内容以及后一个多媒体内容,即本申请主要是以对相邻的前后两个多媒体内容都进行预加载为例进行举例说明的。参阅图7所示,为了优化竖屏播放器的起播速度,通过每个竖屏卡片上下各留1像素(px)来提前预加载上下两个竖屏资源,例如图7中所示,只在屏幕高度-2px的范围内播放卡片2的竖屏资源,而上下各1px用于预加载。因此,当滑动到卡片2的时候,实际卡片1和卡片3都会bindView(绑定视图),然后在子线程loadVideo(加载视频)加载对应的竖屏资源(以实现播放前的所有操作),等到滑动到卡片3的时候,基于onPageSelected(已选择网页)确定已选择卡片3进行播放,由于卡片3的竖屏资源已经在滑动到卡片2的时候加载过了,因此直接调用卡片3对应的播放器(竖屏子播放器)的start(开始)即可,这样可以实现竖屏资源的立马起播。而当卡片2滑走的时候,基于onPageReleae(在页面上),可以保证为了从卡片3回到卡片2后能够快速的起播,因此卡片2对应的播放器并没有stop(停止)而仅仅是pause(暂停)掉。
在一种可选的实施方式中,为了减少播放器的创建,可以多个竖屏页共用一套竖屏播放器。在此方式下,通过目标播放器播放切换后的多媒体内容,具体过程如下:
首先根据切换后的多媒体内容在目标feed流中的位置,从预先配置的播放器复用池中获取可用的竖屏播放器;进而将获取到的这一可用的竖屏播放器作为目标播放器,采用目标播放器播放切换后的多媒体内容;
在上述实施方式中,目标feed流中的各组多媒体内容复用目标播放器,每组多媒体内容是根据各个多媒体内容在目标feed流中的位置划分得到的。
针对上述所列举的播放器复用方法,可设计一个播放器复用池。这样可以避免创建过多的播放器。
具体的,当竖屏卡片bindView的时候,根据位置和当前Fragment从复用池中获取可用播放器,如果有则使用该播放器,如果没有则创建新的播放器;然后移除当前卡片上原来的播放器容器,重新添加新的播放器容器;然后设置数据,包括评论数,点赞数,CP页头像,播放器上的一些元素显示,标题等等;最后加载视频。对应的实现代码如下:
bindView(position)//绑定视图(位置)
PortraitPlayerMgrRool getValidPlayer(host.positian)//获取复用池中可用播放器,如果没有则创建新的播放器
dolnstallPlayerToView(player)//移除卡片上原有播放器容器,重新添加新的播放器容器
player.setData//设置数据
player.loadMideo//加载视频
在上述实施方式中,通过播放器的复用可有效治理内存用完(Out Of Memory,OOM)的问题。
下面结合上述所列举的预加载的方法,列举一种详细的播放器复用方式:
在一种可选的实施方式中,每三个连续的多媒体内容为一组,目标播放器包括第一竖屏子播放器,第二竖屏子播放器和第三竖屏子播放器;对于每组多媒体内容,第一竖屏子播放器用于播放每组多媒体内容中的第一个多媒体内容,第二竖屏子播放器用于播放每组多媒体内容中的第二个多媒体内容;第三竖屏子播放器用于播放每组多媒体内容的第三个多媒体内容。
例如,在feed流中的各个多媒体内容的序号分别为:1,2,3,4,5,6,7,8,9,…。因而,可基于第一竖屏子播放器播放1号多媒体内容,用第二竖屏子播放器播放2号多媒体内容,用第三竖屏子播放器播放3号多媒体内容。若当前界面正在播放2号多媒体内容,则用户上滑后,当前界面正在播放3号多媒体内容,此时可基于第一竖屏子播放器对4号多媒体内容进行预加载,以此类推即可。第二竖屏子播放器还可用于播放5号多媒体内容,第三竖屏子播放器还可用于播放6号多媒体内容,等等。当然也可采用其他复用方式,例如根据各个多媒体内容的发布时间等进行复用,在此不做具体限定。
这样,即可采用第一竖屏子播放器播放目标多媒体内容,并在检测到针对第二界面触发的第一类内容切换操作时,采用第二竖屏子播放器对预加载的前一多媒体内容进行播放,第一类内容切换操作用于指示由目标多媒体内容切换至前一多媒体内容,例如向下滑动操作,可以是单指下滑,也可以是隔空手势下滑等等,在此不做具体限定;在检测到针对第二界面触发的第二类内容切换操作,采用第三竖屏子播放器对预加载的后一多媒体内容进行播放,第二类内容切换操作用于指示由目标多媒体内容切换至后一多媒体内容,例如向上滑动操作,可以是单指上滑,也可以是隔空手势上滑等等,在此不做具体限定。
需要说明的是,本申请实施例中所列举的第一竖屏子播放器,第二竖屏子播放器和第三竖屏子播放器都是竖屏播放器,都属于上述所列举的目标播放器。
在一种可选的实施方式中,除了上述所列举的在第二界面的内容切换之外,还可进一步进行界面切换,例如从第二界面切换至个人详情界面。例如图8所示,当前第二界面中播放有第一对象发布的短视频1,当用户在该第二界面左滑时,终端设备即可响应于针对第二界面查看第一对象关联的第一个人详情界面的触发操作,显示第一个人详情界面,第一个人详情界面中显示有第一对象发布的多媒体内容,以及与第一对象相关的第二对象发布的多媒体内容。
在本申请实施例中,左滑进入个人详情界面后,除了可以播放当前个人公号页内的视频之外,还可以再进入其他个人公号页。
例如图9所示,用户点击第一个人详情界面中显示的第二对象发布的多媒体内容-短视频2时,即可跳转至第三界面,其中第三界面为竖屏界面,即竖屏全屏播放该多媒体内容。具体的,终端设备响应于查看第二对象发布的多媒体内容的触发操作,显示第三界面,并在第三界面播放第二对象发布的多媒体内容。当用户再次在第三界面左滑时,即可查看第二对象的个人详情界面,具体的,终端设备响应于针对第三界面进入第二对象关联的第二个人详情界面的触发操作,显示第二个人详情界面。此外,用户也可在第二界面进行内容切换操作,然后点击某一包含第二对象的切换后的多媒体内容,进入第二对象关联的第二个人详情界面。
需要说明的是,本申请实施例中的第一对象和第二对象可以是同一对象,也可以是不同的对象,在此不做具体限定。
在一种可选的实施方式中,第二个人详情界面中显示有第二对象发布的多媒体内容,还进一步显示有与第一对象相关的第三对象发布的多媒体内容。基于上述所列举的方式,还可进一步查看第三对象关联的第三个人详情界面等等,不断重复上述过程即可查看多个竖屏页和个人详情页,无限进入新的竖屏页。
在上述实施方式中,在左滑进入个人详情页后,可以继续进入一个新的竖屏页,循环之前的流程,即可指出无限进入新的竖屏页。并且,考虑到在无限进入新的竖屏页时,可以多个多屏页共用一套竖屏播放器,减少播放器的创建,,因而可实现在无限进入新的竖屏页面而不OOM。
此外,考虑到由于可以通过个人详情界面进入新的竖屏页,再进入对应的个人详情界面,支持无限进入新的竖屏页面。因此可能进入了10层竖屏页,但是如果每次点击back(返回)键,都需要一层层返回会特别繁琐。因此需要制定一个回退栈规则。
一种可选的实施方式为:在用户返回时,终端设备响应于针对第二界面的关联界面触发的返回操作,返回至目标级界面。其中,目标级界面是基于第二界面进入的指定级别的关联界面,这些关联界面都是基于第二界面进入的,包括其它竖屏界面、个人详情界面与横屏底层界面中的至少一种,且关联界面包括至少两个界面。例如,关联界面可以是基于第二界面进入的两个竖屏界面,或者基于第二界面进入的一个竖屏界面和一个个人详情界面,或者基于第二界面进入的三个竖屏界面等等。
在本申请实施例中,通过Fragment的回退栈来实现返回过程时,目标级界面可以指第一个竖屏页的个人详情界面。由于需要返回到第一个竖屏页的个人详情界面,因此需要标记第一个竖屏页和其他的竖屏页,在Fragment入栈的时候区分开。例如,第一个竖屏页tag(标签)为PORTRAIT_DETAIL_FIRST_TAG,其他的竖屏页tag为PORTRAIT_DETAIL_TAG。这样,当从第十层竖屏页点击back键返回的时候,直接把第一个竖屏页以上的所有栈内Fragment出栈。
除了上述所列举的方式外,实际上还可以有很多种回退方式,下面对在本申请实施例中回退栈的基础逻辑进行详细介绍:
首页,竖屏(简称V),横屏底层页(简称H),CP,竖屏+CP(当从CP进入竖屏时算一个节点,若从竖屏进入CP算两个节点)这5个模块均算做独立的节点,进入多级节点后,返回时从最后一个节点返回到最初2个节点。
例如下述所列举的几个示例,需要注意的是,在返回首页时继续播放入口视频,【】中的相当于一个页面:
示例1:
进入流程:首页-【V1-CP1】-H1-V2-CP2-H2;
返回流程:H2-【CP1-V1】-首页。
该示例表示从H2页面开始返回时,直接返回至CP1页面,再从CP1页面返回至V1页面,从V1页面返回至首页。
一般情况下,应该从H2页面返回至CP2页面,从CP2页面返回至V2页面,从V2页面返回至H1页面,再从H1页面返回至CP1页面。而本申请实施例中跳过了中间这些步骤,而是直接从H2页面返回至CP1页面。
示例2:
进入流程:首页-H1-V1-CP1-H2-【V2-CP3】;
返回流程:CP3-V2-H1-首页。
该示例表示从CP3页面开始返回时,首先需要返回至V2页面,再从V2页面直接返回至H1页面,从H1页面返回至首页。
示例3:
进入流程:首页-H1-V1-CP1-H2;
返回流程:H2-H1-首页(从横屏回到横屏,此时无动画,且返回到横屏的时候会暂停)。
该示例表示从H2页面开始返回时,直接返回至H1页面,再从H1页面返回至首页。
示例4:
进入流程:首页-H1-H2-H3;
返回流程:H3-首页(复用线上横屏逻辑)。
该示例表示从H3页面开始返回时,直接返回至首页即可。因为中间没有竖屏页,因此可以跳过H2和H1,直接返回至首页。
在上述实施方式中,通过在响应界面返回操作时,返回至目标级界面,中间一些界面可直接跳过,无需一级一级的返回,可有效提高界面切换的效率。
在一种可选的实施方式中,除了上述所列举的通过播放器复用来治理OOM问题之后,还可以通过释放无用播放器来治理OOM问题。
针对释放无用播放器,本申请实施例中主要分为两种播放器,一种是竖屏播放器,一种是个人详情界面的播放器。在以下时机释放,参阅表1所示:
表1
由表1可知,对于竖屏页的播放器,主要分为以下两种释放时机:
实施方式一:当退出第二界面时,释放第二界面对应的竖屏播放器,这里的竖屏子播放器包括第一竖屏子播放器。
例如,当竖屏页销毁的时候,释放该竖屏页的所有播放器,包括第一竖屏子播放器,第二竖屏子播放器,第三竖屏子播放器。
实施方式二:当进入的竖屏界面的数量达到第一指定数量后,每进入新的竖屏界面,则释放新的竖屏界面前面的至少一个竖屏界面对应的竖屏播放器。
例如表1所列举的,基于回退栈的原因,从进入第三个竖屏页开始,每次进入新的竖屏页,销毁前面2~(n-1)个竖屏页,释放无用资源。
例如:进入第三个竖屏页时,n=3,销毁第2个竖屏页,并且在销毁第2个竖屏页时,释放该页面对应的所有竖屏(子)播放器;进入第四个竖屏页时,n=4,需要销毁第2~3个竖屏页,并且释放这两个竖屏页面对应的所有竖屏(子)播放器,以此类推即可。
对于CP页播放器,一种可选的实施方式为:在从个人详情页返回竖屏页时,释放对应的个人详情页播放器。
例如:在从第一个人详情界面返回到第二界面时,释放第二个人详情界面对应的个人详情界面播放器;在从第二个人详情界面返回到第三界面时,释放第二个人详情界面对应的个人详情界面播放器等等。
基于上述实施方式,可在合适的时机释放无用播放器,节省内存,有效治理OOM问题。
基于相同的发明构思,本申请实施例还提供一种内容播放控制装置。如图10所示,其为内容播放控制装置1000的结构示意图,可以包括:
播放器调整单元1001,用于响应于针对第一界面中的目标多媒体内容触发的界面切换操作,基于设定的第二界面的尺寸,对用于播放目标多媒体内容的第一预设播放器进行尺寸调整;其中,第一预设播放器是通过活动承载的形式嵌入第一界面的,目标多媒体内容为目标信息流中的多媒体内容;
播放单元1002,用于由第一界面切换至第二界面,并在第二界面中,展示经过尺寸调整后的第二预设播放器,第二预设播放器是通过活动承载的形式嵌入第二界面的,且承载第一预设播放器以及第二预设播放器的为同一活动。
可选的,装置还包括:
内容切换单元1003,用于响应于针对第二界面触发的内容切换操作,在第二界面中,通过目标播放器播放切换后的多媒体内容,其中,切换后的多媒体内容为目标信息流中除目标多媒体内容之外的其他多媒体内容,目标播放器是通过碎片承载的形式嵌入第二界面的;
响应于由切换后的多媒体内容切换为目标多媒体内容的返回操作,在第二界面中,通过目标播放器播放目标多媒体内容。
可选的,内容切换单元1003具体用于:
响应于针对第二界面触发的内容切换操作,获取针对内容切换操作产生的移动距离以及移动方向;
若移动距离大于指定值,则采用根据移动距离以及移动方向滑动视图滑动切换组件,以及在滑动过程中联动滑动碎片的方式,在第二界面中切换视图;
在切换后的视图中通过目标播放器播放切换后的多媒体内容。
可选的,第二界面为竖屏界面;内容切换单元1003具体用于:
根据切换后的多媒体内容在目标信息流中的位置,从预先配置的播放器复用池中获取可用的竖屏播放器;
将可用的竖屏播放器作为目标播放器,采用目标播放器播放切换后的多媒体内容;
其中,目标信息流中的各组多媒体内容复用目标播放器,每组多媒体内容是根据各个多媒体内容在目标信息流中的位置划分得到的。
可选的,每三个连续的多媒体内容为一组,目标播放器包括第一竖屏子播放器,第二竖屏子播放器和第三竖屏子播放器;对于每组多媒体内容,第一竖屏子播放器用于播放每组多媒体内容中的第一个多媒体内容,第二竖屏子播放器用于播放每组多媒体内容中的第二个多媒体内容;第三竖屏子播放器用于播放每组多媒体内容的第三个多媒体内容。
可选的,内容切换单元1003具体用于:
若检测到针对第二界面触发的第一类内容切换操作,采用第二竖屏子播放器对前一多媒体内容进行播放,第一类内容切换操作用于指示由目标多媒体内容切换至前一多媒体内容;
若检测到针对第二界面触发的第二类内容切换操作,采用第三竖屏子播放器对后一多媒体内容进行播放,第二类内容切换操作用于指示由目标多媒体内容切换至后一多媒体内容。
可选的,装置还包括:
第一释放单元1004,用于当退出第二界面时,释放第二界面对应的竖屏播放器。
可选的,装置还包括:
预加载单元1005,用于在目标多媒体内容加载或播放过程中,采用目标播放器对目标多媒体内容相邻的至少一个多媒体内容进行预加载。
可选的,装置还包括:
界面切换单元1006,用于响应于针对第二界面查看第一对象关联的第一个人详情界面的触发操作,显示第一个人详情界面,第一个人详情界面中显示有第一对象发布的多媒体内容,以及与第一对象相关的第二对象发布的多媒体内容;
响应于查看第二对象发布的多媒体内容的触发操作,显示第三界面,并在第三界面播放第二对象发布的多媒体内容,第三界面为竖屏界面;
响应于针对第三界面进入第二对象关联的第二个人详情界面的触发操作,显示第二个人详情界面。
可选的,装置还包括:
第二释放单元1007,用于若从第一个人详情界面返回到第二界面,则释放第二个人详情界面对应的个人详情界面播放器;
若从第二个人详情界面返回到第三界面,则释放第二个人详情界面对应的个人详情界面播放器。
可选的,装置还包括:
返回单元1008,用于响应于针对第二界面的关联界面触发的返回操作,返回至目标级界面,其中,目标级界面是基于第二界面进入的指定级别的关联界面,关联界面包括其它竖屏界面、个人详情界面与横屏底层界面中的至少一种,且关联界面包括至少两个界面,至少两个界面都是基于第二界面进入的。
可选的,装置还包括:
第三释放单元1009,用于当进入的竖屏界面的数量达到第一指定数量后,每进入新的竖屏界面,则释放新的竖屏界面前面的至少一个竖屏界面对应的竖屏播放器。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的内容播放控制方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。该电子设备可以用于内容播放控制。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器130。在该实施例中,电子设备的结构可以如图11所示,包括存储器1101,通讯模块1103以及一个或多个处理器1102。
存储器1101,用于存储处理器1102执行的计算机程序。存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1101可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1101也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1101是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1101可以是上述存储器的组合。
处理器1102,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1102,用于调用存储器1101中存储的计算机程序时实现上述播放控制方法。
通讯模块1103用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1101、通讯模块1103和处理器1102之间的具体连接介质。本公开实施例在图11中以存储器1101和处理器1102之间通过总线1104连接,总线1104在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1104可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1101中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的内容播放控制方法。处理器1102用于执行上述的内容播放控制方法,如图2所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图12所示,包括:通信组件1210、存储器1220、显示单元1230、摄像头1240、传感器1250、音频电路1260、蓝牙模块1270、处理器1280等部件。
通信组件1210用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1220可用于存储软件程序及数据。处理器1280通过运行存储在存储器1220的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1220存储有使得终端设备110能运行的操作系统。本申请中存储器1220可以存储操作系统及各种应用程序,还可以存储执行本申请实施例播放控制方法的代码。
显示单元1230还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1230可以包括设置在终端设备110正面的显示屏1232。其中,显示屏1232可以采用液晶显示器、发光二极管等形式来配置。显示单元1230可以用于显示本申请实施例中的应用操作界面。
显示单元1230还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1230可以包括设置在终端设备110正面的触摸屏1231,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1231可以覆盖在显示屏1232之上,也可以将触摸屏1231与显示屏1232集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1230可以显示应用程序以及对应的操作步骤。
摄像头1240可用于捕获静态图像,用户可以将摄像头1240拍摄的图像通过多媒体应用发送给聊天对方的用户。摄像头1240可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1280转换成数字图像信号。
终端设备还可以包括至少一种传感器1250,比如加速度传感器1251、距离传感器1252、指纹传感器1253、温度传感器1254。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1260、扬声器1261、传声器1262可提供用户与终端设备110之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器1261,由扬声器1261转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1262将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出至通信组件1210以发送给比如另一终端设备110,或者将音频数据输出至存储器1220以便进一步处理。
蓝牙模块1270用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1270与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1280是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1220内的软件程序,以及调用存储在存储器1220内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1280可包括一个或多个处理单元;处理器1280还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1280中。本申请中处理器1280可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的内容播放控制方法。另外,处理器1280与显示单元1230耦接。
在一些可能的实施方式中,本申请提供的内容播放控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的内容播放控制方法中的步骤,例如,计算机设备可以执行如图2中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请实施例上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请实施例各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和更改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和更改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些更改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种内容播放控制方法,其特征在于,该方法包括:
响应于针对第一界面中的目标多媒体内容触发的界面切换操作,基于设定的第二界面的尺寸,对用于播放所述目标多媒体内容的第一预设播放器进行尺寸调整;其中,所述第一预设播放器是通过活动承载的形式嵌入所述第一界面的,所述目标多媒体内容为目标信息流中的多媒体内容;
由所述第一界面切换至所述第二界面,并在所述第二界面中,展示经过尺寸调整后的第二预设播放器,所述第二预设播放器是通过活动承载的形式嵌入所述第二界面的,且承载所述第一预设播放器以及所述第二预设播放器的为同一活动。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
响应于针对所述第二界面触发的内容切换操作,在所述第二界面中,通过目标播放器播放切换后的多媒体内容,其中,所述切换后的多媒体内容为所述目标信息流中除所述目标多媒体内容之外的其他多媒体内容,所述目标播放器是通过碎片承载的形式嵌入所述第二界面的;
响应于由所述切换后的多媒体内容切换为所述目标多媒体内容的返回操作,在所述第二界面中,通过所述目标播放器播放所述目标多媒体内容。
3.如权利要求2所述的方法,其特征在于,所述响应于针对所述第二界面触发的内容切换操作,通过目标播放器播放切换后的多媒体内容,具体包括:
响应于针对所述第二界面触发的内容切换操作,获取针对所述内容切换操作产生的移动距离以及移动方向;
若所述移动距离大于指定值,则采用根据所述移动距离以及所述移动方向滑动视图滑动切换组件,以及在滑动过程中联动滑动碎片的方式,在所述第二界面中切换视图;
在切换后的视图中通过所述目标播放器播放所述切换后的多媒体内容。
4.如权利要求2所述的方法,其特征在于,所述第二界面为竖屏界面;所述通过目标播放器播放切换后的多媒体内容,具体包括:
根据所述切换后的多媒体内容在所述目标信息流中的位置,从预先配置的播放器复用池中获取可用的竖屏播放器;
将所述可用的竖屏播放器作为所述目标播放器,采用所述目标播放器播放所述切换后的多媒体内容;
其中,所述目标信息流中的各组多媒体内容复用所述目标播放器,每组多媒体内容是根据各个多媒体内容在所述目标信息流中的位置划分得到的。
5.如权利要求4所述的方法,其特征在于,每三个连续的多媒体内容为一组,所述目标播放器包括第一竖屏子播放器,第二竖屏子播放器和第三竖屏子播放器;
对于每组多媒体内容,所述第一竖屏子播放器用于播放所述每组多媒体内容中的第一个多媒体内容,所述第二竖屏子播放器用于播放所述每组多媒体内容中的第二个多媒体内容;所述第三竖屏子播放器用于播放所述每组多媒体内容的第三个多媒体内容。
6.如权利要求5所述的方法,其特征在于,所述响应于针对所述第二界面触发的内容切换操作,在所述第二界面中,通过目标播放器播放切换后的多媒体内容,具体包括:
若检测到针对所述第二界面触发的第一类内容切换操作,采用第二竖屏子播放器对所述前一多媒体内容进行播放,所述第一类内容切换操作用于指示由所述目标多媒体内容切换至所述前一多媒体内容;
若检测到针对所述第二界面触发的第二类内容切换操作,采用第三竖屏子播放器对所述后一多媒体内容进行播放,所述第二类内容切换操作用于指示由所述目标多媒体内容切换至所述后一多媒体内容。
7.如权利要求4~6任一项所述的方法,其特征在于,所述方法还包括:
当退出所述第二界面时,释放所述第二界面对应的竖屏播放器。
8.如权利要求2~6任一项所述的方法,其特征在于,所述方法还包括:
在所述目标多媒体内容加载或播放过程中,采用所述目标播放器对所述目标多媒体内容相邻的至少一个多媒体内容进行预加载。
9.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
响应于针对所述第二界面查看第一对象关联的第一个人详情界面的触发操作,显示所述第一个人详情界面,所述第一个人详情界面中显示有所述第一对象发布的多媒体内容,以及与所述第一对象相关的第二对象发布的多媒体内容;
响应于查看所述第二对象发布的多媒体内容的触发操作,显示第三界面,并在所述第三界面播放所述第二对象发布的多媒体内容,所述第三界面为竖屏界面;
响应于针对所述第三界面进入所述第二对象关联的第二个人详情界面的触发操作,显示所述第二个人详情界面。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
若从所述第一个人详情界面返回到所述第二界面,则释放所述第二个人详情界面对应的个人详情界面播放器;
若从所述第二个人详情界面返回到所述第三界面,则释放所述第二个人详情界面对应的个人详情界面播放器。
11.如权利要求9所述的方法,其特征在于,所述方法还包括:
响应于针对所述第二界面的关联界面触发的返回操作,返回至目标级界面,其中,所述目标级界面是基于所述第二界面进入的指定级别的关联界面,所述关联界面包括其它竖屏界面、个人详情界面与横屏底层界面中的至少一种,且所述关联界面包括至少两个界面,所述至少两个界面都是基于所述第二界面进入的。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
当进入的竖屏界面的数量达到第一指定数量后,每进入新的竖屏界面,则释放所述新的竖屏界面前面的至少一个竖屏界面对应的竖屏播放器。
13.一种内容播放控制装置,其特征在于,包括:
播放器调整单元,用于响应于针对第一界面中的目标多媒体内容触发的界面切换操作,基于设定的第二界面的尺寸,对用于播放所述目标多媒体内容的第一预设播放器进行尺寸调整;其中,所述第一预设播放器是通过活动承载的形式嵌入所述第一界面的,所述目标多媒体内容为目标信息流中的多媒体内容;
播放单元,用于由所述第一界面切换至所述第二界面,并在所述第二界面中,展示经过尺寸调整后的第二预设播放器,所述第二预设播放器是通过活动承载的形式嵌入所述第二界面的,且承载所述第一预设播放器以及所述第二预设播放器的为同一活动。
14.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~12中任一所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~12中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110034117.1A CN114764355A (zh) | 2021-01-12 | 2021-01-12 | 一种内容播放控制方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110034117.1A CN114764355A (zh) | 2021-01-12 | 2021-01-12 | 一种内容播放控制方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764355A true CN114764355A (zh) | 2022-07-19 |
Family
ID=82364408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110034117.1A Pending CN114764355A (zh) | 2021-01-12 | 2021-01-12 | 一种内容播放控制方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764355A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484500A (zh) * | 2022-08-01 | 2022-12-16 | 武汉斗鱼鱼乐网络科技有限公司 | 一种播放信息流的方法、客户端、介质及设备 |
-
2021
- 2021-01-12 CN CN202110034117.1A patent/CN114764355A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484500A (zh) * | 2022-08-01 | 2022-12-16 | 武汉斗鱼鱼乐网络科技有限公司 | 一种播放信息流的方法、客户端、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10908791B2 (en) | Inline message alert | |
CN107656957B (zh) | 推广内容推送方法、装置、系统及存储介质 | |
CN109683714B (zh) | 多媒体资源管理方法、装置及存储介质 | |
US9298827B2 (en) | Media recorder | |
CN110990075B (zh) | 快应用的启动方法、装置、设备及存储介质 | |
KR102488975B1 (ko) | 콘텐츠 시청 장치 및 그 콘텐츠 시청 옵션을 디스플레이하는 방법 | |
US10965993B2 (en) | Video playback in group communications | |
EP3103250B1 (en) | Highlighting univiewed video messages | |
EP3103251B1 (en) | Automatic camera selection | |
CN103562908A (zh) | 利用不同文件宿主的文件访问 | |
US20150264309A1 (en) | Playback of Interconnected Videos | |
CN115474085B (zh) | 媒体内容播放方法、装置、设备和存储介质 | |
CN115665450A (zh) | 视频更新的推送方法及终端 | |
CN114764355A (zh) | 一种内容播放控制方法、装置、电子设备和存储介质 | |
CN115269105A (zh) | 内容展示方法、装置、设备及存储介质 | |
US20170199634A1 (en) | Methods and systems for managing media content of a webpage | |
WO2014152401A1 (en) | Interfacing a television with a second device | |
CN115022721B (zh) | 内容展示方法、装置、电子设备及存储介质 | |
EP4270187A1 (en) | Work display method and apparatus, and electronic device and storage medium | |
US20230297610A1 (en) | Search processing method and apparatus, device, medium, and program product | |
CN116974411A (zh) | 信息展示方法、装置、设备及存储介质 | |
CN117255219A (zh) | 一种评论处理方法、装置、电子设备及存储介质 | |
CN116301528A (zh) | 交互方法、装置、设备及存储介质 | |
CN117631929A (zh) | 一种资源切换方法、装置、电子设备及存储介质 | |
CN116170681A (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 |