iphone - 我无法在iOS5中使用AVAssetImageGenerator获取视频截图

标签 iphone ios xcode avfoundation avplayer

我需要从视频中获取屏幕截图。

我使用以下方法:

- (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/

相关文章:

iphone - 输入电子邮件 ID 时自动完成电子邮件 ID 的建议

ios - 允许免费用户搜索 Spotify API

iphone - moveRowAtIndexPath 不会刷新单元格的内容

ios - 在 Objective c 中处理多线程

iOS 下载前检查远程文件是否有更新

ios - Swift 4 将 nil jsonElement 更改为空字符串

iphone - Storyboard连续交叉溶解?

ios - 为什么我的登录功能出现此错误

iphone - 是否可以从安装 plist 中获取信息?

iphone - 使用 UIImagePickerControllerReferenceURL 在 UIImageView 上设置图像