你好,我正在使用Flutter视频播放器插件,我有类似以下的内容:[{phrase:"something", startAt: 1039}, {phrase:"other somthing", startAt: 26500}]
。请问在视频播放时,是否有一种方法可以根据开始时间改变短语的UI呈现?
我尝试使用100毫秒的定时器,但是从Flutter视频播放器插件中无法得到精确时间。
你好,我正在使用Flutter视频播放器插件,我有类似以下的内容:[{phrase:"something", startAt: 1039}, {phrase:"other somthing", startAt: 26500}]
。请问在视频播放时,是否有一种方法可以根据开始时间改变短语的UI呈现?
我尝试使用100毫秒的定时器,但是从Flutter视频播放器插件中无法得到精确时间。
如果您希望实现这一点,您可能需要查看 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(() {});
});