我正在使用AVFoundation
捕获屏幕录制并将其写入路径。我的应用程序是沙盒。
func captureVideo() { // Capture Method Code
let documentsDirectory = FileManager.default.urls(for: .desktopDirectory, in: .userDomainMask).first!
let dataPath = documentsDirectory.appendingPathComponent("System")
do {
try FileManager.default.createDirectory(atPath: dataPath.path, withIntermediateDirectories: true, attributes: nil)
} catch let error as NSError {
print("Error creating directory: \(error.localizedDescription)")
}
session.sessionPreset = AVCaptureSessionPresetMedium
if session.canAddInput(input) {
session.addInput(input)
}
if session.canAddOutput(movieCaptureOutPut) {
session.addOutput(movieCaptureOutPut)
}
session.startRunning()
let outputUrl = URL(fileURLWithPath: dataPath.absoluteString)
movieCaptureOutPut.startRecording(toOutputFileURL: outputUrl, recordingDelegate: self)
let _ = Timer.scheduledTimer(timeInterval: TimeInterval(5), target: self, selector: #selector(self.finishRecord), userInfo: nil, repeats: false)
}
但我收到错误:
FigMovieFormatFileWriter :: PostProcessMovie:WriteMovie()错误!!! -67452
我已经检查了写入权限,因为我可以创建'System'文件夹。 知道如何解决这个错误吗?
答案 0 :(得分:0)
outputUrl应该是一个视频网址,您可以将其更改为以下内容:
let outputUrl = URL(fileURLWithPath: dataPath.absoluteString)
.appendingPathComponent("test")
.appendingPathExtension("mov")
您可以查看方法' API page。