diff --git a/lib/pages/live_room/view.dart b/lib/pages/live_room/view.dart index 269a4868..192ed486 100644 --- a/lib/pages/live_room/view.dart +++ b/lib/pages/live_room/view.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:PiliPalaX/utils/storage.dart'; import 'package:floating/floating.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -34,8 +35,17 @@ class _LiveRoomPageState extends State { } videoSourceInit(); _futureBuilderFuture = _liveRoomController.queryLiveInfo(); + autoEnterFullscreen(); } + void autoEnterFullscreen() async { + bool autoEnterFullscreen = + GStrorage.setting.get(SettingBoxKey.enableAutoEnter, defaultValue: false); + if (autoEnterFullscreen) { + await Future.delayed(const Duration(milliseconds: 100)); + plPlayerController!.triggerFullScreen(status: true); + } + } Future videoSourceInit() async { _futureBuilder = _liveRoomController.queryLiveInfoH5(); plPlayerController = _liveRoomController.plPlayerController; diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 6dbc0ff3..a171da6e 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -239,7 +239,6 @@ class VideoDetailController extends GetxController bvid: bvid, cid: cid.value, enableHeart: enableHeart, - isFirstTime: isFirstTime, autoplay: autoplay, ); diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index a409aa32..c5ce9668 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -102,6 +102,16 @@ class _VideoDetailPageState extends State plPlayerController = videoDetailController.plPlayerController; plPlayerController!.addStatusLister(playerListener); listenFullScreenStatus(); + autoEnterFullscreen(); + } + } + + void autoEnterFullscreen() async { + bool autoEnterFullscreen = + setting.get(SettingBoxKey.enableAutoEnter, defaultValue: false); + if (autoEnterFullscreen && videoDetailController.isFirstTime) { + await Future.delayed(const Duration(milliseconds: 100)); + plPlayerController!.triggerFullScreen(status: true); } } @@ -158,6 +168,7 @@ class _VideoDetailPageState extends State plPlayerController = videoDetailController.plPlayerController; plPlayerController!.addStatusLister(playerListener); listenFullScreenStatus(); + autoEnterFullscreen(); videoDetailController.autoPlay.value = true; videoDetailController.isShowCover.value = false; } @@ -195,7 +206,7 @@ class _VideoDetailPageState extends State }); if (!status) { showStatusBar(); - if (setting.get(SettingBoxKey.horizontalScreen, defaultValue: false)) { + if (horizontalScreen) { autoScreen(); } else { verticalScreen(); diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index fa806749..39a8225c 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -97,7 +97,6 @@ class PlPlayerController { int _cid = 0; int _heartDuration = 0; bool _enableHeart = true; - bool _isFirstTime = true; final RxList> _vttSubtitles = >[].obs; final RxInt _vttSubtitlesIndex = 0.obs; @@ -350,8 +349,6 @@ class PlPlayerController { int cid = 0, // 历史记录开关 bool enableHeart = true, - // 是否首次加载 - bool isFirstTime = true, }) async { try { _autoPlay = autoplay; @@ -365,7 +362,6 @@ class PlPlayerController { _bvid = bvid; _cid = cid; _enableHeart = enableHeart; - _isFirstTime = isFirstTime; if (_videoPlayerController != null && _videoPlayerController!.state.playing) { @@ -408,12 +404,6 @@ class PlPlayerController { } }); } - bool autoEnterFullcreen = - setting.get(SettingBoxKey.enableAutoEnter, defaultValue: false); - if (autoEnterFullcreen && _isFirstTime) { - await Future.delayed(const Duration(milliseconds: 100)); - triggerFullScreen(status: true); - } } catch (err) { dataStatus.status.value = DataStatus.error; print('plPlayer err: $err');