美文网首页
2023-01-30 PHAsset 获取视频路径

2023-01-30 PHAsset 获取视频路径

作者: cc帅气的昵称 | 来源:发表于2023-01-29 18:51 被阅读0次

两种方式:

1.我一开始用的

ps:和注释说的一样 此方法 无法加载iCloud上的视频或者图片

1

2.经过我的研究优化 原格式视频直接导出 最终版本

2

研究了一下午 以此记录,好用点个赞再走!转发请标明出处!!

下面直接cv:

[[PHImageManager defaultManager] requestExportSessionForVideo:model.asset options:[self getVideoRequestOptions] exportPreset:AVAssetExportPresetHighestQuality resultHandler:^(AVAssetExportSession *_Nullable exportSession, NSDictionary *_Nullable info) {

//        NSString *outputPath = [self getVideoOutputPath];

//        exportSession.outputURL = [NSURL fileURLWithPath:outputPath];

//        exportSession.shouldOptimizeForNetworkUse = NO;

//        exportSession.outputFileType = AVFileTypeMPEG4;

//        if (!CMTimeRangeEqual(timeRange, kCMTimeRangeZero)) {

//            exportSession.timeRange = timeRange;

//        }

//        [exportSession exportAsynchronouslyWithCompletionHandler:^{

//            if (success) {

//                success(outputPath);

//            }

//        }];

        AVURLAsset*urlAsset = (AVURLAsset*)exportSession.asset;

        NSURL*url = urlAsset.URL;

        NSLog(@"%@",url);

        NSData *data = [NSData dataWithContentsOfURL:urlAsset.URL];

        NSString*savePath = [selfgetVideoOutputPath:url.pathExtension];

        [datawriteToFile:savePathatomically:YES];

        // 回到主线程

        dispatch_async(dispatch_get_main_queue(), ^{

            // n秒后执行

            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

                // 需要延迟执行的代码

                if(success) {

                    success(savePath);

                }

            });

        });

    }];

相关文章

网友评论

      本文标题:2023-01-30 PHAsset 获取视频路径

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