我正在运行iOS 4.3&试图拍摄正在播放电影的UIView的截图。 问题是截图(在模拟器中)结果只是一个黑色背景&不是我希望的电影形象。我的代码如下,任何想法可能是什么?提前谢谢:)
- (void) takeScreenshot;
{
UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0.0);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView *movieImage = [[UIImageView alloc] initWithImage:screenshot];
[self addSubview:movieImage];
}
答案 0 :(得分:2)
我最终找到了解决这个问题的方法 - 正如上面提到的joerick,因为电影正在使用OpenGL层来绘制视频,所以无法截取(使用renderInContext)。
然而,有一种方法可以拍摄电影的缩略图(如下所示为当前播放时间):
UIImage *image = [moviePlayer thumbnailImageAtTime:moviePlayer.currentPlaybackTime timeOption:MPMovieTimeOptionNearestKeyFrame];
希望这可以帮助某人:)