1

// Erstens mein Englisch sehr schlecht, tut mir leid ... Ich implementiere AVPlayer meine App. Spieler funktioniert gut, aber wenn ich ein anderes Video viele Male spiele Player funktioniert nicht und nur this screen aussieht.AVPlayer funktioniert nicht richtig - Swift

Hier ist mein Code

let player:AVPlayer? 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let videoFile = object?.objectForKey("video") as? PFFile 

    videoFile?.getFilePathInBackgroundWithBlock({ (filePath, error) in 
     if error == nil { 
      let videoURL = NSURL(fileURLWithPath: filePath!) 

      self.player = AVPlayer(URL: videoURL) 
      let playerController = AVPlayerViewController() 
      playerController.player = self.player 

      playerController.showsPlaybackControls = false 
      playerController.videoGravity = AVLayerVideoGravityResizeAspectFill 

      playerController.view.frame = self.videoView.bounds 
      self.videoView.addSubview(playerController.view) 
      self.addChildViewController(playerController) 

      self.player!.play() 

     } else { 
      print(error) 
     } 
    }) 


} 

Antwort

0

Ich verstehe nicht, wie Sie das Video-Objekt holen, aber Sie können den folgenden Code versuchen. Es funktioniert gut.

var player:AVPlayer! // this shouldn't be let. 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let query = PFQuery(className:"TestClass") //your classname in parse. Change it with your clas name 
    query.getObjectInBackgroundWithId("SALe4gX2nk") { // get the video file with id. Change it with your id. 
    (object: PFObject?, error: NSError?) -> Void in 
     let videoFile = object?.objectForKey("video") as? PFFile 
     let url = NSURL(string: (videoFile?.url)!) 

     self.player = AVPlayer(URL: url!) 
     let playerController = AVPlayerViewController() 
     playerController.player = self.player 

     playerController.showsPlaybackControls = false 
     playerController.videoGravity = AVLayerVideoGravityResizeAspectFill 

     playerController.view.frame = self.view.bounds 
     self.view.addSubview(playerController.view) 
     self.addChildViewController(playerController) 

     self.player!.play() 

    } 

} 
+0

Ich hole den PFQueryTableViewController. Dieser Controller-Detailansicht-Controller. Das Problem wird nicht abgerufen. AVPlayer funktioniert bereits und spielt Videos. Mein Problem ist, dass ich viele Male Videos spiele und nach einiger Zeit funktioniert AVPlayer nicht mehr. –

+0

Check [this] (http://stackoverflow.com/questions/19291636/avplayer-stops-play-and-dontresume- wieder) – aytek