我想知道有没有办法强制 replaykit 以方形模式只记录屏幕的一部分?当前的API似乎记录了整个屏幕!
问问题
1107 次
2 回答
3
ReplayKit 记录屏幕上的所有内容,免除系统提示和对话框。
但是,您可以在主 UIWindow 之上覆盖另一个 UIWindow,并将掩码应用于空 UIView 以隐藏部分屏幕并强制进行方形录制。
最终录制的帧率仍将等于屏幕。
_overlayWindow = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; //Full sized window
_overlayWindow.backgroundColor = [UIColor clearColor];
_overlayWindow.userInteractionEnabled = false;
_overlayWindow.hidden = NO;
UIView *maskedView = [[UIView alloc] initWithFrame:_overlayWindow.bounds];
// Create a mask layer
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGRect maskRect = CGRectMake(0, 0, 200, 200);
// Create a path with the rectangle in it.
CGPathRef path = CGPathCreateWithRect(maskRect, NULL);
maskLayer.path = path;
// Set the mask of the view.
maskedView.layer.mask = maskLayer;
[_overlayWindow addSubview:maskedView];
于 2017-02-08T11:14:56.050 回答
0
目前 ReplayKit 框架不提供屏幕大小方面的自定义屏幕录制。所以你必须记录GamePlay的整个屏幕。
于 2016-01-01T09:44:21.677 回答