• UIVideoEditorController 视频剪辑


    实现方法

     if ( [UIVideoEditorController canEditVideoAtPath:self.video.filePath])

        {

            //YSXVideoEditorViewController : UIVideoEditorController

            /*

             @property(nonatomic, copy)     NSString                              *videoPath;

             @property(nonatomic)           NSTimeInterval                        videoMaximumDuration; // default value is 10 minutes. set to 0 to specify no maximum duration.

             @property(nonatomic)           UIImagePickerControllerQualityType    videoQuality;

             */

            _videoEditViewC = [[YSXVideoEditorViewController alloc] init];

            //扩展属性

            _videoEditViewC.video = self.video;

            //视频最大时长

            //_videoEditViewC.videoMaximumDuration ;

            

            _videoEditViewC.videoPath = self.video.filePath;

            //设置代理 退出编辑

            _videoEditViewC.delegate = self;

            

            [self presentViewController:_videoEditViewC animated:YES completion:nil];

        }

    代理回调

    - (void)videoEditorController:(UIVideoEditorController *)editor didFailWithError:(NSError *)error

    {

        YSXLOGINFO(@"%@",error);

        [editor dismissViewControllerAnimated:YES completion:nil];

    }

    - (void)videoEditorControllerDidCancel:(UIVideoEditorController *)editor

    {

        YSXLOGINFO(@"Cacel");

        [editor dismissViewControllerAnimated:YES completion:nil];

    }

    - (void)videoEditorController:(UIVideoEditorController *)editor didSaveEditedVideoToPath:(NSString *)editedVideoPath{

        YSXLOGINFO(@"didSaveEditedVideo");

        YSXLOGINFO(@"%@  -- %@",editedVideoPath,editor);

        //判断是否有重复的文件

        NSString * MD5 = self.video.MD5;

        NSString *path = self.video.filePath;

        

        //删除原有视频

        [[YSXFileManager shareFileManager] deleteVideo:self.video];    

        //移动

        [[NSFileManager defaultManager] moveItemAtPath:editedVideoPath toPath:path error:nil];

        

        //创建新的视频

        [[YSXFileManager shareFileManager] addVideoToConfigPlist:path

                                                                 md5:MD5

                                                            metaData:nil

                                                              manual:YES];

        

        RecPlayVideoEntity *video = [[RecPlayShareVideo shareInstance] getLastRecordingVideo];

        self.video = video;

        [editor dismissViewControllerAnimated:YES completion:nil];

    }

    系统自带的视频编辑  滑动框没有时间显示,没有总时长显示,也无法设置视频缩略图 ,欢迎大家探讨。

  • 相关阅读:
    安装CentOS7
    gitlab的CI/CD实现
    如何实现7*24小时灵活发布?阿里技术团队这么做
    架构整洁之道, 看这一篇就够了!
    什么是数据湖?有什么用?
    2020 云原生 7 大趋势预测
    饿了么交易系统 5 年演化史
    ajax 传参数 数组 会加上中括号
    文件下载
    数组常用方法
  • 原文地址:https://www.cnblogs.com/timeAlove/p/4535288.html
Copyright © 2020-2023  润新知