AVAssetImageGenerator在复制图像时失败
我正在使用AVAssetImageGenerator
从video的最后一帧创build一个图像。 这通常工作正常,但copyCGImageAtTime
与错误
NSLocalizedDescription = "Cannot Open"; NSLocalizedFailureReason = "This media cannot be used."; NSUnderlyingError = "Error Domain=NSOSStatusErrorDomain Code=-12431";
我正在validationAVAsset不是零,我直接从资产拉CMTime,所以我不明白为什么这种情况继续发生。 这只发生在试图获取最后一帧时,如果我使用kCMTimeZero
,它似乎工作。
- (void)getLastFrameFromAsset:(AVAsset *)asset completionHandler:(void (^)(UIImage *image))completion { NSAssert(asset, @"Tried to generate last frame from nil asset"); AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset]; gen.requestedTimeToleranceBefore = kCMTimeZero; gen.requestedTimeToleranceAfter = kCMTimeZero; gen.appliesPreferredTrackTransform = YES; CMTime time = [asset duration]; NSError *error = nil; CMTime actualTime; CGImageRef imageRef = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error]; UIImage *image = [[UIImage alloc] initWithCGImage:imageRef]; NSAssert(image, @"Failed at generating image from asset's last frame"); completion(image); CGImageRelease(imageRef); }
这似乎是相关的,但它并没有解决我的问题。
- 如何在iOS Phonegap应用程序中显示自定义的飞溅屏幕微调(即微调白色)?
- 即使在userInteractionEnabled = NO的情况下,也可以在firstResponder上显示UITextField键盘