2017-05-13 3 views
2

Ich arbeite an einer App mit einem eingebauten Video-Player, der mp4 Videos von der Festplatte und ich versuche es weiter Wiedergabe der Audio (des Videos) wenn App geht in den Hintergrund.iOS Aktivieren Sie AVPlayer im Hintergrund weiter zu spielen

Ich habe auf viele andere Stapelüberlauffragen gelesen, aber keine der Antworten funktionierte für meinen Fall.

Ich habe hinzugefügt:

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) 
    } 
} 

Außerdem habe ich auch den erforderlichen Hintergrund Mode-Taste App plays audio or streams audio/video using AirPlay in der Info.plist-Datei der App. Die stoppt jedoch, wenn die App in den Hintergrund tritt.

Wer weiß, was mit der App falsch sein könnte?

Thanks :)

Edit: Hinweis: Ich verwende AVPlayerLayer zusammen mit AVPlayer. Vielleicht ist das das Problem?

Antwort

2

Ja AVPlayerLayer könnte Problem verursachen. Sie müssen es ausObjekt entfernen. Auf nil vor der Anwendung setzen, um in den Hintergrund zu gehen. in dem Spieler Element (Datei-basierte Inhalte nur)

Zwei Möglichkeiten nach Apple-Dokument zu lösen,

  1. die Spuren Video deaktivieren.

  2. Entfernen Sie den AVPlayerLayer aus dem zugehörigen AVPlayer (setzen Sie die Playereigenschaft AVPlayerLayer auf Null).

Siehe diese link für weitere Informationen.

+0

Danke, löste das Problem damit. :) –