如何在swift中录制屏幕视频



我正在做一个猜歌游戏应用程序,我需要记录用户猜歌时的屏幕,并捕捉设备的音频输出。我希望我的应用程序支持ios8,所以"ReplayKit"是不可能的,那么我应该使用哪个SDK?我是一个初学者,如果有任何示例代码会有更多帮助,谢谢。

使用苹果的ReplayKit,您可以让用户记录游戏,或者在您的情况下,记录用户正在做的任何事情。

此处包含WWDC 2015演示文稿的链接

使用这些功能启动和停止记录:

func startRecording() {
        let recorder = RPScreenRecorder.shared()
        recorder.startRecordingWithMicrophoneEnabled(true) { [unowned self] (error) in
            if let unwrappedError = error {
                print(unwrappedError.localizedDescription)
            } else {
                self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .Plain, target: self, action: "stopRecording")
            }
        }
    }
    func stopRecording() {
        let recorder = RPScreenRecorder.shared()
        recorder.stopRecordingWithHandler { [unowned self] (preview, error) in
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .Plain, target: self, action: "startRecording")
            if let unwrappedPreview = preview {
                unwrappedPreview.previewControllerDelegate = self
                self.presentViewController(unwrappedPreview, animated: true, completion: nil)
            }
        }
    }

RPScreenRecorder有点酷,尽管你无法访问视频,甚至无法访问它。我想出的唯一方法是制作屏幕截图,将其存储在Images中的数组中,然后将其转换为视频。从性能的角度来看,这并不酷,很难达到30fps以上,但可能适用于某些用例,以下是如何做到这一点的完整手册。

最新更新