ReplayKit无法录制

时间:2017-01-31 09:34:22

标签: ios replaykit

我正在开发一款具有屏幕捕捉功能的应用。

ReplayKit很简单,效果非常好,但是当我多次录音时,它突然失败了录音。

当它失败时,它只会在预览视图上显示一个空的黑色视频。没有崩溃,没有错误消息。

我对自己的代码有疑问(尽管ReplayKit的实现非常简单),所以我尝试了一个简单的示例代码 https://code.tutsplus.com/tutorials/ios-9-an-introduction-to-replaykit--cms-25458 并发现问题仍然存在。

我发现这个Q& A并尝试在开始新录制之前丢弃录制内容,但它不起作用。 https://forums.developer.apple.com/thread/24613

我还发现虽然它在第一次尝试时失败了录音(我的意思是在启动应用程序之后),但它在第二次尝试时成功了。

所以我猜测我的系统已经耗尽了一种系统范围的资源,并且只有在录制之后才能进行清理或类似的事情,但我不知道研究细节,因为ReplayKit如此封闭,仅提供对其数据的非常有限的访问。

我做的唯一不规则的事情是,我做了一个实验来直接用这段代码检索视频数据。我做了很多次,所以如果这个代码有问题,影响可能很大。

[[RPScreenRecorder sharedRecorder] stopRecordingWithHandler:^(RPPreviewViewController * _Nullable previewViewController, NSError * _Nullable error) {

    NSURL* screenCaptureVideoURL = [previewViewController valueForKey:@"movieURL"];
    [self saveCaptureVideoToCameraRoll:screenCaptureVideoURL]; // My own routine to save the video to camera roll

}];

还有其他人面临同样的问题吗?任何解决方案吗?

任何信息表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,事实证明使用AVPlayer是导致预览控制器返回黑屏的原因。我认为它可能是 DRM功能而不是replayKit的 bug ,因为文档提到您无法记录AVPlayer内容。

您是否正在使用AVPlayer