diff --git a/lib/pages/video/controller.dart b/lib/pages/video/controller.dart index 7f7f81f10..a112b9622 100644 --- a/lib/pages/video/controller.dart +++ b/lib/pages/video/controller.dart @@ -105,6 +105,7 @@ class VideoDetailController extends GetxController // 是否开始自动播放 存在多p的情况下,第二p需要为true final RxBool autoPlay = true.obs; + final videoPlayerKey = GlobalKey(); final childKey = GlobalKey(); PlPlayerController plPlayerController = PlPlayerController.getInstance() @@ -1087,7 +1088,7 @@ class VideoDetailController extends GetxController if ((autoPlay.value || (plPlayerController.preInitPlayer && !plPlayerController.processing)) && - childKey.currentState?.mounted == true) { + videoPlayerKey.currentState?.mounted == true) { return playerInit(); } } diff --git a/lib/pages/video/view.dart b/lib/pages/video/view.dart index 8b4211dd5..c2a8077ba 100644 --- a/lib/pages/video/view.dart +++ b/lib/pages/video/view.dart @@ -114,7 +114,6 @@ class _VideoDetailPageVState extends State ((videoDetail.pages?.length ?? 0) > 1)); } - final videoPlayerKey = GlobalKey(); final videoReplyPanelKey = GlobalKey(); final videoRelatedKey = GlobalKey(); final videoIntroKey = GlobalKey(); @@ -1323,7 +1322,7 @@ class _VideoDetailPageVState extends State required double height, bool isPipMode = false, }) => Obx( - key: videoPlayerKey, + key: videoDetailController.videoPlayerKey, () => videoDetailController.videoState.value is! Success || !videoDetailController.autoPlay.value || diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 0e137a7dc..b2a47f802 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -267,6 +267,7 @@ class PlPlayerController { windowManager.setMinimumSize(const Size(400, 700)), windowManager.setBounds(_lastWindowBounds), windowManager.setAlwaysOnTop(false), + windowManager.setAspectRatio(0), setting.putAll({ SettingBoxKey.windowSize: [ _lastWindowBounds.width, @@ -302,7 +303,8 @@ class PlPlayerController { await windowManager.setMinimumSize(size); windowManager ..setSize(size) - ..setAlwaysOnTop(true); + ..setAlwaysOnTop(true) + ..setAspectRatio(width / height); } void toggleDesktopPip() {