抖动图像选择器 maxDuration 问题

flutter image picker maxDuration issue

我正在使用 flutter.dev 官方的图像选择器插件。现在我在设置 choosing 视频的 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?我尝试了各种整数来设置 maxDuration 但它不适用于所有 those 整数。

明确的答案表示赞赏!提前谢谢你 [:

我不认为你可以用 ImagePicker 做到这一点,因为这个插件通过 phone 默认相机应用程序捕获视频,并且你无法在捕获时检查和管理持续时间,直到用户停止捕获和return 到您的应用程序。

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