Video bir fotoğrafın Canlı Fotoğraftan nasıl çıkarılacağını anlayan var mı? Canlı Fotoğrafı bir GIF'e dönüştürmek için bir uygulama üzerinde çalışıyorum ve ilk adım Canlı Fotoğraf'tan video dosyası almak. Mümkün gibi görünüyor, çünkü bir Mac'e telefonunuzu takarsanız, ayrı görüntü ve video dosyalarını görebilirsiniz. Ayıklama işleminde bir tuğla duvara koştum ve bunu yapmak için birçok yol denedim ve hepsi başarısız.Canlı Fotoğraftan video bölümünü ayıkla
if let livePhoto = info["UIImagePickerControllerLivePhoto"] as? PHLivePhoto {
let assetResources = PHAssetResource.assetResourcesForLivePhoto(livePhoto)
for assetRes in assetResources {
if (assetRes.type == .PairedVideo) {
let assets = PHAsset.fetchAssetsWithLocalIdentifiers([assetRes.assetLocalIdentifier], options: nil)
if let asset = assets.firstObject as? PHAsset {
denedim bir AVAsset için PHAsset dönüştürmek için:
İlk yaptığım düşündüğüm şey için bir PHAsset elde oldu aşağıdakileri yaparak, Canlı Fotoğraf video parçasıdır:
asset.requestContentEditingInputWithOptions(nil, completionHandler: { (contentEditingInput, info) -> Void in
if let url = contentEditingInput?.fullSizeImageURL {
let movieUrl = url.absoluteString + ".mov"
let avAsset = AVURLAsset(URL: NSURL(fileURLWithPath: movieUrl), options: nil)
debugPrint(avAsset)
debugPrint(avAsset.duration.value)
}
})
Ben duration.value ile ayıklama baskı 0. Ben de ".mov" Ayrıca olmadan denedim ve hala çalışmıyor verir çünkü bu bir çalıştığını sanmıyorum.
PHImageManager.defaultManager().requestAVAssetForVideo(asset, options: nil, resultHandler: { (avAsset, audioMix, info) -> Void in
debugPrint(avAsset)
})
Ve nil debugPrint (avAsset) baskılar yüzden çalışmıyor:
Ben de denedim.
Yapmaları imkansız kılmaları muhtemel olsa da, sanki PHAsset'in hala bir Canlı Fotoğraf ve aslında bir video değil gibi göründüğünden beri çevrelere gidiyorum gibi görünüyor.
Bu yalnızca 9.1 ile çalışır, Daha genel bir çözümünüz var mı? – Idan
Live Photo özel API'leri iOS 9.1'de tanıtıldı – Hendrik