【问题标题】:OSX Swift, Unable to write movie at pathOSX Swift,无法在路径上写电影
【发布时间】:2017-02-27 11:51:02
【问题描述】:

我正在使用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

我已检查写入权限,因为我可以创建“系统”文件夹。 知道如何解决此错误吗?

【问题讨论】:

    标签: macos swift3 avfoundation


    【解决方案1】:

    outputUrl 应该是一个视频 URL,你可以把它改成这样:

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

    您可以查看方法的API page

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      相关资源
      最近更新 更多