【问题标题】:Screenshot of my app shows blank youtube video我的应用程序的屏幕截图显示了空白的 youtube 视频
【发布时间】:2015-11-12 18:07:01
【问题描述】:

我正在使用 youtube cocoapod 库在我的应用中嵌入视频。我正在内联播放它。我需要对应用程序进行一些截图。我使用以下代码截取屏幕截图

UIGraphicsBeginImageContext(self.view.frame.size);
view.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

在生成的图像中,运行 youtube 视频的地方是空的。我怎样才能得到视频的截图呢?是不是因为 youtube 视频在 webview 的 iframe 内运行??

【问题讨论】:

  • 你也可以在设备上截图
  • 不,我想以编程方式截取屏幕截图。该应用程序涉及一些用户操作,需要截取屏幕截图。
  • 请尝试使用此代码self.view.layer.renderInContext(UIGraphicsGetCurrentContext())

标签: ios swift youtube-api


【解决方案1】:

这是一种未记录的方法。

OBJC_EXTERN UIImage *_UICreateScreenUIImage(void);

// ...

- (IBAction)doScreenshotButton:(id)sender {
    UIImage *screenImage = _UICreateScreenUIImage();
    // do something with your screenshot
}

仍在寻找 API 安全的替代方案。

【讨论】:

  • 这在模拟器上有效,但在设备上无效(仅产生黑框)。也希望有解决方案。
【解决方案2】:

以下 Stackoverflow 链接中的成员回复为我指明了正确的方向并帮助解决了问题。我自己的解决方案是一个 kluge,但它确实有效(我的代码/解决方案也包含在我在以下 URL 的评论中)。

Get a current frame from Youtube YTPlayerView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多