diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 70dac19a..7f3b65b6 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -96,6 +96,7 @@ class _VideoDetailPageState extends State appbarStreamListen(); lifecycleListener(); fullScreenStatusListener(); + autoScreen(); } // 获取视频资源,初始化播放器 @@ -188,10 +189,19 @@ class _VideoDetailPageState extends State plPlayerController?.isFullScreen.listen((bool isFullScreen) { if (isFullScreen) { videoDetailController.hiddenReplyReplyPanel(); + enterFullScreen(); } setState(() { this.isFullScreen.value = isFullScreen; }); + if (!isFullScreen) { + exitFullScreen(); + if (setting.get(SettingBoxKey.horizontalScreen, defaultValue: false)) { + autoScreen(); + } else { + verticalScreen(); + } + } }); } @@ -290,7 +300,6 @@ class _VideoDetailPageState extends State } } - @override Widget build(BuildContext context) { Widget childWhenDisabled = SafeArea( @@ -317,13 +326,6 @@ class _VideoDetailPageState extends State children: [ Obx( () { - if (MediaQuery.of(context).orientation == - Orientation.landscape || - isFullScreen.value == true) { - enterFullScreen(); - } else { - exitFullScreen(); - } final double videoheight = Get.width * 9 / 16; final double videowidth = Get.width; return SizedBox( @@ -547,7 +549,7 @@ class _VideoDetailPageState extends State }, ), Obx( - () => VideoReplyPanel( + () => VideoReplyPanel( bvid: videoDetailController.bvid, oid: videoDetailController.oid.value, ), @@ -826,34 +828,39 @@ class _VideoDetailPageState extends State } }, ); - if (!horizontalScreen) { - if (Platform.isAndroid) { - return PiPSwitcher( - childWhenEnabled: childWhenEnabled, - childWhenDisabled: childWhenDisabled, - floating: floating,); - } - return childWhenDisabled; - } + // if (!horizontalScreen) { + // if (Platform.isAndroid) { + // return PiPSwitcher( + // childWhenEnabled: childWhenEnabled, + // childWhenDisabled: childWhenDisabled, + // floating: floating,); + // } + // return childWhenDisabled; + // } return OrientationBuilder( builder: (BuildContext context, Orientation orientation) { + print("orientation $orientation"); if (orientation == Orientation.landscape) { enterFullScreen(); + if (!horizontalScreen) { + videoDetailController.hiddenReplyReplyPanel(); + } } else if (!isFullScreen.value) { StatusBarControl.setHidden(false, animation: StatusBarAnimation.FADE); } if (Platform.isAndroid) { return PiPSwitcher( - childWhenDisabled: orientation == Orientation.portrait - ? childWhenDisabled - : childWhenDisabledLandscape, + childWhenDisabled: + !horizontalScreen || orientation == Orientation.portrait + ? childWhenDisabled + : childWhenDisabledLandscape, childWhenEnabled: childWhenEnabled, floating: floating, ); } - return orientation == Orientation.portrait - ? childWhenDisabled - : childWhenDisabledLandscape; + return !horizontalScreen || orientation == Orientation.portrait + ? childWhenDisabled + : childWhenDisabledLandscape; }); } } diff --git a/lib/plugin/pl_player/utils/fullscreen.dart b/lib/plugin/pl_player/utils/fullscreen.dart index e2f8c810..cafda327 100644 --- a/lib/plugin/pl_player/utils/fullscreen.dart +++ b/lib/plugin/pl_player/utils/fullscreen.dart @@ -75,11 +75,6 @@ Future exitFullScreen() async { mode, overlays: SystemUiOverlay.values, ); - if (setting.get(SettingBoxKey.horizontalScreen, defaultValue: false)) { - autoScreen(); - } else { - verticalScreen(); - } } else if (Platform.isMacOS || Platform.isWindows || Platform.isLinux) { await const MethodChannel('com.alexmercerind/media_kit_video') .invokeMethod(