我正在使用以下源代码将图像和视频存储在自定义文件夹中。它的工作正常,但我的问题是这些图像和视频也存储在iPhone的“所有照片”文件夹中。如何仅将其保存在自定义文件夹中?谁能帮我完成这项任务?
我这样称呼这个班
func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {
print("FINISHED \(String(describing: error ))")
// save video to camera roll
if error == nil {
print("---------------FilePath--------------\(outputFileURL.path)")
print(self.videoPreviewUiimage(fileName: outputFileURL)!)
self.iconImage.image = self.videoPreviewUiimage(fileName: outputFileURL)!
MyAwesomeAlbum.shared.save(image: self.iconImage.image!)
MyAwesomeAlbum.shared.saveMovieToLibrary(movieURL: outputFileURL)
self.handleCaptureSession()
}
}
func saveMovieToLibrary(movieURL: URL) {
self.checkAuthorizationWithHandler { (success) in
if success, self.assetCollection != nil {
PHPhotoLibrary.shared().performChanges({
if let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: movieURL) {
let assetPlaceHolder = assetChangeRequest.placeholderForCreatedAsset
if let albumChangeRequest = PHAssetCollectionChangeRequest(for: self.assetCollection) {
let enumeration: NSArray = [assetPlaceHolder!]
albumChangeRequest.addAssets(enumeration)
}
}
}, completionHandler: { (success, error) in
if success {
print("Successfully saved video to Camera Roll.")
} else {
print("Error writing to movie library: \(error!.localizedDescription)")
}
})
}
}
}
func save(image: UIImage) {
self.checkAuthorizationWithHandler { (success) in
if success, self.assetCollection != nil {
PHPhotoLibrary.shared().performChanges({
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAsset(from: image)
let assetPlaceHolder = assetChangeRequest.placeholderForCreatedAsset
if let albumChangeRequest = PHAssetCollectionChangeRequest(for: self.assetCollection) {
let enumeration: NSArray = [assetPlaceHolder!]
albumChangeRequest.addAssets(enumeration)
}
}, completionHandler: { (success, error) in
if success {
print("Successfully saved image to Camera Roll.")
} else {
print("Error writing to image library: \(error!.localizedDescription)")
}
})
}
}
}