如何在tvOS上暂停我的AVPlayer实例?

时间:2016-02-23 14:25:53

标签: avplayer tvos avplayerviewcontroller tvos9.1

我一直在开发一个tvOS应用程序,它通过AVPlayerViewController实例显示所有视频内容。我想添加类似于Netflix的功能,当用户在一段时间没有用户交互的情况下观看时,它会暂停视频并显示一条消息,询问用户是否仍在观看。在这样做的时候,我发现不可能通过调用[player pause][player setRate:0.0]暂停AVPlayerViewController中的AVPlayer实例,因为它立即恢复播放(它甚至有一个UI响应,因为播放器控件会显示一段时间。)

我可以摆脱这种自动恢复吗?我想避免释放播放器并创建自己的ViewController,因为它意味着从头开始重写用户控件,但没有其他想到的东西。有什么想法吗?

谢谢

1 个答案:

答案 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()
}