compressVideo static method
Future<File?>
compressVideo(
- File file, {
- String? videoName,
- bool saveToLibrary = false,
- VideoQuality quality = VideoQuality.very_low,
- void onVideoCompressProgress()?,
- 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;
}
}