Bir web sunucusundan video dosyası indirmeyi, söz konusu dosyayı belge dizinine kopyalamayı ve AVPlayer ile çalmayı içeren küçük bir proje üzerinde çalışıyorum.Belgeler dizinden AVPlayer ve video
Dosyayı belgeler dizinine indirme işlemi yapılmadı. Dosyayı indirip sorunsuz bir şekilde kaydedebiliyorum. Ancak, dosyayı AVPlayer'a yüklemek söz konusu olduğunda ve bunu bir AVPlayerViewController örneğinde oynatırken, vide denetleyicisi olması gerektiği gibi açılır, ancak video yüklenmez.
Simülatörde test yaparken, projeyi her yeniden oluşturduğunuzda belgeler dizininin değiştiğini fark ediyorum. Bu yüzden, oynatılmadan önce dosyanın mevcut olup olmadığını kontrol ediyorum ve dosyanın mevcut olduğunu bilmeme rağmen hala oynamayı reddediyor. İşte
benim oyuncu kod neye benzediği:
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()
}