diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index c052ec450..05ffdebdf 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -1165,7 +1165,10 @@ class PlPlayerController { updateSliderPositionSecond(); } - void onChangedSliderStart() { + void onChangedSliderStart([Duration? value]) { + if (value != null) { + _sliderTempPosition.value = value; + } _isSliderMoving.value = true; } diff --git a/lib/plugin/pl_player/utils.dart b/lib/plugin/pl_player/utils.dart deleted file mode 100644 index 122dfbf6e..000000000 --- a/lib/plugin/pl_player/utils.dart +++ /dev/null @@ -1,30 +0,0 @@ -String printDuration(Duration? duration) { - if (duration == null) return "--:--"; - - /*String twoDigits(int n) { - if (n >= 10||n < 0) return "$n"; - return "0$n"; - }*/ - String twoDigits(int n) => n.toString().padLeft(2, "0"); - - String twoDigitMinutes = twoDigits(duration.inMinutes).replaceAll("-", ""); - String twoDigitSeconds = twoDigits( - duration.inSeconds.remainder(60), - ).replaceAll("-", ""); - //customDebugPrint(duration.inSeconds.remainder(60)); - return "$twoDigitMinutes:$twoDigitSeconds"; -} - -String printDurationWithHours(Duration? duration) { - if (duration == null) return "--:--:--"; - - String twoDigits(int n) { - if (n >= 10) return "$n"; - return "0$n"; - } - - String twoDigitHours = twoDigits(duration.inHours); - String twoDigitMinutes = twoDigits(duration.inMinutes.remainder(60)); - String twoDigitSeconds = twoDigits(duration.inSeconds.remainder(60)); - return "$twoDigitHours:$twoDigitMinutes:$twoDigitSeconds"; -} diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index 5c773d0e3..2e8ebcbea 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -20,7 +20,6 @@ import 'package:PiliPlus/plugin/pl_player/models/double_tap_type.dart'; import 'package:PiliPlus/plugin/pl_player/models/duration.dart'; import 'package:PiliPlus/plugin/pl_player/models/fullscreen_mode.dart'; import 'package:PiliPlus/plugin/pl_player/models/gesture_type.dart'; -import 'package:PiliPlus/plugin/pl_player/utils.dart'; import 'package:PiliPlus/plugin/pl_player/widgets/app_bar_ani.dart'; import 'package:PiliPlus/plugin/pl_player/widgets/backward_seek.dart'; import 'package:PiliPlus/plugin/pl_player/widgets/bottom_control.dart'; @@ -1177,14 +1176,13 @@ class _PLVideoPlayerState extends State const SizedBox(width: 2), Obx( () { - final durationSeconds = - plPlayerController.durationSeconds.value; return Text( - durationSeconds.inMinutes >= 60 - ? printDurationWithHours( - durationSeconds, - ) - : printDuration(durationSeconds), + DurationUtil.formatDuration( + plPlayerController + .durationSeconds + .value + .inSeconds, + ), style: textStyle, ); }, diff --git a/lib/plugin/pl_player/widgets/bottom_control.dart b/lib/plugin/pl_player/widgets/bottom_control.dart index c34028dbc..42164865c 100644 --- a/lib/plugin/pl_player/widgets/bottom_control.dart +++ b/lib/plugin/pl_player/widgets/bottom_control.dart @@ -65,7 +65,7 @@ class BottomControl extends StatelessWidget { thumbRadius: 7, onDragStart: (duration) { feedBack(); - controller.onChangedSliderStart(); + controller.onChangedSliderStart(duration.timeStamp); }, onDragUpdate: (duration) { double newProgress =