Ich habe an einem kleinen Projekt gearbeitet, bei dem eine Videodatei von einem Webserver heruntergeladen, in das Dokumentenverzeichnis kopiert und dann über AVPlayer abgespielt wird.AVPlayer & Video aus Dokumentenverzeichnis
Das Herunterladen der Datei in das Dokumentenverzeichnis war kein Problem. Ich kann die Datei herunterladen und ohne Problem speichern. Wenn es jedoch darum geht, die Datei in den AVPlayer zu laden, und dabei in einer Instanz von AVPlayerViewController abgespielt wird, erscheint der vide-Controller so, wie er sollte, aber das Video wird nicht geladen.
Ich weiß, dass beim Testen im Simulator das Dokumentverzeichnis jedes Mal geändert wird, wenn Sie das Projekt neu erstellen. Deshalb überprüfe ich, ob die Datei vorhanden ist, bevor ich spiele, und obwohl ich weiß, dass die Datei vorhanden ist, weigert sie sich immer noch zu spielen.
Hier ist, was meine Spieler Code wie folgt aussieht:
let fileName = downloadURL.characters.split("/").map(String.init).last as String!
let fileNameHD = downloadURLHD.characters.split("/").map(String.init).last as String!
let downloadFilePath = getDocumentsDirectory() + "/" + "\(fileNameHD)"
let checkValidation = NSFileManager.defaultManager()
if checkValidation.fileExistsAtPath(downloadFilePath){
print("video found")
}
let videoFile = NSURL(string:downloadFilePath)
let player = AVPlayer(URL: videoFile!)
let playerController = AVPlayerViewController()
playerController.player = player
playerController.view.frame = self.view.frame
player.play()
self.presentViewController(playerController, animated: true) {
playerController.player!.play()
}