我创造了一个玩家并且在大多数时候工作得很好 .
在某些情况下(我没有意识到为什么)屏幕视频保持黑色,播放按钮不起作用 .
我验证了网址并且没问题,这不是问题所在 .
在我的viewController中,我可以使用不同的url将这段代码调用多次,这就是我'重启'AVPlayerViewController的原因 .
// Create an var in class...
// ....
self.videoPlayerViewController?.player?.pause()
self.videoPlayerViewController = AVPlayerViewController()
self.videoPlayerViewController?.player = viewModel.avPlayer
if let avController = self.videoPlayerViewController {
self.add(avController, in: self.playerView)
avController.player?.play()
} else {
// Error
}
这个功能添加:
extension UIViewController {
func add(_ viewController: UIViewController, in view: UIView) {
viewController.view.frame = view.bounds
addChildViewController(viewController)
view.addSubview(viewController.view)
viewController.didMove(toParentViewController: self)
view.clipsToBounds = true
}
}
有人知道出了什么问题吗?提前致谢!!
1 回答
经过这么多时间..我找到了解决方案 .
问题是我没有在AVPlayerController中清理AVPlayer . 我还在DispachQueue中添加了New实例 .
这是新代码:
在我添加到viewController之后:
我希望它可以帮助别人!