feat: 播放器亮度记忆

This commit is contained in:
guozhigq
2023-08-25 23:51:40 +08:00
parent 6083578f93
commit 8bc6a32b06
6 changed files with 39 additions and 18 deletions

View File

@ -72,6 +72,12 @@ class _PlaySettingState extends State<PlaySetting> {
setKey: SettingBoxKey.enableOnlineTotal,
defaultVal: false,
),
const SetSwitchItem(
title: '亮度记忆',
subTitle: '返回时自动调整视频亮度',
setKey: SettingBoxKey.enableAutoBrightness,
defaultVal: false,
),
ListTile(
dense: false,
title: Text('默认画质', style: titleStyle),

View File

@ -14,6 +14,7 @@ import 'package:pilipala/pages/video/detail/replyReply/index.dart';
import 'package:pilipala/plugin/pl_player/index.dart';
import 'package:pilipala/utils/storage.dart';
import 'package:pilipala/utils/utils.dart';
import 'package:screen_brightness/screen_brightness.dart';
class VideoDetailController extends GetxController
with GetSingleTickerProviderStateMixin {
@ -68,6 +69,8 @@ class VideoDetailController extends GetxController
late String videoUrl;
late String audioUrl;
late Duration defaultST;
// 亮度
double? brightness;
// 默认记录历史记录
bool enableHeart = true;
var userInfo;
@ -152,6 +155,12 @@ class VideoDetailController extends GetxController
}
Future playerInit({video, audio, seekToTime, duration}) async {
/// 设置/恢复 屏幕亮度
if (brightness != null) {
ScreenBrightness().setScreenBrightness(brightness!);
} else {
ScreenBrightness().resetScreenBrightness();
}
await plPlayerController.setDataSource(
DataSource(
videoSource: video ?? videoUrl,

View File

@ -45,6 +45,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
double doubleOffset = 0;
Box localCache = GStrorage.localCache;
Box setting = GStrorage.setting;
late double statusBarHeight;
final videoHeight = Get.size.width * 9 / 16;
late Future _futureBuilderFuture;
@ -104,6 +105,10 @@ class _VideoDetailPageState extends State<VideoDetailPage>
@override
// 离开当前页面时
void didPushNext() async {
/// 开启
if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: false)) {
videoDetailController.brightness = plPlayerController!.brightness.value;
}
videoDetailController.defaultST = plPlayerController!.position.value;
videoIntroController.isPaused = true;
plPlayerController!.pause();