Как сохранить видео на 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
,
Итак, мои возможные решения, которые я считаю в данный момент:
- Выясните, как я могу сохранить видео как
URL
, - Попробуйте создать живое фото через
Data
вместоURL
,
1 ответ
Файл URL - это место, где находятся данные. Просто запишите данные во временную папку и передайте этот файл в метод.