【发布时间】:2017-01-31 03:32:54
【问题描述】:
我需要拍摄视频,将每一帧转换为图像并将这些图像保存到磁盘。为了效率,我想使用AVAssetImageGenerator,并且代码类似于以下:
问题是我不知道所有图像生成何时完成,但是一旦所有帧都写入磁盘,我就需要采取行动。例如:
assetGenerator.generateCGImagesAsynchronously(forTimes: frameTimes, completionHandler: { (requestedTime, image, actualTime, result, error) in
// 1. Keep a reference to each image
// 2. Wait until all images are generated
// 3. Process images as a set
})
是上面的第 2 步让我绊倒了。我想我可以尝试计算完成处理程序被调用的次数,并在计数等于帧数时触发适当的方法。
但我想知道是否有一种方法可以使用 API 来了解每个帧的处理时间?也许只是我错过了什么?任何指导或建议将不胜感激。
【问题讨论】:
-
你计算图片的想法有什么问题?
标签: ios swift avfoundation avasset avassetimagegenerator