美文网首页
iOS livephoto 2022-02-23

iOS livephoto 2022-02-23

作者: ZM_微笑向阳 | 来源:发表于2022-02-23 20:02 被阅读0次

最近做了一个壁纸类app,涉及到了livephoto相关的内容,做个记录

基本思路

livephoto实际上是由一张jpg图片和一段mov视频组成,想要从网络后台获取livephoto, 后台应该是以一张图片对应一段视频的方式存储livephoto,手机端通过网络下载好对应的图片和视频之后.利用系统Photos.framew中提供的方法将图片和视频合成PHLivePhoto,之后可以通过PhotoUI中的PHLivePhotoView来展示PHLivePhoto对象,或者通过PHAssetCreationRequest的方法保存livephoto到相册

代码实现

首先导入framework,之后引入头文件

  #import <Photos/Photos.h>
  #import <PhotosUI/PhotosUI.h>
    在下载完图片与视频并保存在本地之后,我们通过传入下载好的视频与图片的本地url来生成       PHLivePhoto对象

   [PHLivePhoto requestLivePhotoWithResourceFileURLs:@[self.movUrl ,imgUrl] placeholderImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]] targetSize:self.imageView.bounds.size contentMode:PHImageContentModeAspectFill resultHandler:^(PHLivePhoto * _Nullable livePhoto, NSDictionary * _Nonnull info) {
        
    }];
要展示livephoto, 需要创建PHLivePhotoView控件,再将上个方法得到的PHLivePhoto对象赋值给PHLivePhotoView,之后PHLivePhotoView调用播放方法就可以开始展示livephoto了

    self.livePhotoView = [[PHLivePhotoView alloc] init];//创建
    self.livePhotoView.livePhoto = livePhoto;// 赋值
    [self.livePhotoView startPlaybackWithStyle:PHLivePhotoViewPlaybackStyleFull]; // 播放

保存livephoto到相册

 [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
                PHAssetCreationRequest * req = [PHAssetCreationRequest creationRequestForAsset];
                [req addResourceWithType:PHAssetResourceTypePhoto fileURL:self.imgUrl options:nil];
                [req addResourceWithType:PHAssetResourceTypePairedVideo fileURL:self.movUrl options:nil];
            } completionHandler:^(BOOL success, NSError * _Nullable error) {
           
                if (success) {
                    [self showMessage:@"已保存至相册"];
                }else
                {
                    [self showMessage:@"保存失败"];
                }
            }];

相关文章

  • iOS livephoto 2022-02-23

    最近做了一个壁纸类app,涉及到了livephoto相关的内容,做个记录 基本思路 livephoto实际上是由一...

  • iOS开发一个制作Live Photo的工具

    1.livePhoto简介 livePhoto是iOS 9.0 之后系统相机提供的拍摄动态照片的功能,但是仅在6S...

  • iOS LivePhoto制作

    之前写了一篇iOS LivePhoto展示与保存,不过文章内介绍的是使用现有的Live Photo进行展示与保存。...

  • iOS15.1 无法合成livePhoto

    目前发现iOS15.1之前的版本合成livePhoto都没问题,对于刚发的iOS15.1就是合不成livePhot...

  • iOS livephoto转image

  • iOS开发 支持LivePhoto

    注意点1、获取该PHAsset是否为LivePhoto应该使用asset.mediaSubtypes.contai...

  • Photos框架快速了解

    Photos是iOS 8以上可使用的框架,通过此框架可以获取用户相册图片、livephoto、vidio下面是常用...

  • iOS LivePhoto展示与保存

    最近需要做壁纸相关的东西,一开始使用的是静态壁纸,不过后来说准备做动态壁纸,也就是苹果上的LivePhoto。查了...

  • LivePhoto

    七牛云图片处理实践之LIVE PHOTO|国内首家支持  http://blog.qiniu.com/arc...

  • 三步为你的App集成LivePhoto功能

    LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联...

网友评论

      本文标题:iOS livephoto 2022-02-23

      本文链接:https://www.haomeiwen.com/subject/jnqalrtx.html