From 85e86f1d614ad098bbe0f2857524d5306f017099 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Mon, 9 Oct 2023 08:24:07 +0800 Subject: [PATCH] =?UTF-8?q?mod:=20=E4=BC=98=E5=8C=96=E5=BF=AB=E8=BF=9B?= =?UTF-8?q?=E6=89=8B=E5=8A=BF=E9=98=88=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugin/pl_player/view.dart | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index 1ee00668..deb73696 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -478,20 +478,13 @@ class _PLVideoPlayerState extends State return; } final tapPosition = details.localPosition.dx; - double scale = 60 / MediaQuery.of(context).size.width; int curSliderPosition = _.sliderPosition.value.inMilliseconds; - late int result; - if (tapPosition - _initTapPositoin > 0) { - // 快进 - /// TODO 优化屏幕越小效果越明显 - result = (curSliderPosition + (500 * scale).toInt()) - .clamp(0, _.duration.value.inMilliseconds); - } else { - // 快退 - result = (curSliderPosition - (500 * scale).toInt()) - .clamp(0, _.duration.value.inMilliseconds); - } - _.onUodatedSliderProgress(Duration(milliseconds: result)); + double scale = 60000 / MediaQuery.of(context).size.width; + Duration pos = Duration( + milliseconds: + curSliderPosition + (details.delta.dx * scale).round()); + Duration result = pos.clamp(Duration.zero, _.duration.value); + _.onUodatedSliderProgress(result); _.onChangedSliderStart(); _initTapPositoin = tapPosition; },