[发明专利]一种单例视频播放器的实现方法在审
申请号: | 201710458792.0 | 申请日: | 2017-06-16 |
公开(公告)号: | CN107197393A | 公开(公告)日: | 2017-09-22 |
发明(设计)人: | 陈派大;刘文辉;洪光中 | 申请(专利权)人: | 广州荔枝网络有限公司 |
主分类号: | H04N21/81 | 分类号: | H04N21/81;H04N21/443 |
代理公司: | 北京捷诚信通专利事务所(普通合伙)11221 | 代理人: | 王卫东 |
地址: | 510066 广东省广州市越秀区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 播放 实现 方法 | ||
技术领域
本发明涉及数据视频播放器,具体涉及一种单例视频播放器的实现方法。
背景技术
目前,市面上的播放器(例如七牛和腾讯)一般是通过以下流程实现播放:
(1)将自定义好的播放器视图放置于布局文件中;
(2)在Activity或者Fragment中获取到布局文件中的视图,获取到播放器实例,然后设置播放器的播放参数和回调函数;
(3)控制播放器播放停止;
(4)如果需要进行页面跳转,而保持播放连续,需临时保存播放进度和播放地址,在跳转后新建一个播放器,并设置为临时保存的播放地址和播放进度,实现一个连续播放。
可见,当前播放器的实现都是将播放器视图直接写到布局文件中,每次播放前都要初始化播放器的参数,如果要在页面跳转的时候连续播放,例如列表跳转到Activity,需要记录当前播放进度和播放地址等等参数,在跳转过后再次为新建的播放器设置之前记录的参数才能播放;虽然能做到连续播放,但是上一个页面播放的缓存没有了,跳转到下一个页面的时候需要重新加载,导致会有缓冲的动作,影响用户体验,而且如果页面持续跳转,不断实例化播放器,会导致内存不断增大,如果内存不及时回收会导致内存溢出。
发明内容
本发明所要解决的技术问题是当前播放器在连续播放时,跳转到下一个页面的时,上一个页面缓存已不在,需要重新加载,导致会有缓冲的动作影响用户体验,而且如果页面持续跳转,不断实例化播放器,会导致内存不断增大,内存不能及时回收,导致内存溢出的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种单例视频播放器的实现方法,包括以下步骤:
步骤S10、APP启动,初始化播放器;
步骤S20、在当前页面建立一个FrameLayout,作为容器放置播放器,将播放器放置于FrameLayout中,实现播放;
步骤S30、如果需要跳转且连续播放,获取跳转目的页面的目的FrameLayout,跳转时不停止当前页面播放器,将当前页面FrameLayout中的播放器移动到目的FrameLayout中,并使Activity或者Fragment继承接口实现播放所需的函数的回调,开始连续播放。
在上述方法中,在步骤S10中,在Application的onCreate()方法里调用VideoMediaController.init()函数进行播放器的初始化的。
在上述方法中,初始化播放器包括:
设置准备超时时间;
设置是否在线直播;
设置缓存大小;
设置是否开启自动播放;
设置画面预览模式;
设置播放器背景颜色。
在上述方法中,步骤S20和步骤S30中FrameLayout的大小等于预想的播放器的大小,播放器自适应FrameLayout的大小。
在上述方法中,所述播放所需的函数包括播放准备完成回调函数、播放进度回调函数以及播放错误回调函数。
在上述方法中,对所有播放所需的函数进行了再次封装,并使Activity或者Fragment继承再次封装的接口。
在上述方法中,跳转目的页面获取目的FrameLayoutA,再调用VideoMediaController.addVideoViewInHolder(A,X)函数,将当前页面的播放器放置到目的Fragment A当中,第二个参数(X)控制是否显示缓冲图标,如果需要跳转且连续播放,将第二个参数设置为false,如果是重新开始播放就设置为true。
在上述方法中,在将当前页面FrameLayout中的播放器移动到目的FrameLayout中时,同时要把一个实体类传入到VideoMediaController中,用于控制播放地址、清晰度选择;以及通过VideoMediaController获取到PLVideoTextureView播放器对象,进行播放控制。
在上述方法中,步骤S30具体包括以下步骤:
步骤S31、接收跳转播放页面请求;
步骤S32、判断当前页面是否有播放器,如果有,执行步骤S33;否则,执行步骤S37;
步骤S33、判断是否需要连续播放,如果是执行步骤S35;否则,执行步骤S34;
步骤S34、停止当前页面播放器,然后执行步骤S36;
步骤S35、不停止当前页面播放器,然后执行步骤S36;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州荔枝网络有限公司,未经广州荔枝网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710458792.0/2.html,转载请声明来源钻瓜专利网。