AVPlayer继续在后台运行我们如何阻止它

时间:2017-11-30 11:47:01

标签: ios swift

我正在使用AVPlayer播放在线视频。它工作正常。现在的问题是,当我在视频开始播放之前从视图中弹出时,后台进程会继续运行。当视频加载后,它开始在后台播放。

2 个答案:

答案 0 :(得分:0)

在关闭视图暂停播放器之前

if player != nil {
     player.pause()
     player = nil
  }

并且您还需要在应用转到后台时暂停播放器

viewDidLoad

中添加此内容
NotificationCenter.default.addObserver(self,
                                               selector: #selector(applicationDidEnterBackground),
                                               name: NSNotification.Name.UIApplicationDidEnterBackground,
                                               object: nil)

viewController

中添加此内容
 @objc func applicationDidEnterBackground() {
        if player != nil {
           player.pause()
           player = nil
        }
 }

通过处理这两种情况,当您的应用程序进入后台时,当您从该viewController中解除时,您可以停止播放器

希望这会对你有所帮助

答案 1 :(得分:0)

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        if self.player != nil {
            self.player.pause()
        }
    }