iPlayer
iPlayer 简单封装了 AVPlayer,只需传入网址即可播放视频文件。
需求
- iOS 9.3+
- Cocoapod 1.5.3
安装
Cocoapods
Cocoapods 是 Cocoa 项目的依赖管理器。您可以通过以下命令安装它
$ gem install cocoapods
要将 iPlayer 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'iPlayer', '~> 1.0'
end
用法
安装后,您需要将 iPlayer 框架导入到您的 ViewController 文件中。
import iPlayer
方法1
为IPlayerView类创建一个对象,并将其添加到根视图中的子视图。
let iPlayerView = IPlayerView()
<Your Root View>.addSubView(iPlayerView)
方法2
您还可以直接在Storyboard中添加一个UIView,并将其类设置为IPlayerView。
您即将完成!
要开始播放视频,将视频URL传递给IPlayerView对象。
iPlayerView.loadVideo(with: "<Your Video URL>")
由于这只是一个ViewController中的子视图,当设备方向改变时,IPlayerView中的控件需要进行适当的对齐。要处理这个问题,您可以指示IPlayerView在每个ViewController的方向改变时更新其约束。要做到这一点,请添加以下代码。
iPlayerView.updateForOrientation(orientation: UIDevice.current.orientation)
处理IPlayerView事件
要通知IPlayerView中发生的事件,请将您的ViewController扩展为
iPlayerView.delegate = self
以下是将被委托的方法。
func playerViewUpdatesControlsVisibility(shouldShow: Bool)
func playerViewDidFinishPlaying()
func iPlayerView(iPlayerView: IPlayerView, failedWith error: IPlayerError)
有时,IPlayerView可能会根据当前视频状态请求父级隐藏/显示控件。比如在视频播放时,IPlayerView可能会要求父级隐藏导航栏和其他控件。
为此,您将被委托给func playerViewUpdatesControlsVisibility(shouldShow: Bool)
方法,您可以在其中执行所需的显示/隐藏操作。