diff --git a/lib/pages/video/widgets/player_focus.dart b/lib/pages/video/widgets/player_focus.dart index 5f5990877..b0d65d1e8 100644 --- a/lib/pages/video/widgets/player_focus.dart +++ b/lib/pages/video/widgets/player_focus.dart @@ -59,7 +59,10 @@ class PlayerFocus extends StatelessWidget { void _setVolume({required bool isIncrease}) { final volume = isIncrease - ? math.min(1.0, plPlayerController.volume.value + 0.1) + ? math.min( + PlPlayerController.maxVolume, + plPlayerController.volume.value + 0.1, + ) : math.max(0.0, plPlayerController.volume.value - 0.1); plPlayerController.setVolume(volume); } diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index e1be3fa0b..f416e96b8 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -1336,6 +1336,7 @@ class PlPlayerController { Timer? volumeTimer; final RxBool volumeInterceptEventStream = false.obs; + static final double maxVolume = PlatformUtils.isDesktop ? 2.0 : 1.0; Future setVolume(double volume) async { if (this.volume.value != volume) { this.volume.value = volume; diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index d0968db02..5fcde3f31 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -1116,7 +1116,7 @@ class _PLVideoPlayerState extends State final double volume = clampDouble( plPlayerController.volume.value - delta.dy / level, 0.0, - 1.0, + PlPlayerController.maxVolume, ); plPlayerController.setVolume(volume); }, @@ -1340,7 +1340,7 @@ class _PLVideoPlayerState extends State final double volume = clampDouble( plPlayerController.volume.value - event.localPanDelta.dy / level, 0.0, - 1.0, + PlPlayerController.maxVolume, ); plPlayerController.setVolume(volume); }, @@ -1358,7 +1358,7 @@ class _PLVideoPlayerState extends State final volume = clampDouble( plPlayerController.volume.value + offset, 0.0, - 1.0, + PlPlayerController.maxVolume, ); plPlayerController.setVolume(volume); }