2017-05-13 11 views
2

私はビデオプレーヤーを内蔵したビデオプレーヤーを使って、ディスクからmp4ビデオを再生しています。そのビデオを再生しようとしています。続きアプリは、背景がになります。iOS AVPlayerをバックグラウンドで再生できるようにする

私は他の多くのスタックオーバーフローに関する質問を読みましたが、私の場合は答えがありませんでした。

は、私が追加しました:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    do { 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
     print("AVAudioSession Category Playback OK") 

    do { 
     try AVAudioSession.sharedInstance().setActive(true) 
     print("AVAudioSession is Active") 
    } catch let error as NSError { 
     print(error.localizedDescription) 
    } 
    } catch let error as NSError { 
     print(error.localizedDescription) 
    } 
} 

以外にも、私はまた、アプリケーションのInfo.plistファイル内App plays audio or streams audio/video using AirPlayキーに必要なバックグラウンドモードを持っています。 しかし、AVPlayerは、アプリがバックグラウンドになると停止します。

誰でもアプリに何が間違っている可能性がありますか?

感謝:)

編集:注:私はAVPlayerと一緒AVPlayerLayerを使用しています。多分これは問題ですか?

答えて

2

はいAVPlayerLayerが問題を引き起こしている可能性があります。 AVPlayerオブジェクトから削除する必要があります。アプリケーションがバックグラウンドになる前にnilに設定してください。 Appleの文献によれば解決する

二つの方法、

  1. はプレーヤーアイテム(唯一のファイルベースのコンテンツ)でのビデオトラックを無効にします。

  2. AVPlayerLayerを関連するAVPlayerから削除します( AVPlayerLayerプレーヤーのプロパティをnilに設定します)。

は、より多くの情報のため、このlinkを参照してください。

+0

ありがとう、この問題を解決しました。 :) –

関連する問題