fix: 滑动快进过快

This commit is contained in:
guozhigq
2023-10-08 23:39:21 +08:00
parent 7576f39010
commit ec58d060bf

View File

@ -478,19 +478,20 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
return; return;
} }
final tapPosition = details.localPosition.dx; final tapPosition = details.localPosition.dx;
int curSliderPosition = _.sliderPosition.value.inSeconds; double scale = 60 / MediaQuery.of(context).size.width;
int curSliderPosition = _.sliderPosition.value.inMilliseconds;
late int result; late int result;
if (tapPosition - _initTapPositoin > 0) { if (tapPosition - _initTapPositoin > 0) {
// 快进 // 快进
/// TODO 优化屏幕越小效果越明显 /// TODO 优化屏幕越小效果越明显
result = (curSliderPosition + 1) result = (curSliderPosition + (500 * scale).toInt())
.clamp(0, _.duration.value.inSeconds); .clamp(0, _.duration.value.inMilliseconds);
} else { } else {
// 快退 // 快退
result = (curSliderPosition - 1) result = (curSliderPosition - (500 * scale).toInt())
.clamp(0, _.duration.value.inSeconds); .clamp(0, _.duration.value.inMilliseconds);
} }
_.onUodatedSliderProgress(Duration(seconds: result)); _.onUodatedSliderProgress(Duration(milliseconds: result));
_.onChangedSliderStart(); _.onChangedSliderStart();
_initTapPositoin = tapPosition; _initTapPositoin = tapPosition;
}, },