【问题标题】:How to get a video PHAsset disk file size?如何获取视频 PHAsset 磁盘文件大小?
【发布时间】:2016-08-06 08:25:14
【问题描述】:

我正在尝试确定 PHAsset 视频磁盘上的文件大小。

以下代码返回错误“无法打开文件“IMG_0188.mov”,因为您没有查看权限。”

PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
            options.version = PHVideoRequestOptionsVersionOriginal;

            [[PHImageManager defaultManager] requestAVAssetForVideo:asset options:options resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *info) {
                videoURL = [(AVURLAsset*)avAsset URL];

                NSNumber *videoDiskFileSize;
                NSError *error;
                [videoURL getResourceValue:&videoDiskFileSize forKey:NSURLFileSizeKey error:&error];

                if(error){
                    NSLog(@"ERROR %@", error.localizedDescription);
                }

                NSLog(@"size is %f",[videoDiskFileSize floatValue]/(1024.0*1024.0));
            }];

【问题讨论】:

    标签: avasset phasset photokit


    【解决方案1】:

    这是正确的做法。

    PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
                options.version = PHVideoRequestOptionsVersionOriginal;
    
                [[PHImageManager defaultManager] requestExportSessionForVideo:asset options:options exportPreset:AVAssetExportPresetHighestQuality resultHandler:^(AVAssetExportSession *exportSession, NSDictionary *info) {
                    CMTime videoDuration = CMTimeMultiplyByFloat64(exportSession.asset.duration, 1);
                    exportSession.timeRange = CMTimeRangeMake(kCMTimeZero, videoDuration);
                    NSLog(@"Byyte size = %lld", exportSession.estimatedOutputFileLength);
    
                    videoSize = exportSession.estimatedOutputFileLength;
                }];
    

    【讨论】:

    • 出口是个坏主意
    猜你喜欢
    • 2014-12-20
    • 2018-12-04
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2023-03-31
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多