在拍摄屏幕截图时播放HTML视频(drawHierarchy)

时间:2017-08-25 08:17:43

标签: html ios ipad video swift3

我遇到了 thumbnailWebView.drawHierarchy(in:,afterScreenUpdates:)方法的问题,并加载了包含本地视频的HTML代码。

当我捕获webview获取tumbnail然后我点击webview上的视频,视频开始运行(因为声音有效)但图像保持黑色时出现问题。此外,如果我点击全屏选项,视频会显示正确。

代码很简单。图像捕获:

UIGraphicsBeginImageContextWithOptions(self.thumbnailWebView.bounds.size, true, UIScreen.main.scale)
thumbnailWebView.drawHierarchy(in: thumbnailWebView.bounds, afterScreenUpdates: true)
let screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext()

Init WKWebView:

let conf = WKWebViewConfiguration()
self.thumbnailWebView = WKWebView(frame: CGRect(x: 0, y: 0, width: 768, height: 1024), configuration: conf)
thumbnailGeneratorView.addSubview(self.thumbnailWebView)
thumbnailControl = ThumbnailControl()
thumbnailControl.delegate = self
thumbnailWebView.uiDelegate = thumbnailControl
thumbnailWebView.navigationDelegate = thumbnailControl

加载HTML:

self.thumbnailWebView.loadFileURL(contentURL!, allowingReadAccessTo: contentURL!.deletingLastPathComponent())

如果我评论drawHierarchy行,则视频显示正确。

我还尝试使用 view.layer.renderInContext(UIGraphicsGetCurrentContext()!)而不是drawHierarchy,但获得的屏幕截图是白色的。

0 个答案:

没有答案