gpt4 book ai didi

ios - AVPlayerViewController 从全屏返回后停止

转载 作者:行者123 更新时间:2023-12-01 16:02:52 42 4
gpt4 key购买 nike

我有一个 AVPlayerViewController我用 AVPlayer 初始化还有一些 AVPlayerItem (iOS 10、Xcode 8、Objective C)。AVPlayerViewController在某些 subview 中“内联”呈现,并且一切都与 native 播放控件完美配合。

当我按下 native 全屏按钮时,它也可以正常工作并切换到全屏模式(左上方的完成按钮)。

我的问题是当我按下完成按钮从全屏返回时,播放器由于某种原因停止播放,自行重置,如果我检查 .currentItem , 我看到是 nil .

这里发生了什么事?为什么不能AVPlayerViewController维护其AVPlayerItem在从/到全屏切换之间?

最佳答案

因为它看起来像 AVPlayerViewController 的当前行为是退出全屏时暂停,我们可以调用play()通过实现委托(delegate)退出时:

class VideoView {

private var playerViewController: AVPlayerViewController?

func something() {

playerViewController = AVPlayerViewController()

// Other setups

playerViewController?.delegate = self
}
}

extension VideoView: AVPlayerViewControllerDelegate {

func playerViewController(_ playerViewController: AVPlayerViewController, willEndFullScreenPresentationWithAnimationCoordinator coordinator: UIViewControllerTransitionCoordinator) {

// The system pauses when returning from full screen, we need to 'resume' manually.
coordinator.animate(alongsideTransition: nil) { transitionContext in
self.playerViewController?.player.play()
}
}
}

关于ios - AVPlayerViewController 从全屏返回后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324464/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com