JPVideoPlayer 3.2.0-beta

JPVideoPlayer 3.2.0-beta

Tests已测试
Lang语言 Obj-CObjective C
授权 MIT
Released最新版本2019年3月

NewPan维护。



JPVideoPlayer 3.2.0-beta

  • 作者:
  • NewPan

license pod pod pod

此库提供了一个基于AVPlayer的视频播放器,具有UITableView的缓存支持。

特性

  • 在播放时缓存视频数据。
  • 支持快速查找时间(新)。
  • 支持断点续传(新)。
  • 支持横屏自动布局(新)。
  • 支持自定义播放器控制视图(新)。
  • 卓越的性能!
  • 保证相同的URL不会重复下载几次
  • 保证主线程永远不会被阻塞
  • 支持位置视频播放
  • 支持Swift

要求

  • iOS 8.0或更高版本
  • Xcode 7.3或更高版本

入门

如何使用

01.播放视频。

1.1.静音播放视频,并在UITableViewCell或任何视图中显示进度视图。

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

1.2.当用户选择UITableViewCell时从UITableViewController恢复静音播放到详细UIViewController。

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

1.3.播放视频并显示控制视图和进度视图。

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

1.4.显示控制视图和进度视图后恢复播放。

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_resumePlayWithURL:url
         bufferingIndicator:nil
                controlView:nil
               progressView:nil
    	      configuration:nil];

1.5.无控制视图和进度视图播放视频。

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_playVideoWithURL:url
		   options:kNilOptions
   	     configuration:nil];

1.6. 无控制视图 & 进度视图的恢复播放。

NSURL *url = [NSURL URLWithString:@"http://p11s9kqxf.bkt.clouddn.com/bianche.mp4"];
[aview jp_resumePlayWithURL:url
		    options:kNilOptions
    	      configuration:nil];

2.横竖屏控制

2.1. 进入横屏。

[aview jp_gotoLandscape];

[aview jp_gotoLandscapeAnimated:YES completion:nil];

2.2. 进入竖屏。

[aview jp_gotoPortrait];

[aview jp_gotoPortraitAnimated:YES completion:nil];

3. 在像微博那样的UITableView中播放视频。

UITableView中播放视频支持等高和不等高单元格,你可以直接在UITableView上使用分类方法。你还应该准确地设置jp_tableViewVisibleFrame,以确保在屏幕中心最近的单元格上播放视频。

[tableView jp_playVideoInVisibleCellsIfNeed];

[tableView jp_handleCellUnreachableTypeInVisibleCellsAfterReloadData];

[tableView jp_handleCellUnreachableTypeForCell:cell
                                   atIndexPath:indexPath];

[tableView jp_scrollViewDidScroll];

[tableView jp_scrollViewDidEndDraggingWillDecelerate:decelerate];

[tableView jp_scrollViewDidEndDecelerating];

4. 自定义控制视图 & 进度视图 & 缓冲指示器。

此库提供了基本JPVideoPlayerProgressViewJPVideoPlayerBufferingIndicatorJPVideoPlayerControlView,因此你可以在播放视频方法中传递nil。你可以继承这些基本类来自定义自己的UI,你也可以不继承它们,直接使用你自己的UI,但你必须实现JPVideoPlayerControlProgressProtocolJPVideoPlayerBufferingProtocolJPVideoPlayerProtocol中的方法。

5. 缓存管理。

[JPVideoPlayerCache.sharedCache calculateSizeOnCompletion:^(NSUInteger fileCount, NSUInteger totalSize) {
    // do something.
}];

[JPVideoPlayerCache.sharedCache clearDiskOnCompletion:^{
    // do something
}];

安装

您可以在项目中使用 JPVideoPlayer 的两种方式

  • 使用 CocoaPods
  • 通过将项目克隆到您的仓库中

使用 CocoaPods 进行安装

CocoaPods 是 Objective-C 的依赖管理器,它自动化并简化了在项目中使用第三方库的过程。请参阅入门部分以获取更多详细信息。

Podfile

platform :ios, '8.0'
target "YourProjectName" do
pod 'JPVideoPlayer'
end

沟通

  • 如果您 发现了错误,请创建一个 issue。
  • 如果您 有功能请求,请创建一个 issue。
  • 如果您 希望贡献,请提交一个 pull request。

许可

所有源代码均采用 MIT 许可证 许可。

架构

赞助

你的这一赞助,让我写得更有动力了!

微信赞助扫码

支付宝赞助扫码