在此之前,您使用过 ZFPlayer,您是否担心使用封装 avplayer 而不是使用或修改源代码来支持其他播放器,控制层难以自定义等问题?为了解决这些问题,我编写了这个播放器模板,对于播放器 SDK,您可以让它遵守 `ZFPlayerMediaPlayback
` 协议,对于控制视图,您可以让它遵守 `ZFPlayerMediaControl
` 协议,可以自定义播放器和控制视图。
🔨 要求
- iOS 7+
- Xcode 8+
📲 安装
ZFPlayer 通过 CocoaPods 提供。要安装,使用以下行添加到您的 Podfile 中
pod 'ZFPlayer', '~> 4.0'
使用默认控件视图,只需在 Podfile 中添加以下行
pod 'ZFPlayer/ControlView', '~> 4.0'
使用 AVPlayer,只需在 Podfile 中添加以下行
pod 'ZFPlayer/AVPlayer', '~> 4.0'
使用 ijkplayer,只需在 Podfile 中添加以下行
pod 'ZFPlayer/ijkplayer', '~> 4.0'
IJKMediaFramework SDK 支持 CocoaPods
🐒 用法
ZFPlayerController
主要类,常规样式初始化和列表样式初始化(tableView,collection,scrollView)
常规样式初始化
ZFPlayerController *player = [ZFPlayerController playerWithPlayerManager:playerManager containerView:containerView];
ZFPlayerController *player = [[ZFPlayerController alloc] initwithPlayerManager:playerManager containerView:containerView];
列表样式初始化
ZFPlayerController *player = [ZFPlayerController playerWithScrollView:tableView playerManager:playerManager containerViewTag:containerViewTag];
ZFPlayerController *player = [ZFPlayerController alloc] initWithScrollView:tableView playerManager:playerManager containerViewTag:containerViewTag];
ZFPlayerController *player = [ZFPlayerController playerWithScrollView:scrollView playerManager:playerManager containerView:containerView];
ZFPlayerController *player = [ZFPlayerController alloc] initWithScrollView:tableView playerManager:playerManager containerView:containerView];
ZFPlayerMediaPlayback
对于播放器管理器,您必须使它遵守 `ZFPlayerMediaPlayback
` 协议,自定义播放器管理器可以支持任何播放器 SDK,如 `AVPlayer
`、`MPMoviePlayerController
`、`ijkplayer
`、`vlc
`、`PLPlayerKit
`、`KSYMediaPlayer
` 等,您可以参考 `ZFAVPlayerManager
` 类。
Class<ZFPlayerMediaPlayback> *playerManager = ...;
ZFPlayerMediaControl
此类用于显示控制层,你必须遵守 ZFPlayerMediaControl 协议,可以参考 ZFPlayerControlView
类。
UIView<ZFPlayerMediaControl> *controlView = ...;
player.controlView = controlView;
📷 屏幕截图
参考
👨🏻💻 作者
- 微博: @任子丰
- 邮箱: [email protected]
- QQ群: 123449304
👮🏻 许可证
ZFPlayer遵循MIT许可证。更多详情请参阅LICENSE文件。