如何获取正在播放AVPlayer的UIView屏幕截图?

时间:2019-02-07 14:15:49

标签: swift opengl avplayer screen-recording

我正在尝试从特定UIVIew截取的屏幕截图中生成视频。该视图有一个AVPlayer子视图和一个canvas子视图(我们可以在其中绘制形状)。刚刚尝试了UIGraphicsGetImageFromCurrentImageContext的常规方法,屏幕截图为黑色。我认为这是因为视频是在GPU中渲染的。

因此,我尝试拍摄GLKView的屏幕截图,上面添加了两个子视图。但是它仍然给GLKView背景颜色作为图像。请参考以下两个链接。

Tried adding glkview as in this postTaking screenshot from a GLKView

我走对了吗?如果是,请帮助我了解我所缺少的内容。 要么 还有其他更好的方法吗? AVAssetImageGenerater根本不适合我的要求,因此我也不能使用它。

1 个答案:

答案 0 :(得分:0)

  

AVAssetImageGenerater根本不适合我的要求,因此   我也不能使用它。

我不知道这是什么原因,但是通过使用AVAssetImageGenerater,可以拍摄视频并在屏幕快照图像上绘制快照图像很容易,因为您知道黑色部分的框架。

请参见以下文章,将一个UIImage放在另一个UIImage上。

Draw another image on a UIImage