iOS Swift:错误域= NSOSStatusErrorDomain代码= -12792? [英] iOS Swift : Error Domain=NSOSStatusErrorDomain Code=-12792?
问题描述
我正在尝试使用以下代码获取视频缩略图:
I'm trying to get video thumbnails with the following code:
let asset = AVAsset(URL: url)
let imageGenerator = AVAssetImageGenerator(asset: asset)
imageGenerator.appliesPreferredTrackTransform = true
do {
let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(1, 30), actualTime: nil)
let uiImage = UIImage(CGImage: cgImage)
imageview.image = uiImage
}
catch let error as NSError
{
print("Image generation failed with error \(error)")
}
有时可以正常工作,有时不显示以下错误:
Sometimes it works and sometime it doesn't showing the following error:
Error Domain = AVFoundationErrorDomain代码= -11800该操作可能 未完成" UserInfo = {NSLocalizedDescription =该操作可以 未完成,NSUnderlyingError = 0x14eab520 {错误 Domain = NSOSStatusErrorDomain Code = -12792(null)"}, NSLocalizedFailureReason =发生未知错误(-12792)}
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x14eab520 {Error Domain=NSOSStatusErrorDomain Code=-12792 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-12792)}
我试图弄清楚什么是Domain=NSOSStatusErrorDomain Code=-12792
,但是我不明白如何获得有关此错误代码的更多详细信息.如何将错误代码转换成字符串以获取有关此错误含义的相关信息?
I have tried to figure out what is Domain=NSOSStatusErrorDomain Code=-12792
but I don't understand how I can get more details about this error code. How can I convert this error code into a string to get relevant information about what this error means?
推荐答案
我能够通过以下方法解决此问题.
I was able to solve this issue by the following approach.
Swift 4.1
Swift 4.1
func createThumbnailForVideo(atURL videoURL: URL , completion : @escaping (UIImage?)->Void) {
let asset = AVAsset(url: videoURL)
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
assetImgGenerate.appliesPreferredTrackTransform = true
let time = CMTimeMakeWithSeconds(1, preferredTimescale: 60)
let times = [NSValue(time: time)]
assetImgGenerate.generateCGImagesAsynchronously(forTimes: times, completionHandler: { _, image, _, _, _ in
if let image = image {
let uiImage = UIImage(cgImage: image)
completion(uiImage)
} else {
completion(nil)
}
})
}
希望这会有所帮助.
这篇关于iOS Swift:错误域= NSOSStatusErrorDomain代码= -12792?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!