ios - 保存已创建的实时照片

标签 ios swift phlivephoto

我有一些创建了 JPEG 和 MOV 文件的实时照片,现在我想将它们导入到应用程序中,该应用程序将允许用户将实时照片保存到他们的照片库中。我怎样才能做到这一点?

我调查过这个:https://github.com/genadyo/LivePhotoDemoSwift它基本上允许您录制视频并将其转换为实时照片。但由于我已经创建了“实时照片”,我可以立即将它们保存到相机胶卷中还是需要遵循不同的路线?

最佳答案

您可以使用 PHLivePhoto.requestLivePhotoWithResourceFileURLs 从 LivePhoto 中的单独元素创建 LivePhoto,然后您就可以将其保存到库中。

func makeLivePhotoFromItems(imageURL: NSURL, videoURL: NSURL, previewImage: UIImage, completion: (livePhoto: PHLivePhoto) -> Void) {
    PHLivePhoto.requestLivePhotoWithResourceFileURLs([imageURL, videoURL], placeholderImage: previewImage, targetSize: CGSizeZero, contentMode: PHImageContentMode.AspectFit) {
        (livePhoto, infoDict) -> Void in
        if let lp = livePhoto {
            completion(livePhoto: lp)
        }
    }
}

makeLivePhotoFromItems(imgURL, videoURL: movURL, previewImage: prevImg) { (livePhoto) -> Void in
    // "livePhoto" is your PHLivePhoto object, save it/use it here
}

您将需要 JPEG 文件 URL、MOV 文件 URL 和“预览”图像(通常只是 JPEG 或其精简版本)。

在 Playground 中工作的完整示例 here .

关于ios - 保存已创建的实时照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35572167/

相关文章:

ios - 如何在 Swift 中更改 UITabBar 项目文本?

ios - 如果语句没有改变全局变量 swift

ios - 将实时照片集成到我的应用程序中

ios - 键盘显示部分 ios6

ios - 核心数据 + 'statement is still active'

ios - 将 UIApplication.shared.isIdleTimerDisabled 设置为 false 时屏幕变暗

ios - 在 Playground 中使用实况照片

ios - 如何在播放实况照片时禁用触觉反馈

IOS:复制文档文件夹中的文件

objective-c - UIView 中的圆柱形外观渐变