AVURLAsset *asset = ......;
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
generator.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMakeWithSeconds(0, 30);
NSValue *timeValue = [NSValue valueWithCMTime:time];
[generator generateCGImagesAsynchronouslyForTimes:@[timeValue] completionHandler:^
(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error)
{
if (result == AVAssetImageGeneratorSucceeded)
{
UIImage *captureImage = [UIImage imageWithCGImage:image];
// 成功 do something
}
else
{
// 失敗
}
}];