diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 39a8225c..7f868825 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 de5503bb..46ded4ff 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) {