我一直在开发一个tvOS应用程序,它通过AVPlayerViewController实例显示所有视频内容。我想添加类似于Netflix的功能,当用户在一段时间没有用户交互的情况下观看时,它会暂停视频并显示一条消息,询问用户是否仍在观看。在这样做的时候,我发现不可能通过调用[player pause]
和[player setRate:0.0]
暂停AVPlayerViewController中的AVPlayer实例,因为它立即恢复播放(它甚至有一个UI响应,因为播放器控件会显示一段时间。)
我可以摆脱这种自动恢复吗?我想避免释放播放器并创建自己的ViewController,因为它意味着从头开始重写用户控件,但没有其他想到的东西。有什么想法吗?
谢谢
答案 0 :(得分:0)
在tvOS10中,AVPlayer
内的AVPlayerViewController
工作正常,您可以在需要时将其暂停。在继承自UIViewController
:
AVPlayerViewController
内添加此代码
self.player = AVPlayer.init(playerItem: AVPlayerItem.init(asset: AVAsset.init(url: URL.init(string: "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8")!)))
self.player?.play()
DispatchQueue.main.asyncAfter(deadline: .now() + 5.0) {
self.player?.pause()
}