如何在 tvOS 上暂停我的 AVPlayer 实例?
Posted
技术标签:
【中文标题】如何在 tvOS 上暂停我的 AVPlayer 实例?【英文标题】:How to pause my AVPlayer instance on tvOS? 【发布时间】:2016-02-23 14:25:52 【问题描述】:我一直在开发一个 tvOS 应用程序,该应用程序的所有视频内容都通过 AVPlayerViewController 实例显示。我想添加一个类似于 Netflix 的功能,当用户在没有用户交互的情况下观看一段时间时,它会暂停视频并显示一条消息,询问用户是否仍在观看。这样做时,我发现不可能通过调用[player pause]
和[player setRate:0.0]
来暂停 AVPlayerViewController 内的 AVPlayer 实例,因为它会立即恢复播放(它甚至有一个 UI 响应,因为播放器控件显示短时间)。
我可以摆脱这种自动恢复吗?我想避免释放播放器并创建我自己的 ViewController,因为这意味着从头开始重写用户控件,但没有别的想法。有什么想法吗?
谢谢
【问题讨论】:
我猜这是一个错误...... 您在 playbackLikelyToKeepUp 上是否有任何观察者可以随时恢复播放? 【参考方案1】:在 tvOS10 中,AVPlayerViewController
中的 AVPlayer
工作正常,您可以在需要时暂停它。在继承自AVPlayerViewController
的UIViewController
中添加此代码:
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()
【讨论】:
以上是关于如何在 tvOS 上暂停我的 AVPlayer 实例?的主要内容,如果未能解决你的问题,请参考以下文章
使用 AVPlayer 播放音频时如何在 UIWebView 中暂停音频
如何保存 AVPlayer 中的最后暂停时间,并在另一个故事板中寻找它?