generateThumbnail method

  1. @override
Future<Thumbnail> generateThumbnail({
  1. required String filePath,
  2. double position = 0.0,
})

Generates a thumbnail for a given video file.

Implementation

@override
Future<Thumbnail> generateThumbnail({
  required String filePath,
  double position = 0.0,
}) async {
  final result = (await _channel.invokeMapMethod<String, dynamic>(
    'generateThumbnail',
    {
      'filePath': filePath,
      'position': position.round(),
    },
  ))!;
  final videoLength = result['videoLength'] as double;
  final imageData = base64Decode(result['data']);
  final completer = Completer<ui.Image>();
  ui.decodeImageFromList(imageData, completer.complete);
  final image = await completer.future;
  return Thumbnail(
    image: image,
    videoDuration: videoLength,
  );
}