[英]Generation of thumbnail fails with error AVFoundationErrorDomain Code=-11800
I am using following code to generate a URL of remote video using AVAsset class 我正在使用以下代码使用AVAsset类生成远程视频的URL
func generateThumnail(url :URL, fromTime:Float64) -> UIImage? {
let asset :AVAsset = AVAsset(url:url)
let assetImgGenerate : AVAssetImageGenerator = AVAssetImageGenerator(asset: asset)
assetImgGenerate.appliesPreferredTrackTransform = true
assetImgGenerate.requestedTimeToleranceAfter = kCMTimeZero;
assetImgGenerate.requestedTimeToleranceBefore = kCMTimeZero;
let time : CMTime = CMTimeMakeWithSeconds(1,30)
do {
let img = try assetImgGenerate.copyCGImage(at: time, actualTime: nil)
return UIImage(cgImage: img)
} catch let error as NSError {
print("Image generation failed with error \(error)")
return nil
}
return nil
}
If fails sometimes ore more often with following error for same video URL 如果失败,则有时对同一视频URL的跟踪错误经常发生
AVFoundationErrorDomain Code=-11800 AVFoundationErrorDomain代码= -11800
Not sure whats wrong with the above code I am new to AVAsset and related framework any help is appreciated 不知道上面的代码有什么问题我是AVAsset和相关框架的新手,不胜感激
func getVideoThumbNail(_ videoName: String) -> UIImage {
do {
let url = URL(fileURLWithPath: getDocumentsDirectory().appendingPathComponent(videoName))
let asset = AVURLAsset(url: url, options: nil)
let imgGenerator = AVAssetImageGenerator(asset: asset)
imgGenerator.appliesPreferredTrackTransform = true
let cgImage = try imgGenerator.copyCGImage(at: CMTimeMake(2, 3), actualTime: nil)
return UIImage(cgImage: cgImage)
} catch let error as NSError {
print("\(ERROR_GENERATING_THUMNAIL): \(error)")
}
return ERROR_GENERATING_THUMNAIL
}
func getDocumentsDirectory() -> NSString {
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
return paths[0] as NSString
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.