Как сохранить видео на URL в Swift Playgrounds

Я пытаюсь создать экземпляр PHLivePhoto но всякий раз, когда я пытаюсь сохранить видео, которое составляет живое фото, я не могу заставить его работать.

Вот небольшой фрагмент кода, который я написал для экспорта видео:

public func exportFilteredVideo(to outputURL: URL, completion: @escaping (Void) -> Void) {
    if FileManager.default.fileExists(atPath: outputURL.path) {
        try? FileManager.default.removeItem(at: outputURL)
    }

    let export = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetMediumQuality)!
    export.outputFileType = AVFileTypeQuickTimeMovie
    export.outputURL = outputURL
    export.videoComposition = generateComposition()
    export.exportAsynchronously(completionHandler: completion)
}

Это когда я пытаюсь получить видео:

let destURL = url.deletingLastPathComponent().appendingPathComponent("Test.mov")
pixellationFilter.exportFilteredVideo(to: destURL) {
     print(try! destURL.checkResourceIsReachable()) //An error is thrown! Why though, isn't the export completed?
}

В настоящее время я подозреваю, что вы не сможете написать URL указано. Тем не менее, я понимаю, что всякий раз, когда я хочу создать PHLivePhoto объект мне нужно указать ресурсы как URL вместо Data, Если это возможно, я мог бы использовать данные вместо того, чтобы экспортировать их в URL, Я могу ошибаться, но я не могу найти способ создать PHLivePhoto с Data, E сть PHAssetResource класс, но это только помогает получить файлы данных из PHLivePhoto не создавать PHLivePhoto,

Итак, мои возможные решения, которые я считаю в данный момент:

  1. Выясните, как я могу сохранить видео как URL,
  2. Попробуйте создать живое фото через Data вместо URL,

1 ответ

Решение

Файл URL - это место, где находятся данные. Просто запишите данные во временную папку и передайте этот файл в метод.

Другие вопросы по тегам