2017-11-30 4 views
0

私はAVPlayerを使ってオンラインビデオを再生しています。それは正常に動作しています。今問題は、ビデオが再生される前にビューからポップアウトすると、バックグラウンドプロセスが実行され続けることです。動画が読み込まれると、動画はバックグラウンドで再生されます。AVPlayerはバックグラウンドで動作を続けます。

+0

を助けるなぜあなたは読み込みを停止しないとAVPlayerオブジェクトにnilを割り当てますか? –

答えて

0

あなたviewControllerでこれを追加する前に

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

ビューポーズプレーヤーを閉じ、アプリがあなたのviewDidLoad

NotificationCenter.default.addObserver(self, 
               selector: #selector(applicationDidEnterBackground), 
               name: NSNotification.Name.UIApplicationDidEnterBackground, 
               object: nil) 

でこれを追加する背景

に行くときにも、あなたはプレーヤーを一時停止する必要があります

@objc func applicationDidEnterBackground() { 
     if player != nil { 
      player.pause() 
      player = nil 
     } 
} 
あなたはそれのViewControllerから解任したときにプレーヤーを停止することができ、これらの両方のシナリオを処理することにより

もあなたのアプリがバックグラウンドに入る

希望これはあなた

0
override func viewWillDisappear(_ animated: Bool) { 
     super.viewWillDisappear(animated) 
     if self.player != nil { 
      self.player.pause() 
     } 
    } 
関連する問題