我对 Apple 的 Live Photos 进行了大量研究,但他们似乎没有提供任何关于将 Live Photo 更改为循环或反弹的信息。
我的目标是将实时照片的格式更改为循环或弹跳,就像 Apple 在照片应用程序中所做的那样。
我知道用户可以在照片应用程序中转换实时照片,然后我可以使用图像选择器检索它,然后显示为循环视频。不知何故,Apple 重写了 Live Photo,要么通过更改 Live Photo 的元数据以便视频播放器知道如何播放它,要么完全用他们自己的“秘诀”重写视频。
背景:-媒体资产已被选中,现在在我的应用程序中进行处理。- 当前选择的媒体类型是普通的 Live Photo - 用户在编辑过程中的某个时间决定他们想要将 Live Photo 的格式更改为反弹。
问题:有没有一种方法可以重写这些资产的元数据以将它们更改为实时照片、循环或弹跳,无论当前类型如何,还是我必须以某种方式重写视频?
这是我在检查从选择器返回的媒体资产的资源时得到的输出。每个资产都有相同的配对资源,无论是 Live Photo、bounce 还是 Loop。这些是我正在检查的媒体的描述。
第一个输出是当我选择一张普通的 Live Photo
Photo Live //Media Type
8 //Media Type Int
Adjustment Data //Paired adjustment data
Paired Video //The paired video
Full Size Paired Video //Full Size Paired Video
Photo //paired photo
Full Size Photo //Full size paired photo
这是我选择“反弹”实时照片时得到的输出。我添加了额外的打印语句以获取有关每个配对资源的更多信息
Video looping
Asset Media metadata can be edited: Optional(true)
Asset Media content can be edited: Optional(true)
Asset Media duration: Optional(0.0)
Photo Live
8
Adjustment Data
Asset Local ID DFEA976C-7A34-4C2C-823A-C396D1EA2657/L0/001
Asset Local ID Adjustments.plist
Asset Local ID com.apple.property-list
Paired Video
Asset Local ID DFEA976C-7A34-4C2C-823A-C396D1EA2657/L0/001
Asset Local ID IMG_1001.MOV
Asset Local ID com.apple.quicktime-movie
Photo
Asset Local ID DFEA976C-7A34-4C2C-823A-C396D1EA2657/L0/001
Asset Local ID IMG_1001.JPG
Asset Local ID public.jpeg
Full Size Photo
Asset Local ID DFEA976C-7A34-4C2C-823A-C396D1EA2657/L0/001
Asset Local ID FullSizeRender.jpg
Asset Local ID public.jpeg
Full Size Paired Video
Asset Local ID DFEA976C-7A34-4C2C-823A-C396D1EA2657/L0/001
Asset Local ID FullSizeRender.mov
Asset Local ID com.apple.quicktime-movie