【发布时间】:2019-03-07 17:55:09
【问题描述】:
在 Swift 4.2 中,我正在尝试从视频中截取屏幕截图
func thumbnailImageFor(fileUrl:URL) -> UIImage? {
let asset = AVAsset(url: fileUrl)
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
assetImgGenerate.appliesPreferredTrackTransform = true
let time = CMTimeMakeWithSeconds(1.0, preferredTimescale: 600)
do {
let img = try assetImgGenerate.copyCGImage(at: time, actualTime: nil)
let thumbnail = UIImage(cgImage: img)
return thumbnail
} catch {
print(error)
return nil
}
}
但出现错误:
Error Domain=AVFoundationErrorDomain Code=-11800 "该操作可能 未完成” UserInfo={NSLocalizedFailureReason=未知错误 发生 (-12792), NSLocalizedDescription=操作不能 完成,NSUnderlyingError=0x600000f46580 {错误 Domain=NSOSStatusErrorDomain Code=-12792 "(null)"}}
我错过了什么吗?
【问题讨论】:
-
AFAIK
AVAsset需要内部文件 URL 而不是外部 Web URL -
你能试试直接用
AVURLAsset代替抽象的AVAsset吗?