我正在尝试使用以下代码从视频生成缩略图图像。它确实生成了UIImage,但是图片在不同的时间都是相同的。例如,对于持续3秒的视频,它会生成6张图片,但所有的图片都是视频一开始的同一张图片。有什么想法我错在哪里了吗?
let asset = AVAsset(url: videoURL)
let imageGenerator = AVAssetImageGenerator(asset: asset)
let scale = 2
let step = 1
let duration = Int(CMTimeGetSeconds(asset.duration) * Double(scale))
var epoches = [NSValue]()
for i in stride(from: 1, to: duration, by: step) {
//let time = CMTimeMake(Int64(i), Int32(scale))
let time = CMTimeMakeWithSeconds(Double(i)/Double(scale), Int32(scale))
let cgImage = try! imageGenerator.copyCGImage(at: time, actualTime: nil)
let uiImage = UIImage(cgImage: cgImage)
self?.imagePool.append(uiImage)
epoches.append(NSValue(time: time))
}
CMTimeMake(1, 100)
! - Rhythmic Fistman