iOS Swift:错误域=NSOSStatusErrorDomain代码=-12792?
我正在尝试使用以下代码获取视频缩略图:iOS Swift:错误域=NSOSStatusErrorDomain代码=-12792?,ios,error-handling,avfoundation,nserror,video-thumbnails,Ios,Error Handling,Avfoundation,Nserror,Video Thumbnails,我正在尝试使用以下代码获取视频缩略图: let asset = AVAsset(URL: url) let imageGenerator = AVAssetImageGenerator(asset: asset) imageGenerator.appliesPreferredTrackTransform = true do { let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(1, 3
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)")
}
有时有效,有时不显示以下错误:
Error Domain=AVFoundationErrorDomain Code=-11800“操作可能会失败
无法完成“UserInfo={NSLocalizedDescription=操作无法完成
未完成,NSUnderlyingError=0x14eab520{错误
域=NSOSStatusErrorDomain代码=-12792“(空)”},
NSLocalizedFailureReason=发生未知错误(-12792)}
我试图找出什么是
Domain=NSOSStatusErrorDomain code=-12792
,但我不明白如何获得有关此错误代码的更多详细信息。如何将此错误代码转换为字符串以获取有关此错误含义的相关信息?我可以通过以下方法解决此问题
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)
}
})
}
希望这会有所帮助。请出示您的url好吗?@Dharbirsingh我可以私下给您发送吗?我没有太多时间把它保密。如果你把它放在这里就太好了。你在浏览器中播放视频吗?该错误可能是由于使用了URLWithString。我认为应该使用-fileURLWithPath而不是URLWithString。ref:-谢谢@nitinghel视频位于服务器上,它不是本地视频,因此使用URLWithString