ReplayKit 录屏的 URL
Posted
技术标签:
【中文标题】ReplayKit 录屏的 URL【英文标题】:URL of screen recording from ReplayKit 【发布时间】:2021-04-06 10:14:02 【问题描述】:我喜欢获取 ReplayKit 屏幕录制的 url,而不是将视频保存到我的相机胶卷或转发它。从 WWDC 2017 视频中提到,要获取 url,可以使用以下函数:
func stopRecording(withOutput url: URL, completionHandler: ((Error?) -> Void)? = nil)
但是我很难弄清楚如何调用/实现这行代码。我有一个开始录制@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
【问题讨论】:
你得到答案了吗? 【参考方案1】:我希望这会有所帮助 - 要获取刚刚录制的视频的 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
【讨论】:
太酷了!对此感激不尽。当我回到它身边时,我会试试这个。迫不及待想测试一下。以上是关于ReplayKit 录屏的 URL的主要内容,如果未能解决你的问题,请参考以下文章