我正在加载一个指向mp4视频链接的网址。视频播放,一切都很好。我停止了视频,并希望以编程方式拍摄网络视图的屏幕截图,并希望视频图像也显示在屏幕截图中。
我通常使用AVAssetImageGenerator,但在这种情况下,我只有Web视图,而没有AVPlayer引用,因此我无法走这条简单路线。
我可以看到其他人一直遇到这个问题: https://developer.apple.com/forums/thread/80570
我已经尝试过了:
extension UIView {
func makeScreenshot() -> UIImage {
let renderer = UIGraphicsImageRenderer(bounds: self.bounds)
return renderer.image { (context) in
self.layer.render(in: context.cgContext)
}
}
}
也尝试过这个:
let conf = WKSnapshotConfiguration()
conf.afterScreenUpdates = true
conf.rect = CGRect(x: 0, y: 0, width: webview.bounds.width, height: webview.bounds.width)
webview.takeSnapshot(with: conf) { (image, error) in
completion?(image)
}
当WKWebView中没有AVPlayer时,它们会很好地工作。
还有人知道如何获取AVPlayer内容的屏幕截图吗?