如何快速录制屏幕视频?
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 的一部分。请让我知道任何解决方案。问候以上是关于如何快速录制屏幕视频?的主要内容,如果未能解决你的问题,请参考以下文章