草庐IT

generateCGImagesAsynchronously

全部标签

ios - AVAssetImageGenerator.generateCGImagesAsynchronously 的错误帧

根据文档,generateCGImagesAsynchronously接受一个NSValue数组,并根据视频和给定时间生成帧,并将其作为回调返回。我使用以下代码生成值列表varvalues:[NSValue]=[]letframeDuration=CMTimeMake(1,timeScale)foriin0..正如您在上面的代码中看到的,我使用同步方法交叉检查了结果,我可以确认values数组包含正确的时间引用。但是当相同的数组被传递给generateImageAsynchronously方法时,对于不同的时间戳,我得到相同帧的副本10次。也就是说,如果我的视频是10秒,那么我会得到3

ios - 我怎么知道 generateCGImagesAsynchronously 何时完全完成?

我需要拍摄一段视频,将每一帧转换为图像并将这些图像保存到磁盘。为了效率起见,我想使用AVAssetImageGenerator,并且有类似于以下的代码:问题是我不知道什么时候所有图像生成完成,但我需要在所有帧都写入磁盘后采取行动。例如:assetGenerator.generateCGImagesAsynchronously(forTimes:frameTimes,completionHandler:{(requestedTime,image,actualTime,result,error)in//1.Keepareferencetoeachimage//2.Waituntilalli