2

我一直在使用 ReplayKit 进行所有过去的更新,但现在在 iOS 12 中,我的录音有时可以工作,有时不能......但通常它们不会。大多数情况下,当我停止录制时,我得到的是:

完全黑屏。

这在我之前没有发生过,这非常令人沮丧。这是我使用 ReplayKit 录制屏幕的方式:

import ReplayKit

class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, RPPreviewViewControllerDelegate {

func startRecording() {

    func start() {
        guard RPScreenRecorder.shared().isAvailable else {
            print("Recording is not available at this time.")
            return
        }
        RPScreenRecorder.shared().isMicrophoneEnabled = micToggle
        RPScreenRecorder.shared().startRecording { [unowned self] (error) in
            guard error == nil else {
                print("There was an error starting the recording.")
                return
            }
            print("Started Recording Successfully")
            isRecording = true
        }
    }
    DispatchQueue.main.async {
        start()
    }
}

func stopRecording() {

    func stop() {
        RPScreenRecorder.shared().stopRecording { [unowned self] (preview, error) in
            print("Stopped recording")
            guard preview != nil else {
                print("Preview controller is not available.")
                return
            }
            onGoingScene = true
            preview?.previewControllerDelegate = self
            self.present(preview!, animated: true, completion: nil)
            print("presented")
            isRecording = false
        }
    }
    DispatchQueue.main.async {
        stop()
    }
}

func previewControllerDidFinish(_ previewController: RPPreviewViewController) {
    previewController.dismiss(animated: true, completion: nil)
    RPScreenRecorder.shared().discardRecording {
        print("discarded")
    }
}

当它工作时,所有的打印语句都被打印出来,但是当黑屏出现时,最后一个打印语句被“呈现”。

我绝对迫切需要一些帮助,因为我不知道如何解决这个问题。任何帮助将非常感激。

谢谢


编辑: 我刚刚意识到我正在使用“AVCaptureVideoPreviewLayer”,如果这可能是问题。如果是这样,解决方法是什么?

4

0 回答 0