From e3fcecfa1da5ce68c575ea92fb097769d2813388 Mon Sep 17 00:00:00 2001 From: orz12 Date: Sun, 3 Mar 2024 23:15:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=BB=98=E8=AE=A4=E5=AD=97=E5=B9=95?= =?UTF-8?q?=E5=81=8F=E5=A5=BD=E9=94=99=E8=AF=AF=E3=80=81=E5=85=A8=E5=B1=8F?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E7=8B=AC=E7=AB=8B=E3=80=81=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=85=A8=E5=B1=8F=E4=B8=8D=E8=BD=AC=E6=96=B9=E5=90=91=E3=80=81?= =?UTF-8?q?=E5=AD=97=E5=B9=95=E6=97=A0=E6=B3=95=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugin/pl_player/controller.dart | 16 ++++++++++++++-- lib/plugin/pl_player/models/fullscreen_mode.dart | 6 ++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 39a8225c5..7f8688258 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -389,7 +389,7 @@ class PlPlayerController { refreshSubtitles().then((value) { if (_vttSubtitles.isNotEmpty){ String preference = setting.get(SettingBoxKey.subtitlePreference, - defaultValue: SubtitlePreference.values.first.index); + defaultValue: SubtitlePreference.values.first.code); if (preference == 'on') { setSubtitle(vttSubtitles[1]); } else if (preference == 'withoutAi') { @@ -545,6 +545,15 @@ class PlPlayerController { } } + Future autoEnterFullscreen() async { + bool autoEnterFullscreen = + GStrorage.setting.get(SettingBoxKey.enableAutoEnter, defaultValue: false); + if (autoEnterFullscreen) { + await Future.delayed(const Duration(milliseconds: 300)); + triggerFullScreen(status: true); + } + } + List subscriptions = []; final List _positionListeners = []; final List _statusListeners = []; @@ -975,6 +984,9 @@ class PlPlayerController { /// 进入全屏 FullScreenMode mode = FullScreenModeCode.fromCode( setting.get(SettingBoxKey.fullScreenMode, defaultValue: 0))!; + if (mode == FullScreenMode.none) { + return; + } if (mode == FullScreenMode.vertical || (mode == FullScreenMode.auto && direction.value == 'vertical') || (mode == FullScreenMode.ratio && @@ -1122,7 +1134,7 @@ class PlPlayerController { // 设定字幕轨道 setSubtitle(Map s) { - if (s['text'] == null) { + if (s['text'] == '') { _videoPlayerController?.setSubtitleTrack(SubtitleTrack.no()); _vttSubtitlesIndex.value = 0; return; diff --git a/lib/plugin/pl_player/models/fullscreen_mode.dart b/lib/plugin/pl_player/models/fullscreen_mode.dart index de5503bbe..46ded4ff7 100644 --- a/lib/plugin/pl_player/models/fullscreen_mode.dart +++ b/lib/plugin/pl_player/models/fullscreen_mode.dart @@ -2,6 +2,8 @@ enum FullScreenMode { // 根据内容自适应 auto, + // 不改变当前方向 + none, // 始终竖屏 vertical, // 始终横屏 @@ -11,11 +13,11 @@ enum FullScreenMode { } extension FullScreenModeDesc on FullScreenMode { - String get description => ['按视频方向(默认)', '强制竖屏', '强制横屏', '屏幕长宽比<1.25或为竖屏视频时竖屏,否则横屏'][index]; + String get description => ['按视频方向(默认)', '不改变当前方向','强制竖屏', '强制横屏', '屏幕长宽比<1.25或为竖屏视频时竖屏,否则横屏'][index]; } extension FullScreenModeCode on FullScreenMode { - static final List _codeList = [0, 1, 2, 3]; + static final List _codeList = [0, 1, 2, 3, 4]; int get code => _codeList[index]; static FullScreenMode? fromCode(int code) {