我正在运行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];
}
最佳答案 我最终找到了解决这个问题的方法 – 正如上面提到的joerick,因为电影正在使用OpenGL层来绘制视频,所以无法截取(使用renderInContext).
但是有一种方法可以拍摄电影的缩略图(如下所示为当前播放时间):
UIImage *image = [moviePlayer thumbnailImageAtTime:moviePlayer.currentPlaybackTime timeOption:MPMovieTimeOptionNearestKeyFrame];
希望这有助于某人:)