【发布时间】:2022-12-12 12:44:36
【问题描述】:
我在这里使用 Flutter video_player 包:https://pub.dev/packages/video_player
我如何获得视频的时长?我可以看到有一个 position 属性,所以我需要它来及时获取当前值。
但是我如何获得视频的总时长呢?视频来自URL。
我正在制作自定义播放器,所以我需要这两个值。
【问题讨论】:
标签: flutter dart flutter-dependencies
我在这里使用 Flutter video_player 包:https://pub.dev/packages/video_player
我如何获得视频的时长?我可以看到有一个 position 属性,所以我需要它来及时获取当前值。
但是我如何获得视频的总时长呢?视频来自URL。
我正在制作自定义播放器,所以我需要这两个值。
【问题讨论】:
标签: flutter dart flutter-dependencies
要获得总持续时间,您可以使用视频控制器
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;
您也可以直接存储整数而不是持续时间,如下图所示
【讨论】:
您可以创建一个函数来计算视频 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())
【讨论】:
totalVideoDuration = _controller.value.duration;
currentDuration = _controller.value.position;
你可以通过Controller获得
【讨论】: