gpt4 book ai didi

Flutter - video_player 监听器被调用的速度非常慢

转载 作者:行者123 更新时间:2023-12-02 02:43:06 24 4
gpt4 key购买 nike

我想实时获取正在播放的视频的当前位置。我正在考虑使用监听器,但如果我这样做:

_controller.addListener(() => print(_controller.value.position.inMilliseconds))

它仅每 500 毫秒打印一次该值。这太慢了,视频每 33 毫秒甚至更频繁地更新一次。任何人都知道为什么会发生这种情况以及实现我想要的正确方法是什么?

附言我能够通过在视频开始时启动 AnimationController 来实现我想要的效果,但这似乎是一种 hack。

最佳答案

延迟的原因是 VideoPlayerController 每 500 毫秒通知一次监听器。您可以使用 Timer 定期获取视频播放器的位置。这是执行此操作的示例代码

class VideoPlayerScreen extends StatefulWidget {
@override
VideoPlayerState createState() => VideoPlayerState();
}

class VideoPlayerState extends State<VideoPlayerScreen> {
Timer _timer;
VideoPlayerController videoPlayerController;

void startTimer() {
_timer = Timer.periodic(const Duration(milliseconds: 100), (Timer timer) async {
print(await videoPlayerController.position);
});
}

@override
void dispose() {
_timer?.cancel();
videoPlayerController?.dispose();
super.dispose();
}
}

关于Flutter - video_player 监听器被调用的速度非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63246687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com