getVideoCompressed method
Compresses the given video file.
imageFile is the video file to be compressed.
Implementation
Future<void> getVideoCompressed(XFile imageFile, String type) async {
File file = File(imageFile.path);
int sizeBytes = file.lengthSync();
double sizeMb = sizeBytes / (1024 * 1024);
if (sizeMb < 30) {
callback.success(
fileData: ReturnModel(
filePath: imageFile.path,
fileName: imageFile.path.split('/').last,
fileExtension: getFileExtension(imageFile.path),
size: sizeMb,
),
type: type,
);
return;
}
// final info = await VideoCompress.compressVideo(
// file.path,
// quality: VideoQuality.Res960x540Quality,
// deleteOrigin: false,
// includeAudio: true,
// );
if (imageFile != null) {
File compressedFile = File(imageFile.path ?? "");
int compressedSizeBytes = compressedFile.lengthSync();
double compressedSizeMb = compressedSizeBytes / (1024 * 1024);
callback.success(
fileData: ReturnModel(
filePath: compressedFile.path,
fileName: compressedFile.path.split('/').last,
fileExtension: getFileExtension(compressedFile.path),
size: compressedSizeMb,
),
type: type,
);
} else {
callback.error('Video compression failed');
}
}