我有内部存储中所有视频文件的列表。现在我想将每个视频显示为图块,并将视频缩略图显示为图块的前导。
如何为这些视频生成缩略图?
对于其他人。使用 video_player 插件作为缩略图。它与这些库非常有效,也适用于 ios。只需创建 statefullWidget 作为项目(如果您想在列表中显示,请使用该小部件作为项目)。请参阅下面的示例。
class _VideoItemState extends State<VideoItem> {
VideoPlayerController _controller;
@override
void initState() {
super.initState();
_controller = VideoPlayerController.network(widget.video.file.path)
..initialize().then((_) {
setState(() {}); //when your thumbnail will show.
});
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
@override
Widget build(BuildContext context) {
return ListTile(
leading: _controller.value.initialized
? Container(
width: 100.0,
height: 56.0,
child: VideoPlayer(_controller),
)
: CircularProgressIndicator(),
title: Text(widget.video.file.path.split('/').last),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
VideoPlayerPage(videoUrl: widget.video.file.path),
),
);
},
);
}
}