Flutter视频播放器持续时间?

h6my8fg2  于 2022-12-14  发布在  Flutter
关注(0)|答案(2)|浏览(184)

我在这里使用Flutter video_player软件包:https://pub.dev/packages/video_player
如何获得视频的持续时间?我可以看到有一个position属性,所以我需要它来获得当前的时间值。
但是我如何得到视频的总持续时间呢?视频来自一个URL
我正在制作一个自定义播放器,所以我需要这两个值。

ezykj2lf

ezykj2lf1#

要获得总持续时间,您可以使用视频控制器

VideoPlayerController _controller = VideoPlayerController.network('https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4')
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
      });

 Duration durationOfVideo = _controller.value.duration;

您也可以直接存储整数而不是持续时间,如下图

bsxbgnwa

bsxbgnwa2#

您可以创建一个函数来计算视频Dutarion并将其格式化。

getVideoPosition() {
    var duration = Duration(milliseconds: videoController.value.position.inMilliseconds.round());
    return [duration.inMinutes, duration.inSeconds].map((seg) => seg.remainder(60).toString().padLeft(2, '0')).join(':');
  }

创建此函数后,只需调用它即可显示持续时间。例如:

Text(getVideoPosition())

相关问题