mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
fix: 将自动全屏逻辑调整到播放页,避免未开自动播放时无效果
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:PiliPalaX/utils/storage.dart';
|
||||||
import 'package:floating/floating.dart';
|
import 'package:floating/floating.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@@ -34,8 +35,17 @@ class _LiveRoomPageState extends State<LiveRoomPage> {
|
|||||||
}
|
}
|
||||||
videoSourceInit();
|
videoSourceInit();
|
||||||
_futureBuilderFuture = _liveRoomController.queryLiveInfo();
|
_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<void> videoSourceInit() async {
|
Future<void> videoSourceInit() async {
|
||||||
_futureBuilder = _liveRoomController.queryLiveInfoH5();
|
_futureBuilder = _liveRoomController.queryLiveInfoH5();
|
||||||
plPlayerController = _liveRoomController.plPlayerController;
|
plPlayerController = _liveRoomController.plPlayerController;
|
||||||
|
|||||||
@@ -239,7 +239,6 @@ class VideoDetailController extends GetxController
|
|||||||
bvid: bvid,
|
bvid: bvid,
|
||||||
cid: cid.value,
|
cid: cid.value,
|
||||||
enableHeart: enableHeart,
|
enableHeart: enableHeart,
|
||||||
isFirstTime: isFirstTime,
|
|
||||||
autoplay: autoplay,
|
autoplay: autoplay,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -102,6 +102,16 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
plPlayerController = videoDetailController.plPlayerController;
|
plPlayerController = videoDetailController.plPlayerController;
|
||||||
plPlayerController!.addStatusLister(playerListener);
|
plPlayerController!.addStatusLister(playerListener);
|
||||||
listenFullScreenStatus();
|
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<VideoDetailPage>
|
|||||||
plPlayerController = videoDetailController.plPlayerController;
|
plPlayerController = videoDetailController.plPlayerController;
|
||||||
plPlayerController!.addStatusLister(playerListener);
|
plPlayerController!.addStatusLister(playerListener);
|
||||||
listenFullScreenStatus();
|
listenFullScreenStatus();
|
||||||
|
autoEnterFullscreen();
|
||||||
videoDetailController.autoPlay.value = true;
|
videoDetailController.autoPlay.value = true;
|
||||||
videoDetailController.isShowCover.value = false;
|
videoDetailController.isShowCover.value = false;
|
||||||
}
|
}
|
||||||
@@ -195,7 +206,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
});
|
});
|
||||||
if (!status) {
|
if (!status) {
|
||||||
showStatusBar();
|
showStatusBar();
|
||||||
if (setting.get(SettingBoxKey.horizontalScreen, defaultValue: false)) {
|
if (horizontalScreen) {
|
||||||
autoScreen();
|
autoScreen();
|
||||||
} else {
|
} else {
|
||||||
verticalScreen();
|
verticalScreen();
|
||||||
|
|||||||
@@ -97,7 +97,6 @@ class PlPlayerController {
|
|||||||
int _cid = 0;
|
int _cid = 0;
|
||||||
int _heartDuration = 0;
|
int _heartDuration = 0;
|
||||||
bool _enableHeart = true;
|
bool _enableHeart = true;
|
||||||
bool _isFirstTime = true;
|
|
||||||
final RxList<Map<String, String>> _vttSubtitles = <Map<String, String>>[].obs;
|
final RxList<Map<String, String>> _vttSubtitles = <Map<String, String>>[].obs;
|
||||||
final RxInt _vttSubtitlesIndex = 0.obs;
|
final RxInt _vttSubtitlesIndex = 0.obs;
|
||||||
|
|
||||||
@@ -350,8 +349,6 @@ class PlPlayerController {
|
|||||||
int cid = 0,
|
int cid = 0,
|
||||||
// 历史记录开关
|
// 历史记录开关
|
||||||
bool enableHeart = true,
|
bool enableHeart = true,
|
||||||
// 是否首次加载
|
|
||||||
bool isFirstTime = true,
|
|
||||||
}) async {
|
}) async {
|
||||||
try {
|
try {
|
||||||
_autoPlay = autoplay;
|
_autoPlay = autoplay;
|
||||||
@@ -365,7 +362,6 @@ class PlPlayerController {
|
|||||||
_bvid = bvid;
|
_bvid = bvid;
|
||||||
_cid = cid;
|
_cid = cid;
|
||||||
_enableHeart = enableHeart;
|
_enableHeart = enableHeart;
|
||||||
_isFirstTime = isFirstTime;
|
|
||||||
|
|
||||||
if (_videoPlayerController != null &&
|
if (_videoPlayerController != null &&
|
||||||
_videoPlayerController!.state.playing) {
|
_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) {
|
} catch (err) {
|
||||||
dataStatus.status.value = DataStatus.error;
|
dataStatus.status.value = DataStatus.error;
|
||||||
print('plPlayer err: $err');
|
print('plPlayer err: $err');
|
||||||
|
|||||||
Reference in New Issue
Block a user