update tmpPos on drag start

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-07-27 00:27:39 +08:00
parent 819a28c48c
commit 916931dd11
4 changed files with 11 additions and 40 deletions

View File

@@ -1165,7 +1165,10 @@ class PlPlayerController {
updateSliderPositionSecond(); updateSliderPositionSecond();
} }
void onChangedSliderStart() { void onChangedSliderStart([Duration? value]) {
if (value != null) {
_sliderTempPosition.value = value;
}
_isSliderMoving.value = true; _isSliderMoving.value = true;
} }

View File

@@ -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";
}

View File

@@ -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/duration.dart';
import 'package:PiliPlus/plugin/pl_player/models/fullscreen_mode.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/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/app_bar_ani.dart';
import 'package:PiliPlus/plugin/pl_player/widgets/backward_seek.dart'; import 'package:PiliPlus/plugin/pl_player/widgets/backward_seek.dart';
import 'package:PiliPlus/plugin/pl_player/widgets/bottom_control.dart'; import 'package:PiliPlus/plugin/pl_player/widgets/bottom_control.dart';
@@ -1177,14 +1176,13 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
const SizedBox(width: 2), const SizedBox(width: 2),
Obx( Obx(
() { () {
final durationSeconds =
plPlayerController.durationSeconds.value;
return Text( return Text(
durationSeconds.inMinutes >= 60 DurationUtil.formatDuration(
? printDurationWithHours( plPlayerController
durationSeconds, .durationSeconds
) .value
: printDuration(durationSeconds), .inSeconds,
),
style: textStyle, style: textStyle,
); );
}, },

View File

@@ -65,7 +65,7 @@ class BottomControl extends StatelessWidget {
thumbRadius: 7, thumbRadius: 7,
onDragStart: (duration) { onDragStart: (duration) {
feedBack(); feedBack();
controller.onChangedSliderStart(); controller.onChangedSliderStart(duration.timeStamp);
}, },
onDragUpdate: (duration) { onDragUpdate: (duration) {
double newProgress = double newProgress =