Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-30 17:32:18 +08:00
parent 1ac93d6269
commit f034c24d13
3 changed files with 6 additions and 4 deletions

View File

@@ -105,6 +105,7 @@ class VideoDetailController extends GetxController
// 是否开始自动播放 存在多p的情况下第二p需要为true // 是否开始自动播放 存在多p的情况下第二p需要为true
final RxBool autoPlay = true.obs; final RxBool autoPlay = true.obs;
final videoPlayerKey = GlobalKey();
final childKey = GlobalKey<ScaffoldState>(); final childKey = GlobalKey<ScaffoldState>();
PlPlayerController plPlayerController = PlPlayerController.getInstance() PlPlayerController plPlayerController = PlPlayerController.getInstance()
@@ -1087,7 +1088,7 @@ class VideoDetailController extends GetxController
if ((autoPlay.value || if ((autoPlay.value ||
(plPlayerController.preInitPlayer && (plPlayerController.preInitPlayer &&
!plPlayerController.processing)) && !plPlayerController.processing)) &&
childKey.currentState?.mounted == true) { videoPlayerKey.currentState?.mounted == true) {
return playerInit(); return playerInit();
} }
} }

View File

@@ -114,7 +114,6 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
((videoDetail.pages?.length ?? 0) > 1)); ((videoDetail.pages?.length ?? 0) > 1));
} }
final videoPlayerKey = GlobalKey();
final videoReplyPanelKey = GlobalKey(); final videoReplyPanelKey = GlobalKey();
final videoRelatedKey = GlobalKey(); final videoRelatedKey = GlobalKey();
final videoIntroKey = GlobalKey(); final videoIntroKey = GlobalKey();
@@ -1323,7 +1322,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
required double height, required double height,
bool isPipMode = false, bool isPipMode = false,
}) => Obx( }) => Obx(
key: videoPlayerKey, key: videoDetailController.videoPlayerKey,
() => () =>
videoDetailController.videoState.value is! Success || videoDetailController.videoState.value is! Success ||
!videoDetailController.autoPlay.value || !videoDetailController.autoPlay.value ||

View File

@@ -267,6 +267,7 @@ class PlPlayerController {
windowManager.setMinimumSize(const Size(400, 700)), windowManager.setMinimumSize(const Size(400, 700)),
windowManager.setBounds(_lastWindowBounds), windowManager.setBounds(_lastWindowBounds),
windowManager.setAlwaysOnTop(false), windowManager.setAlwaysOnTop(false),
windowManager.setAspectRatio(0),
setting.putAll({ setting.putAll({
SettingBoxKey.windowSize: [ SettingBoxKey.windowSize: [
_lastWindowBounds.width, _lastWindowBounds.width,
@@ -302,7 +303,8 @@ class PlPlayerController {
await windowManager.setMinimumSize(size); await windowManager.setMinimumSize(size);
windowManager windowManager
..setSize(size) ..setSize(size)
..setAlwaysOnTop(true); ..setAlwaysOnTop(true)
..setAspectRatio(width / height);
} }
void toggleDesktopPip() { void toggleDesktopPip() {