我发现回购套件有助于使用音频记录屏幕,但问题是它将整个屏幕的活动记录为带有音频的视频,但我想记录主视图中存在的特定视图的活动。所以我的问题是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)
}
}
}
答案 0 :(得分:0)
我相信你对Replaykit没有那么多的控制权。您最好使用CVPixelBuffer
的{{1}}图片创建UIView
,然后将其保存到文件或流式传输到您的服务器。
答案 1 :(得分:0)
我不建议在大多数录音中使用ReplayKit。相反,请查看SceneKitVideoRecorder。虽然它是为录制到SceneKit而构建的,但可以很容易地修改它以记录任何类型的UIView(使用view.layer.render(in: CGContext)
。