2016-02-23 2 views
2

У меня есть некоторые живые фотографии, созданные в формате JPEG и MOV, теперь я хочу импортировать их в приложение, которое позволит пользователю сохранять живые фотографии в своей библиотеке фотографий. Как я могу это сделать?Сохранение уже создано Живые фотографии

Я рассмотрел это: https://github.com/genadyo/LivePhotoDemoSwift Что в основном позволяет записывать видео и превращать его в живое фото. Но так как я уже создал «живые фотографии», могу ли я сразу же их сохранить в камере, или мне нужно идти по другому маршруту?

+1

Вы можете использовать 'PHLivePhoto.requestLivePhotoWithResourceFileURLs' для создания Live Photo из JPEG и MOV - тогда вы сможете сохранить его в библиотеке. Примите пример в моем ответе здесь: http://stackoverflow.com/questions/33990830/working-with-live-photos-in-playground – Moritz

+0

Супер полезный комментарий Эрик. Я бы сказал, что это решает, добавьте ответ, если хотите, и я его приму. Благодарю. –

ответ

3

Вы можете создать LivePhoto из отдельных элементов из LivePhoto с помощью PHLivePhoto.requestLivePhotoWithResourceFileURLs, после чего вы сможете сохранить его в библиотеке.

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 
} 

Вам нужен файл URL JPEG, MOV в файл URL, и «Предварительный просмотр» образ (который, как правило, только JPEG или более легкую версию этого).

Полный пример работы на игровой площадке here.

+0

Примечание: полный [пример] (http://stackoverflow.com/questions/33990830/working-with-live-photos-in-playground) также имеет версию Swift 3. – Moritz

+2

Не могли бы вы объяснить, как сохранить экземпляр 'PHLivePhoto' в библиотеке фотографий? – liuyaodong