在我的应用程序中,我列出了手机存储中的所有视频。在 gridview 中,我正在显示所有视频。我是作为 video_thumbnail 小部件的家长的 futurebuilder。在模拟器中它可以正常工作并显示所有带有缩略图的视频,但是当我在手机中进行构建和运行时,它只显示圆形进度条。
我的代码:
import 'dart:io';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:video_thumbnail/video_thumbnail.dart';
class VideoWithThumbnail extends StatefulWidget {
final String filePath;
VideoWithThumbnail({@required this.filePath});
@override
_VideoWithThumbnailState createState() => _VideoWithThumbnailState();
}
class _VideoWithThumbnailState extends State<VideoWithThumbnail> {
Future futureThumbnail;
void initState() {
super.initState();
futureThumbnail = getThumbnail();
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: futureThumbnail,
builder: (context, snapshot) {
if (ConnectionState.done == snapshot.connectionState) {
return Image.memory(snapshot.data);
} else {
return CircularProgressIndicator();
}
},
);
}
Future<Uint8List> getThumbnail() async {
Uint8List unit8List = await VideoThumbnail.thumbnailData(
video: widget.filePath,
imageFormat: ImageFormat.JPEG,
maxWidth:
128,
quality: 25,
);
return unit8List;
}
}