我需要从视频中获取屏幕截图。
我使用以下方法:
- (UIImage *)screenshotFromPlayerItem:(AVPlayerItem *)player atTime:(CMTime)time
{
CMTime actualTime;
NSError *error;
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:player.asset];
CGImageRef cgIm = [generator copyCGImageAtTime:time
actualTime:&actualTime
error:&error];
UIImage *image = [UIImage imageWithCGImage:cgIm];
if (nil != error)
{
NSLog(@"Error making screenshot: %@", [error localizedDescription]);
return nil;
}
CFRelease(cgIm);
return image;
}
在 iOS6 中它运行得非常完美。但如果我在装有 iOS5 的设备(iPhone 和 iPad)上进行测试,我会收到以下消息:“制作屏幕截图时出错:无法解码”
视频是mp4。
有什么解决办法吗?
最佳答案
我使用了很多媒体操作(我有 4 个 AVPlayer),这就是它不起作用的原因!
关于iphone - 我无法在iOS5中使用AVAssetImageGenerator获取视频截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16256501/