diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 164b868e..9d6b4e71 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -753,13 +753,12 @@ class VideoDetailController extends GetxController skipType: skipType, ); - if (item['segment'][0] == 0 && - item['segment'][1] > 0 && - !isShowCover.value) { - if (plPlayerController.videoPlayerController != null && - plPlayerController - .videoPlayerController!.state.position.inSeconds < - item['segment'][1]) { + if (positionSubscription == null && + !isShowCover.value && + plPlayerController.videoPlayerController != null) { + final currPost = plPlayerController.position.value.inSeconds; + if (currPost > segmentModel.segment.first && + currPost < segmentModel.segment.second) { if (segmentModel.skipType == SkipType.alwaysSkip) { _lastPos = 0; plPlayerController.videoPlayerController!.stream.buffer.first @@ -793,7 +792,8 @@ class VideoDetailController extends GetxController return Segment(start, end, _getColor(item.segmentType)); }).toList()); - if (positionSubscription == null && autoPlay.value) { + if (positionSubscription == null && + (!isShowCover.value || preInitPlayer)) { initSkip(); plPlayerController.segmentList.value = segmentProgressList!; } diff --git a/lib/plugin/pl_player/widgets/bottom_control.dart b/lib/plugin/pl_player/widgets/bottom_control.dart index bd83b673..ab095e03 100644 --- a/lib/plugin/pl_player/widgets/bottom_control.dart +++ b/lib/plugin/pl_player/widgets/bottom_control.dart @@ -145,7 +145,8 @@ class BottomControl extends StatelessWidget implements PreferredSizeWidget { ), ), ), - if (controller.showSeekPreview) + if (controller.showSeekPreview && + controller.showControls.value) Positioned( left: 0, right: 0,