2016-08-06 16 views
0

PHAssetビデオのディスク上のファイルサイズを調べようとしています。ビデオの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)); 
      }]; 

答えて

0

これは正しい方法です。

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; 
      }]; 
関連する問題