Je suis en train de développer un lecteur vidéo dans lequel j'ai des fonctionnalités de recadrage. J'utilise ABVideoRangeSlider pour ça. Chaque fois que j'essaie de couper et enregistrer la vidéo, je reçois Error Domain=NSCocoaErrorDomain Code=-1 "(null)"
cette erreur. Voici mon extrait de codeImpossible de montrer la vidéo dans l'appareil photo roll after trim
let composition = AVMutableComposition()
let track = composition.addMutableTrack(withMediaType: AVMediaTypeVideo, preferredTrackID:Int32(kCMPersistentTrackID_Invalid))
try! track.insertTimeRange(CMTimeRangeMake(startTimeForCurrentSlice, endTimeForCurrentSlice), of: asset.tracks(withMediaType: AVMediaTypeVideo)[0] as AVAssetTrack, at: kCMTimeZero)
var paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0] as String
let videoPathToSave = documentsDirectory.appending("mergeVideo-\(arc4random()%1000)-d.mp4")
let videoURLToSave = NSURL(fileURLWithPath: videoPathToSave)
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: videoURLToSave as URL)
}) { saved, error in
if saved {
let alertController = UIAlertController(title: "Your video was successfully saved", message: nil, preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
} else {
print("Error: \(String(describing: error!))")
}
}
Toute aide sera appréciée.