我喜欢获取ReplayKit屏幕录制的url,而不是将视频保存到我的相机胶卷或转发它。在WWDC 2017视频中提到,要获取url,可以使用以下函数:
func stopRecording(withOutput url: URL,completionHandler:((Error?) -> stopRecording)?=空){}
但是我很难弄清楚如何调用/实现这行代码。我有一个开始录制@IBAction按钮和一个停止录制@IBAction按钮。屏幕录制工作正常。但是,谁能告诉我如何或/在哪里添加这个stopRecording函数,以便我可以获得屏幕录制的url?感谢您的帮助,指引我正确的方向。我还在学习Xcode。谢谢!
@IBAction func StartScreenRec( sender: Any) {
screenrecorder.startRecording { (error) in
if let error = error {
print(error)
}
self.ScreenStartRecordBtn.isHidden = true
self.StopScreenRecBtn.isHidden = false
}
}
@IBAction func StopScreenRec( sender: Any) {
screenrecorder.stopRecording { (previewVC, error) in
if let previewVC = previewVC {
previewVC.modalPresentationStyle = .fullScreen
previewVC.previewControllerDelegate = self
self.present(previewVC, animated: true, completion: nil)
}
if let error = error {
print(error)
}
self.ScreenStartRecordBtn.isHidden = false
self.StopScreenRecBtn.isHidden = true
}
}发布于 2021-06-14 14:22:31
我希望这对您有所帮助-要获取刚刚录制的视频的URL,您需要首先指定URL,然后分配withOutput函数:
outputURL = tempURL()
recorder.stopRecording(withOutput: outputURL) { (error) in
guard error == nil else{
print("Failed to save ")
return
}
print(self.outputURL)
}这是针对tempURL()函数的:
func tempURL() -> URL? {
let directory = NSTemporaryDirectory() as NSString
if directory != "" {
let path = directory.appendingPathComponent(NSUUID().uuidString + ".mp4")
return URL(fileURLWithPath: path)
}
return nil
}https://stackoverflow.com/questions/66966724
复制相似问题