【发布时间】:2016-05-03 10:24:35
【问题描述】:
我有一个 .MOV 文件和一个 .JPG 文件。当我尝试制作实时照片时:
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)
}
}
}
然后像这样制作:
makeLivePhotoFromItems(url, videoURL: movURL, previewImage: UIImage(named: "preview")!) { (livePhoto) in
}
它不工作。未创建实时照片和控制台写入:
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
我真的希望你能帮助我。
【问题讨论】:
-
original code 运行良好。所以我想说你的问题来自视频本身,而不是来自代码。事实上,我们看到“无效的视频元数据”,所以问题出在您的视频上。
-
@EricD 是的,我想是的。它可能是视频问题。但我尝试使用大约 5 部不同格式的电影。这个错误没有消失。我该如何调试它?
-
要在 LivePhoto 中使用 MOV,它必须具有与 Apple 相同的规格(最大尺寸、编码等)。我的建议是从现有 LivePhoto 中获取 MOV 并检查其属性,然后使您的属性相似。
-
@EricD 好的,我理解你。但是我应该探索什么属性?你知道吗?
-
大小(和比率)和编码类型是要检查的最重要的属性。但是,没有官方规范,这就是为什么我说“检查现有的并以它为例”。
标签: ios xcode swift phlivephoto