微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在没有AVMutableVideoComposition的情况下直接保存AVMutableComposition到相机胶卷/图库/照片-Swift 5

如何解决如何在没有AVMutableVideoComposition的情况下直接保存AVMutableComposition到相机胶卷/图库/照片-Swift 5

我距离完成第一个原始应用程序只有一步之遥,所以我非常渴望得到答案。

我创建了一个包含多个剪辑的AVMutableComposition(不是AVMutableVideoComposition)。我要做的就是将其保存到相机胶卷或相册中。我知道如何做到这一点的唯一方法是使用AVMutable 视频组合,但是在我目前的情况下,由于我构建应用的方式需要很长时间。我也使用了PHPhotoLibrary,但这仅适用于URL视频。 (是否可以将AVMutableComposition转换为URL?)

这是我尝试过的无效的方法

var mixComposition = AVMutableComposition() //trying to save this

  func savetogallery() {
        let savePathUrl: URL = URL(fileURLWithPath: NSHomeDirectory() + "/Documents/newVideo.mp4")
        do { 
            try FileManager.default.removeItem(at: savePathUrl)
        } catch { print(error.localizedDescription) }

        let assetExport: AVAssetExportSession = AVAssetExportSession(asset: mixComposition,presetName: AVAssetExportPresetHighestQuality)!
        assetExport.outputFileType = AVFileType.mp4
        assetExport.outputURL = savePathUrl
        assetExport.shouldOptimizeforNetworkUse = true

        assetExport.exportAsynchronously { () -> Void in
            switch assetExport.status {
            case AVAssetExportSessionStatus.completed:
                print("successfully saved")  // but it still prints this 
                
            case AVAssetExportSessionStatus.Failed:
                print("Failed")
                
            case AVAssetExportSessionStatus.cancelled:
                print("cancelled")
                
            default:
                print("complete")
                
            }
        }
    }

  @IBAction func SaveButtonDidTouch(_ sender: Any) {

        savetogallery() //??
        
    }

即使我的图库/相机胶卷未添加任何内容,它仍会打印“成功保存”。

那么保存AVMutableComposition的最有效方法是什么?我在哪里错了?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。