【问题标题】:iPhone and iPad, take screenshot with video playingiPhone 和 iPad,截屏并播放视频
【发布时间】: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


    【解决方案1】:

    据我所知,许多已发布的应用程序一直在使用UIGetScreenImage()。似乎Apple对其使用非常宽容。也许你可以抓住机会......

    【讨论】:

    • 截至 2012 年 5 月,此 API 是私有的!所以不要浪费你的时间!苹果会拒绝!
    【解决方案2】:

    虽然已经过去了很多时间 - 我想指出这现在可以在 iOS 7 上使用 UIView 上的快照命令:

    https://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/uiview/uiview.html#//apple_ref/occ/instm/UIView/snapshotViewAfterScreenUpdates:

    【讨论】:

      猜你喜欢
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 2016-05-29
      • 2013-01-03
      • 2014-12-14
      • 2012-01-30
      相关资源
      最近更新 更多