如何在 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 工作正常,您可以在需要时暂停它。在继承自AVPlayerViewControllerUIViewController 中添加此代码:

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 播放/暂停按钮 iOS?

使用 AVPlayer 播放音频时如何在 UIWebView 中暂停音频

如何保存 AVPlayer 中的最后暂停时间,并在另一个故事板中寻找它?

防止无音频 AVPlayer 暂停背景音频

如何在 tvOS 中将外部 .vtt 字幕文件添加到 AVPlayerViewController

如何暂停/恢复 avplayer 预加载