diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 805606cbe..cec77c88d 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -290,7 +290,9 @@ class _VideoDetailPageState extends State @override void dispose() { - ScreenBrightness().resetScreenBrightness(); + if (!Get.previousRoute.startsWith('/video')) { + ScreenBrightness().resetScreenBrightness(); + } appbarStream.close(); floating.dispose(); videoDetailController.floating?.dispose(); @@ -341,17 +343,26 @@ class _VideoDetailPageState extends State // 返回当前页面时 void didPopNext() async { isShowing = true; + if (mounted) { + if (videoDetailController.brightness != null) { + plPlayerController + ?.setCurrBrightness(videoDetailController.brightness!); + if (videoDetailController.brightness != -1.0) { + ScreenBrightness() + .setScreenBrightness(videoDetailController.brightness!); + } else { + ScreenBrightness().resetScreenBrightness(); + } + } else { + ScreenBrightness().resetScreenBrightness(); + } + } super.didPopNext(); videoDetailController.isFirstTime = false; final bool autoplay = autoPlayEnable; videoDetailController.autoPlay.value = !videoDetailController.isShowCover.value; await videoDetailController.playerInit(autoplay: autoplay); - if (mounted && - videoDetailController.brightness != null && - videoDetailController.brightness != -1.0) { - ScreenBrightness().setScreenBrightness(videoDetailController.brightness!); - } /// 未开启自动播放时,未播放跳转下一页返回/播放后跳转下一页返回 videoIntroController.isPaused = false; diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 3b02dd50a..48a280f08 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -1014,6 +1014,10 @@ class PlPlayerController { } } + void setCurrBrightness(double brightness) { + _currentBrightness.value = brightness; + } + Future setBrightness(double brightness) async { try { this.brightness.value = brightness;