【发布时间】:2011-10-01 20:26:19
【问题描述】:
我的应用需要在屏幕上播放视频时截取一些屏幕截图。视频由 AVPlayer 和 AVPlayerLayer 播放。我尝试使用旧方法时的问题,例如:
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
CGRect rect = [keyWindow bounds];
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
UIGraphicsBeginImageContextWithOptions(rect.size, NO, [UIScreen mainScreen].scale);
else
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[keyWindow.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
它返回屏幕图像和黑色区域(视频应该在那里)。我可以使用 UIGetScreenImage() 成功截屏,但它是一个私有 API,所以我不确定我是否可以使用它
【问题讨论】:
标签: iphone ipad screenshot avplayer