抖动图像选择器maxDuration问题

时间:2020-10-16 05:42:49

标签: flutter imagepicker

我正在使用来自flutter.dev官方的图像选择器插件。现在,我在设置选择视频的maxDuration时遇到了奇怪的问题。现在是我的代码:

pickVideoFromGallery() async {
Navigator.pop(context);
File videoFile = await ImagePicker.pickVideo(
    source: ImageSource.gallery, maxDuration: const Duration(seconds: 10));
int helloInt = await videoFile.length();
int byebyeInt = videoFile.lengthSync();
print(helloInt);
print(byebyeInt);
setState(() {
  this.fileForThumbnailEXPRMT = videoFile;
});}

版本为image_picker: ^0.6.0+2

我正在尝试将所选视频的maxDuration设置为10秒,以便用户无法上传10秒以上的视频。尽管我使用了不赞成使用的方法,但是我确信maxDuration代码必须工作正常,因为imagePicker的所有其他部分在所有os和sw版本上都可以正常工作。但是,当我将maxDuration设置为10s并在设备上对其进行测试时,什么也没发生。我选择了3分钟的视频,但代码并没有限制过程,在我的情况下实际上不应该发生。我是在误解maxDuration参数的概念,还是在设置视频的maxDuration时我的代码错误?

有人知道如何完美设置视频的maxDuration吗?我尝试了各种int来设置maxDuration,但不适用于所有这些int。

清除答案表示赞赏!预先感谢您[:

1 个答案:

答案 0 :(得分:1)

我认为您无法使用ImagePicker来实现此功能,因为此插件通过手机默认的相机应用程序捕获视频,并且您无法访问捕获期间的检查和管理持续时间,直到用户停止捕获并返回您的应用程序为止。 / p>

我的建议是使用相机插件https://pub.dev/packages/camera并使用计时器停止录制。