2016-04-19 6 views
1

Ich versuche Videos abzuspielen, die auf diesem Pfad von mir aufgenommen wurden. Aber ich kann kein Video von diesem Pfad abspielen. Was soll ich machen?AvPlayer kann kein Video vom benutzerdefinierten Pfad abspielen

let pathMovie = (NSHomeDirectory() as NSString).stringByAppendingPathComponent("Documents/Movie.mp4") 

     let fileUrl = NSURL(fileURLWithPath: pathMovie) 
     self.videoFrame = view.frame 
     self.fillMode = .ResizeAspectFill 
     self.alwaysRepeat = true 
     self.sound = true 
     self.startTime = 0.0 
     self.alpha = 1 
     self.backgroundColor = UIColor.blackColor() 
     self.contentURL = fileUrl 

Und das ist Fehler, den ich bekomme.

fehlgeschlagen: Optional (Error Domain = AVFoundationErrorDomain-Code = -11.800 "Der Vorgang konnte nicht abgeschlossen werden" Userinfo = {NSLocalizedFailureReason ist ein unbekannter Fehler (-12893) aufgetreten =, NSLocalizedDescription konnte nicht abgeschlossen werden Der Betrieb =, NSURL = file: ///var/mobile/Containers/Data/Application/................../Documents/Movie.mp4, NSUnderlyingError = 0x150a38e80 { Fehler Domain = NSOSStatusErrorDomain-Code = -12.893 "(null)"}})

+0

Sind Sie sicher, dass diese Datei vorhanden ist? – Avt

+0

Ja, ich sah Datei mit Geräten Bildschirm –

+0

Stellen Sie sicher, dass Ihr Film-Codec H264/AAC-Audio –

Antwort

0

Sie können durch Zugabe von folgenden zwei Methoden Video von benutzerdefinierten Pfad spielen:

Hinweis: Bitte geben Sie Ihre Videoname als Argument für die getCustomVideoPath-Methode.

Swift 4

func getCustomVideoPath(name: String) -> String { 
    let strDocumentDirectory = self.getDocumentDirectoryPath() 
    return "\(strDocumentDirectory)/\(name).mp4" 
} 

func getDocumentDirectoryPath() -> String { 
    let arrPaths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) 
    return arrPaths[0] 
} 

//---------------------------------------------------------------- 

func playCustomVideo() { 
    let strVideoPath = self.getCustomVideoPath(name:"Movie") 
    let urlVideoPath = URL(fileURLWithPath: strVideoPath) 
    let newPlayerItem = AVPlayerItem(url: urlVideoPath) 
    self.avPlayer = AVPlayer(playerItem: newPlayerItem) 
    avPlayerController.player = self.avPlayer 
    self.avPlayer?.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions(rawValue: 0), context: MPPlayableContentManagerContext.observationInfo()) 
    self.present(avPlayerController, animated: true) { 
     self.avPlayer?.play() 
    } 
} 
+0

Hey @Murat Kaya Fanden Sie meine Antwort hilfreich? –