【问题标题】:flutter image picker maxDuration issue颤振图像选择器maxDuration问题
【发布时间】:2021-01-30 15:24:03
【问题描述】:

我正在使用来自 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 吗?我尝试了各种整数来设置 maxDuration,但它不适用于所有这些整数。

感谢明确的答案!提前谢谢你[:

【问题讨论】:

    标签: flutter imagepicker


    【解决方案1】:

    我认为您不能使用 ImagePicker 来做到这一点,因为此插件通过手机默认相机应用程序捕获视频,并且在用户停止捕获并返回您的应用程序之前,您无法在捕获时检查和管理持续时间。

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

    【讨论】:

    • 感谢您留下答案,但我想知道这个 maxDuration 到底是做什么的,以及如何正确使用它..!那么如何选择画廊或照片中的现有视频?这实际上并没有限制用户的时间录制持续时间,而只是在现有视频中进行选择。W/hat 让我认为 maxDuration 参数确实存在。如果 maxDuration 在录制或从图库中选择时都没有改变,为什么官方 Flutter 开发团队的插件中存在这个参数?
    • @ChansuPark 我明白你在说什么。从理论上讲,根据我从 maxDuration 中设法理解的内容,它应该控制时间。但是,我注意到在实践中它不是那样工作的。我发现控制录制开始和停止时间的唯一解决方法是使用相机插件。我希望这能回答你的问题。
    • 谢谢。我只是想以另一种方式实现它。这确实帮助了我[:
    猜你喜欢
    • 2020-01-22
    • 2021-06-08
    • 2021-05-12
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2018-10-31
    • 2019-07-06
    相关资源
    最近更新 更多