From e3de782d7765d4a7f9843b69cf30becc304271f9 Mon Sep 17 00:00:00 2001 From: orz12 Date: Thu, 1 Feb 2024 22:10:24 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E5=8A=A0=E5=BF=AB=E9=9F=B3=E9=87=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=89=8B=E5=8A=BF=E9=80=9F=E5=BA=A6=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E9=81=BF=E5=85=8D=E8=B0=83=E6=95=B4=E6=97=B6=E6=95=B0?= =?UTF-8?q?=E5=80=BC=E6=8A=96=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugin/pl_player/view.dart | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index 3980453b..dea7c5c0 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -76,6 +76,8 @@ class _PLVideoPlayerState extends State // 用于记录上一次全屏切换手势触发时间,避免误触 DateTime? lastFullScreenToggleTime; + // 记录上一次音量调整值作平均,避免音量调整抖动 + double lastVolume = -1.0; void onDoubleTapSeekBackward() { _ctr.onDoubleTapSeekBackward(); @@ -541,9 +543,13 @@ class _PLVideoPlayerState extends State final double level = (_.isFullScreen.value ? Get.size.height : screenWidth * 9 / 16) * - 3; - final double volume = _ctr.volumeValue.value - delta / level; + 0.5; + if(lastVolume < 0) { + lastVolume = _ctr.volumeValue.value; + } + final double volume = (lastVolume + _ctr.volumeValue.value - delta / level)/2; final double result = volume.clamp(0.0, 1.0); + lastVolume = result; setVolume(result); } },