首页 > 解决方案 > 使用 CameraManager 和 Swift 将捕获的视频保存到 iOS 库

问题描述

我在一个 Swift 项目中导入了CameraManager,以便在我的应用程序中轻松捕获视频。但我不确定如何按照以下代码将捕获的视频导出到我的 iOS 文件夹:

cameraManager.stopVideoRecording({ (videoURL, error) -> Void in
NSFileManager.defaultManager().copyItemAtURL(videoURL, toURL: 
self.myVideoURL, error: &error)
}) 

在 Swift 4 中,我需要这个更新的代码:

cameraManager.stopVideoRecording({ (videoURL, error) -> Void in
        FileManager.default.copyItem(at: videoURL, to: self.videoURL)
    })

我想我需要改变这个值,但是......

self.videoURL

如果有人可以帮忙!

非常感谢

标签: iosswiftfilecamera

解决方案


CameraManager 不提供任何开箱即用的 API 来将视频保存到 iOS 库(截至最新版本 4.3.0)。

但是,一旦拍摄了视频 - 它会提供视频文件的 URL,我们可以使用 Apple 的PhotosAPI 轻松将该视频保存到库中。

PHPhotoLibrary.shared().performChanges({
    PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: self.videoURL)
}) { saved, error in
    if saved {
        // Video saved successfully
    }
}

不要忘记导入Photos并添加Privacy - Photo Library Usage Description到您的info.plist

可以从 SO答案中找到更多信息


推荐阅读