【问题标题】:Why is my thumbnail from video using AVAssetImageGenerator is not showing?为什么我使用 AVAssetImageGenerator 的视频缩略图没有显示?
【发布时间】:2020-08-13 18:29:43
【问题描述】:

我正在从视频中生成缩略图。但是在这个数据中显示错误下面是我的代码:

- (UIImage *)thumbnailImageFromURL:(NSURL *)videoURL {
AVAsset* asset = [AVAsset assetWithURL:videoURL];
AVAssetImageGenerator *generate = [AVAssetImageGenerator assetImageGeneratorWithAsset:asset];
generate.requestedTimeToleranceAfter = kCMTimeZero;
generate.requestedTimeToleranceBefore = kCMTimeZero;
generate.appliesPreferredTrackTransform = YES;
NSError *error;
CMTime time = asset.duration;
CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:nil error:&error];
UIImage *thumb = [UIImage imageWithCGImage:imgRef];
CGImageRelease(imgRef);
return thumb;

}

并且这段代码显示错误:

Error Domain=AVFoundationErrorDomain Code=-11832 "Cannot Open" UserInfo={NSLocalizedFailureReason=This media cannot be used., NSLocalizedDescription=Cannot Open, NSUnderlyingError=0x6000001e8d20 {Error Domain=NSOSStatusErrorDomain Code=-12431 "(null)"}}

有人知道原因吗?谢谢。

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    您可能必须指定actualTime

    【讨论】:

    • 你能为我解释一下细节吗?
    • 其实我错了……好久没看Obj-C了。可能是您输入的time,您将其设置为持续时间(即,您已将其设置到最后)。也许尝试开始(即 0)。
    • 我假设它是一个有效的 url。
    猜你喜欢
    • 2018-12-22
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多