跟踪进度Flutter视频播放器

时间:2018-08-07 16:41:53

标签: flutter flutter-layout flutter-dependencies

您好,我使用的是flutter视频播放器插件,我有类似[{phrase:"something", startAt: 1039}, {phrase:"other somthing", startAt: 26500}]的内容,可以根据视频播放的开始时间来更改ui短语。

我尝试使用持续时间为100毫秒的计时器,但我没有从Flutter视频播放器插件中获取确切的时间。

1 个答案:

答案 0 :(得分:2)

您可能想看看stateful widgets,因为它们可以使您完全做到这一点。简而言之,您可以将phrase设置为某个变量,视频开始播放后,您可以调用setState并更改变量。 Flutter将自动重画窗口小部件并将更新文本。

要确定视频播放器是否正在播放,可以将侦听器添加到视频控制器中。

_controller = VideoPlayerController.network(
      'http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_20mb.mp4',
    )
      ..addListener(() {
        final bool isPlaying = _controller.value.isPlaying;
        if (isPlaying != _isPlaying) {
          setState(() {
            _isPlaying = isPlaying;
          });
        }
      })
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });