重播套件录音?

时间:2017-08-10 13:13:40

标签: ios swift replaykit

我发现回购套件有助于使用音频记录屏幕,但问题是它将整个屏幕的活动记录为带有音频的视频,但我想记录主视图中存在的特定视图的活动。所以我的问题是Replay Kit允许我用录音录制特定的观看活动。如果是的话,请帮助我实现同样的目标。提前致谢。任何帮助将受到高度赞赏。

以下代码可帮助我记录整个屏幕的活动:

func startRecording() {
    let recorder = RPScreenRecorder.shared()

    if #available(iOS 9.0, *) {
        recorder.startRecording(withMicrophoneEnabled: true) { [unowned self] (error) in
            if let unwrappedError = error {
                print(unwrappedError.localizedDescription)
            } else {
                self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .plain, target: self, action: #selector(PreviewVC.stopRecording))
            }
        }
    } else {
        // Fallback on earlier versions
    }
}

func stopRecording() {
    let recorder = RPScreenRecorder.shared()

    recorder.stopRecording { [unowned self] (preview, error) in
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .plain, target: self, action: #selector(PreviewVC.startRecording))

        if let unwrappedPreview = preview {
            unwrappedPreview.previewControllerDelegate = self
            self.present(unwrappedPreview, animated: true, completion: nil)
        }
    }
}

2 个答案:

答案 0 :(得分:0)

我相信你对Replaykit没有那么多的控制权。您最好使用CVPixelBuffer的{​​{1}}图片创建UIView,然后将其保存到文件或流式传输到您的服务器。

答案 1 :(得分:0)

我不建议在大多数录音中使用ReplayKit。相反,请查看SceneKitVideoRecorder。虽然它是为录制到SceneKit而构建的,但可以很容易地修改它以记录任何类型的UIView(使用view.layer.render(in: CGContext)