我正在做一个猜歌游戏应用程序,我需要记录用户猜歌时的屏幕,并捕捉设备的音频输出。我希望我的应用程序支持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以上,但可能适用于某些用例,以下是如何做到这一点的完整手册。