OSX Swift,无法在路径上写电影

时间:2017-02-27 11:51:02

标签: macos swift3 avfoundation

我正在使用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'文件夹。 知道如何解决这个错误吗?

1 个答案:

答案 0 :(得分:0)

outputUrl应该是一个视频网址,您可以将其更改为以下内容:

let outputUrl  = URL(fileURLWithPath: dataPath.absoluteString)
.appendingPathComponent("test")
.appendingPathExtension("mov")

您可以查看方法' API page