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

时间:2013-04-27 20:19:12

标签: 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。

任何解决方案?

1 个答案:

答案 0 :(得分:2)

我正在使用许多媒体动作(我有4个AVPlayer),这就是为什么它不起作用!