Wie erhalte ich das erste Bild der lokalen Videodatei im Flutter-Projekt? Hier ist mein Code:

ImagePicker.pickVideo(source: ImageSource.camera).then((File file) {
  if (file != null && mounted) {
    //I got the video file here, but I want to get the first frame of the video.
  }
 });
},
4
Coding24h 19 Jän. 2019 im 10:54

3 Antworten

Beste Antwort
String thumb = await Thumbnails.getThumbnail(
    thumbnailFolder:'[FOLDER PATH TO STORE THUMBNAILS]', // creates the specified path if it doesnt exist
    videoFile: '[VIDEO PATH HERE]',
    imageType: ThumbFormat.PNG,
    quality: 30);

/*
* thumbnailFolder property can be omitted if you dont wish to keep the generated thumbails past each usage
*/
-3
CatEatFish 20 Feb. 2019 im 04:09

Der folgende Code verwendet das Video_thumbnail-Plugin, das in seiner Dokumentation Unterstützung für Android und iOS anzeigt

Future genThumbnailFile() async{
    final thumbnail = await VideoThumbnail.thumbnailFile(
        video:
        _video.path,
        // thumbnailPath: _tempDir,
        imageFormat: ImageFormat.JPEG,
        //maxHeightOrWidth: 0,
        maxHeight:3,
        maxWidth: 2,
        quality: 10);
    setState(() {
      final file = File(thumbnail);
      filePath = file.path;
    });
  }

Verwenden Sie dann diese filePath-Variable im Image-Widget wie folgt

filePath != null
                      ? Container(
                      width:400,
                      height: 200,
                      child: Image(image: AssetImage(filePath)))
                      : Text('No Floatting Button Click')
0
Marc 15 Apr. 2020 im 18:31

Ich habe dies mithilfe von Thumbnails von pub implementiert.

String thumb = await Thumbnails.getThumbnail(
    thumbnailFolder:'[FOLDER PATH TO STORE THUMBNAILS]', // creates the specified path if it doesnt exist
    videoFile: '[VIDEO PATH HERE]',
    imageType: ThumbFormat.PNG,
    quality: 30);

/*
* thumbnailFolder property can be omitted if you dont wish to keep the generated thumbails past each usage
*/
-4
Coding24h 20 Feb. 2019 im 04:05