JPVideoPlayer 3.0 使用介绍

01. 引言

大家好,我是 NewPan,好久没冒泡了,去年下半年不加班的时间里,我一直在研究如何实现基于 AVPlayer实现视频支持拖拽进度的边下载边播放。这个过程缓慢又辛酸,中途数次看不到希望,差点放弃,但是最后还是坚持了下来,于是就有了现在全新的 3.0 版本。这次会分两篇文章讲解,第一篇是 3.0 的使用介绍,是写给那些只需知道如何使用的同学,接下来按照惯例,我会介绍源码的实现。

首先,我们来看一下全新 3.0 版本的新特性。对了,GitHub 地址在这里

02. 新版本新特性

这些特性基本涵盖了做视频播放的各方面,其中最重要的,也是这个框架价值所在,就是基于 AVPlayer实现了边下边播,同时支持断点续传。

  • 边下边播支持
  • 拖拽进度支持(new)
  • 断点续传支持(new)
  • 假横屏 auto-layout 布局支持(new)
  • 继承协议自定义播放控制界面支持(new)
  • 同一 URL 不重复下载支持
  • 保证不阻塞主线程
  • 本地视频播放播放支持
  • Swift 支持

03. 新版本使用介绍

由于这个框架最开始的时候就是为列表播放视频设计的,3.0 版本中这一点也得到了延续。框架对外提供了 3 类 UIView 的分类方法,保证不侵入你的项目。

03.1 静音播放

这个情况适合在列表中跟随用户的滑动,对应的播放某个 cell 上的视频,就像微博列表页视频播放一样。这种情况没有任何对视频的控制界面,只有一个缓冲进度条和播放进度条,就像下面这样:

要实现这个功能,只需要调用下面这个方法就可以了:

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_playVideoMuteWithURL:url
            bufferingIndicator:nil
                  progressView:nil
       configurationCompletion:nil];
复制代码

这个方法有四个参数,第一个不用说了,第二个是视频缓冲指示器,第三个是缓冲和播放进度条,第四个是配置完视频以后的一些操作回调。

但是在这个接口,除了第一个必选参数外,其他三个你都可以传空,因为框架为你实现了默认的视图,同时你也可以继承我提供的模板类进行快速的自定义。关于这点,我在下面会提到。

配套的,还有下面这个方法。

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_resumeMutePlayWithURL:url
             bufferingIndicator:nil
                   progressView:nil
        configurationCompletion:nil];
复制代码

这个方法是什么意思呢?我们在视频列表页播放,当用户选中了某一个 cell 的时候会跳转到对应的视频详情页,这个时候就轮到这个方法上场了。因为如果你直接使用上面那个方法来播放的话,视频会重头播,这样破坏了用户体验,而你调用这个方法,就可以连贯的开始播放。

同时这个方法中,你仍然可以定制自己的界面,而不是必须和上个界面的控制界面一样,小棉袄贴心吧?

03.2 带控制界面的播放

这个功能在视频详情页是必须的。这个时候除了视频图像一般还配套的有缓冲动画、播放进度以及控制视频界面。就像下面这样。

这个功能的接口是:

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_playVideoWithURL:url
        bufferingIndicator:nil
               controlView:nil
              progressView:nil
   configurationCompletion:nil];
复制代码

和上一个类型的方法没有太多不同,就是多了一个参数,多了一个 controlView这个是和用户交互的那个界面。

配套的,还有一个恢复播放的方法,比方上面说的从视频列表进入到视频详情,在视频列表使用的是静音带缓存和播放进度的方法进行播放,当用户点击某个视频的时候,进入到视频详情页就是开始恢复播放,这个界面带有用户控制 controlView 界面,而且还有横屏按钮。就像下面这样。

这个 API 是:

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_resumePla
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值