compressVideo static method

Future<File?> compressVideo(
  1. File file, {
  2. String? videoName,
  3. bool saveToLibrary = false,
  4. VideoQuality quality = VideoQuality.very_low,
  5. void onVideoCompressProgress(
    1. double
    )?,
  6. ThumbnailConfig? thumbnailConfig,
})

Implementation

static Future<File?> compressVideo(
  File file, {
  String? videoName,
  bool saveToLibrary = false,
  VideoQuality quality = VideoQuality.very_low,
  void Function(double)? onVideoCompressProgress,
  ThumbnailConfig? thumbnailConfig,
}) async {
  try {
    final str = quality.toString();
    final qstr = str.substring(str.indexOf('.') + 1);
    _onVideoCompressProgress = onVideoCompressProgress;
    final String? result = await _invokeMethod('compressVideo', {
      'path': file.path,
      'videoName': videoName,
      'saveToLibrary': saveToLibrary,
      'quality': qstr.toUpperCase(),
      'storeThumbnail': thumbnailConfig != null,
      'thumbnailSaveToLibrary': thumbnailConfig?.saveToLibrary ?? false,
      'thumbnailPath': thumbnailConfig?.file?.path,
      'thumbnailQuality': thumbnailConfig?.quality ?? 100,
    });
    _onVideoCompressProgress = null;
    return result == null ? null : File(result);
  } on PlatformException {
    _onVideoCompressProgress = null;
    rethrow;
  }
}