使用AvCaptureSession进行屏幕录制

时间:2013-09-18 12:47:19

标签: iphone ios video screenshot avcapturesession

在我的应用程序中,我想用静止图像记录视图。 有没有办法使用AvCaptureSession获取视图的屏幕截图? 我将要做的是,将捕获视图的图像,然后将使用所有图像来制作该视图的视频。 我也推荐这个链接 https://github.com/immortalLion/iPhoneScreenRecord/tree/master/ScreenCaptureViewTest。 我知道我们可以使用IOSurface捕获屏幕截图,但我不想捕获整个屏幕,而只想捕获视图。 我想设置Framerate& amp;渲染良好的规模 提前谢谢。

1 个答案:

答案 0 :(得分:0)

这会将视图捕获为图像,您可以指定视图的框架。

- (UIImage *)captureView:(UIView *)view {
        CGRect screenRect = [[UIScreen mainScreen] bounds];

        UIGraphicsBeginImageContext(screenRect.size);

        CGContextRef ctx = UIGraphicsGetCurrentContext();
        [[UIColor blackColor] set];
        CGContextFillRect(ctx, screenRect);

        [view.layer renderInContext:ctx];

        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        return newImage;
    }