0
Ich habe eine. MOV-Datei und eine JPG-Datei. Wenn ich versuche, ein Live Photo zu machen:Wie macht man PHLivePhoto aus MOV-Datei?
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
print("info: \(livePhoto)")
if let lp = livePhoto {
completion(livePhoto: lp)
}
}
}
Und wie diese machen:
makeLivePhotoFromItems(url, videoURL: movURL, previewImage: UIImage(named: "preview")!) { (livePhoto) in
}
seine Arbeit nicht. Live-Foto nicht erstellen und Konsole schreibt:
info: Optional(<PHLivePhoto: 0x10077f660>)
complete
info: Optional(<PHLivePhoto: 0x10143ef30>)
complete
2016-05-03 13:23:18.191 LivePhoto[2170:982987] Error: Invalid video metadata
info: nil
Ich bin wirklich Hoffnungen, dass Sie mir helfen können.
Der [Originalcode] (http://stackoverflow.com/questions/33990830/working-with-live-photos-in-playground) funktioniert gut. Ich würde also sagen, dass Ihr Problem aus dem Video selbst und nicht aus dem Code stammt. In der Tat sehen wir "Ungültige Video-Metadaten". Das Problem ist also Ihr Video. – Moritz
@EricD ja, ich denke schon. Es kann Videoproblem sein. aber ich versuche, ungefähr 5 Filme mit verschiedenen Formaten zu verwenden. Dieser Fehler verschwindet nicht. Wie kann ich es debuggen? – HadevsCode
Damit ein MOV in einem LivePhoto verwendet werden kann, muss er dieselben Spezifikationen haben (maximale Größe, Kodierung usw.) wie die von Apple. Mein Vorschlag ist, ein MOV * von einem vorhandenen LivePhoto zu nehmen und seine Eigenschaften zu überprüfen, dann deine ähnlich zu machen. – Moritz