Cla*_*ges 24 ios photokit ios9 phlivephoto
Apple将在iOS 9/iPhone 6s中推出Live Photo.文件格式在哪里记录?
rus*_*hop 50
实时照片有两种资源.它们与资产标识符(UUID作为字符串)绑定在一起.
kCGImagePropertyMakerAppleDictionary
与[17 : assetIdentifier]
(17是苹果机注资产识别键).["com.apple.quicktime.content.identifier" : assetIdentifier]
.如果使用AVAsset
你可以得到这个asset.metadataForFormat(AVMetadataFormatQuickTimeMetadata)
["com.apple.quicktime.still-image-time" : 0xFF]
; 实际静止图像时间与此元数据项的演示文稿时间戳匹配.有效载荷似乎只是一个0xFF
字节(也就是-1),可以忽略.如果使用AVAssetReader
你可以CMSampleBufferGetOutputPresentationTimeStamp
用来得到这个时间.将assetIdentifier
两个项目联系在一起的是什么,定时元数据轨道是告诉系统静止图像在电影时间轴中的位置.
Sam*_*1er 18
这是链接.否则,这是文字:
实时照片
实时照片是iOS 9的一项新功能,允许用户使用比传统照片更丰富的环境捕捉和重温他们喜爱的时刻.当用户按下快门按钮时,相机应用程序会捕获更多内容以及常规照片,包括照片前后的音频和其他帧.浏览这些照片时,用户可以与他们互动并播放所有捕获的内容,从而使照片变为现实.
iOS 9.1引入了API,允许应用程序合并实时照片的播放,以及导出数据以进行共享.Photos框架中有新的支持从PHImageManager对象获取PHLivePhoto对象,该对象用于表示构成Live Photo的所有数据.您可以使用PHLivePhotoView对象(在PhotosUI框架中定义)来显示Live Photo的内容.PHLivePhotoView视图负责显示图像,处理所有用户交互以及应用视觉处理来回放内容.
您还可以使用PHAssetResource访问PHLivePhoto对象的数据以进行共享.您可以使用PHImageManager或UIImagePickerController为用户照片库中的资产请求PHLivePhoto对象.如果您有共享扩展,则还可以使用NSItemProvider获取PHLivePhoto对象.在共享的接收端,您可以从发件人最初导出的文件集中重新创建PHLivePhoto对象.
显示实时照片的指南
重要的是要记住,Live Photo仍然是一张照片.如果您必须在不支持PHLivePhotoView的环境中显示实时照片,建议您将其作为常规照片呈现.
不要单独显示Live Photo的额外帧和音频.重要的是,Live Photo的内容应以一致的方式呈现,在所有应用程序中使用相同的视觉处理和交互模型.
建议您通过将PHLivePhotoView类方法livePhotoBadgeImageWithOptions:PHLivePhotoBadgeOptionsOverContent提供的徽章放在照片的左上角,将照片识别为Live Photo.
请注意,不支持提供用户浏览"照片"应用中的照片时所体验的视觉效果.
实时照片共享指南
Live Photo的数据作为一组文件导出到PHAssetResource对象中.将文件集上载到服务器时,必须将这些文件集保留为一个单元.当您在接收器端使用这些文件重建PHLivePhoto时,将验证文件; 如果文件不是来自同一资产,则加载失败.
如果您的应用允许用户在共享照片之前对照片应用效果或调整,请务必对Live Photo的所有帧应用相同的调整.或者,如果您不支持调整动态照片的全部内容,请将其作为常规照片共享并向用户显示适当的指示.
如果您的应用具有用于选择要分享的照片的UI,则应该让用户回放整个内容,以便他们确切地知道他们正在分享的内容.当选择要在应用中共享的照片时,用户还应该可以关闭实时照片,所以他们可以把它作为传统照片发布.
在文档之外,Live Photos 由 2 个资源组成,一个图像和一个 mov(快速电影文件)。因此,每张 Live Photo 都有 2 个“实际”文件,由 Live Photo 类型的包装器连接。
归档时间: |
|
查看次数: |
35168 次 |
最近记录: |