我正在尝试使用ReplayKit捕获ARKIt应用程序的视频。我有一个录制按钮,当按下时会变成红色并开始录制,然后再次按下则变成白色并停止录制。

但是stopRecording方法从未在第一次使用。

如果records.isAvailable {
records.delegate =自我

        if recorder.isRecording {
            print("Recorder is recording...")

            // Stop recording

            recorder.stopRecording { previewController, error in
                print("Stop recording...")
                self.recordImage.color = UIColor.white
                self.recordImage.colorBlendFactor = 1

                if let controller = previewController {
                    controller.previewControllerDelegate = self
                    self.present(controller, animated:true, completion:nil)
                }
            }
        }
        else {

            // Start recording

            recorder.startRecording { error in
                print("Starting to record…")

                if error == nil {
                    print("Start Recording…")
                    self.recordImage.color = UIColor.red
                    self.recordImage.colorBlendFactor = 1
                }
            }
        }

首次按下时,我可以看到录制开始。然后,当我再次按下时,可以看到进入了recorder.isRecording,但是recorder.stopRecording中的块不起作用。我必须再次按才能开始记录,然后在进入recorder.stopRecording块之前再次停止。

任何的想法?感谢帮助。
Press Record!
Starting to record…
Start Recording…
Press Record!
Recorder is recording...

最佳答案

我根据https://forums.developer.apple.com/thread/62624的回复修复了此问题

这绝对是iOS中的错误;但是从Info.plist中删除“本地化本机开发区域”条目似乎可以解决此问题。

07-27 20:19