Миниатюра видео в трепете

#flutter #flutter-layout

Вопрос:

У меня есть список, объединенный из видео и изображения, я хочу показать миниатюру видео в списке, если это видео. Прямо сейчас я показал только значок видеоплеера, если это видео, можем ли мы показать миниатюру ..?

[![Просмотр списка][1]][1]

Ниже приведен код

     children: [
                        if (post.photo != null)
                          AspectRatio(
                            aspectRatio: 156 / 110,
                            child: ClipRRect(
                              borderRadius: const BorderRadius.all(
                                AppTheme.mediumBorderRadius,
                              ),
                              child: CustomExtendedImage(
                                url: post.photo!,
                              ),
                            ),
                          ),
                        if (post.video != null)
                          // Get Video Thumbnail somehow
                          const AspectRatio(
                            aspectRatio: 156 / 110,
                            child: Center(
                              child: Icon(
                                FlatIcons.video_camera,
                                size: 100,
                              ),
                            ),
                          ),
                      ],
 

Ответ №1:

Вы можете использовать пакет video_thumbnail следующим образом

  Future<File> _generateThumbnail() async {
    final String _path = await VideoThumbnail.thumbnailFile(
      video: 'video_url',
      thumbnailPath: (await getTemporaryDirectory()).path, /// path_provider
      imageFormat: ImageFormat.PNG,
      maxHeight: 50,
      quality: 50,
    );
    return File(_path);
  }