
Я использую средство выбора изображений для выбора видео, а затем оно отображается в моем пользовательском интерфейсе, поэтому я хочу удалить миниатюру выбранного видео с моего экрана, на выбранном видео есть красная кнопка, когда пользователь нажимает на эту кнопку, видео должно быть удалено с экрана. Я пытался, но, кажется, я делаю что-то не так с функцией, я думаю, вот мой код
if (_image != null)
Stack(
children: <Widget>[
Container(
height: 55,
width: 60,
child: Image.memory(_image)),
Positioned(
top: -15,
right: -15,
child: ClipRRect(
borderRadius:
BorderRadius.circular(
16.0),
child: IconButton(
hoverColor: Colors.red,
icon: Icon(
Icons.delete,
color: Colors.red,
size: 23,
),
onPressed: () =>
_removeVideo),
),
),
],
),
Future<void> _videoPicker() async {
if (mounted) {
final file = await ImagePicker.pickVideo(source: ImageSource.gallery);
if (file?.path != null) {
final thumbnail = await _flutterVideoCompress.getThumbnail(
file.path,
quality: 50,
position: -1,
);
setState(() {
_image = thumbnail;
});
final resultFile = await _flutterVideoCompress.getThumbnailWithFile(
file.path,
quality: 50,
position: -1,
);
debugPrint(resultFile.path);
assert(resultFile.existsSync());
debugPrint('file Exists: ${resultFile.existsSync()}');
final MediaInfo info = await _flutterVideoCompress.compressVideo(
file.path,
deleteOrigin: false,
quality: VideoQuality.LowQuality,
);
debugPrint(info.toJson().toString());
}
}
}
void _removeVideo() {
setState(() {
_image = null;
});
}