如何快速录制屏幕视频?

Posted

技术标签:

【中文标题】如何快速录制屏幕视频?【英文标题】:how to record screen video in swift? 【发布时间】:2016-04-19 03:12:50 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

包含 WWDC 2015 演示文稿的链接here

使用这些功能开始和停止录制:

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)
            
        
    

【讨论】:

这是一个很好的解决方案,谢谢。但是我的应用程序也支持 ios8 ,还有其他我可以使用的 sdk 吗? 我觉得你只能越狱:( 你可以看看这个应用程序是如何工作的 (redmondpie.com/…) 但是我需要一个内置的录屏功能 如果您的意思是没有代码,那么只需使用 quicktime。如果没有,请按照我发给您的示例进行操作。【参考方案2】:

RPScreenRecorder 有点酷,尽管您无法访问视频,甚至无法访问它。我想出的如何进行视频屏幕捕获的唯一方法是制作屏幕截图,将它们存储在图像中的数组中,然后将其转换为视频。从性能的角度来看,它并不酷,而且很难达到 30+fps,但可能适用于某些用例,这里是 full manual how to do it。

【讨论】:

您为博客提供的链接无效。我正在尝试通过截屏来捕获 NSView 的一部分。请让我知道任何解决方案。问候

以上是关于如何快速录制屏幕视频?的主要内容,如果未能解决你的问题,请参考以下文章

教你如何快速使用屏幕录像软件

屏幕录像专家录制超清视频教程如何解决转码后不清晰问题

如何给自己的手机录制屏幕视频

如何防止在 Android 应用程序中录制屏幕视频?

视频录制软件进行电脑屏幕录像的使用方法

4 款免费录屏软件 | 如何录制视频