From 75f1257d07a4545bd2b422334e55ba114400900d Mon Sep 17 00:00:00 2001 From: Richasy Date: Sun, 13 Oct 2024 18:15:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=9B=B4=E6=92=AD=E6=97=B6?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=BD=91=E9=A1=B5=E6=92=AD=E6=94=BE=E5=99=A8?= =?UTF-8?q?=E7=9A=84=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Desktop/BiliCopilot.UI.Models/Constants/SettingNames.cs | 1 + .../Controls/Settings/PlayerBehaviorSettingControl.xaml | 3 +++ src/Desktop/BiliCopilot.UI/Forms/PlayerWindow.xaml.cs | 3 ++- .../BiliCopilot.UI/Resources/zh-Hans-CN/Resources.resw | 6 ++++++ .../ViewModels/Items/LiveItemViewModel/LiveItemViewModel.cs | 3 ++- .../SettingsPageViewModel.Properties.cs | 3 +++ .../View/SettingsPageViewModel/SettingsPageViewModel.cs | 4 ++++ 7 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/Desktop/BiliCopilot.UI.Models/Constants/SettingNames.cs b/src/Desktop/BiliCopilot.UI.Models/Constants/SettingNames.cs index 72059c85..2c298f8d 100644 --- a/src/Desktop/BiliCopilot.UI.Models/Constants/SettingNames.cs +++ b/src/Desktop/BiliCopilot.UI.Models/Constants/SettingNames.cs @@ -102,4 +102,5 @@ public enum SettingNames IsTopNavBarShown, MTCBehavior, IsAIStreamingResponse, + UseWebPlayerWhenLive, } diff --git a/src/Desktop/BiliCopilot.UI/Controls/Settings/PlayerBehaviorSettingControl.xaml b/src/Desktop/BiliCopilot.UI/Controls/Settings/PlayerBehaviorSettingControl.xaml index dd98894c..4585ca6e 100644 --- a/src/Desktop/BiliCopilot.UI/Controls/Settings/PlayerBehaviorSettingControl.xaml +++ b/src/Desktop/BiliCopilot.UI/Controls/Settings/PlayerBehaviorSettingControl.xaml @@ -100,6 +100,9 @@ + + + diff --git a/src/Desktop/BiliCopilot.UI/Forms/PlayerWindow.xaml.cs b/src/Desktop/BiliCopilot.UI/Forms/PlayerWindow.xaml.cs index 11f690fd..8bb5e6e5 100644 --- a/src/Desktop/BiliCopilot.UI/Forms/PlayerWindow.xaml.cs +++ b/src/Desktop/BiliCopilot.UI/Forms/PlayerWindow.xaml.cs @@ -102,7 +102,8 @@ public void OpenLive(MediaIdentifier room) { Activate(); var preferPlayer = SettingsToolkit.ReadLocalSetting(SettingNames.PlayerType, PlayerType.Island); - if (preferPlayer == PlayerType.Web) + var useWebPlayer = SettingsToolkit.ReadLocalSetting(SettingNames.UseWebPlayerWhenLive, false); + if (preferPlayer == PlayerType.Web || useWebPlayer) { MainFrame.Navigate(typeof(WebPlayerPage), $"https://live.bilibili.com/{room.Id}"); return; diff --git a/src/Desktop/BiliCopilot.UI/Resources/zh-Hans-CN/Resources.resw b/src/Desktop/BiliCopilot.UI/Resources/zh-Hans-CN/Resources.resw index 913ae0ea..834b1edf 100644 --- a/src/Desktop/BiliCopilot.UI/Resources/zh-Hans-CN/Resources.resw +++ b/src/Desktop/BiliCopilot.UI/Resources/zh-Hans-CN/Resources.resw @@ -2738,4 +2738,10 @@ MPV 用户请参考 mpv.io 的说明进行自定义配置 + + 使用网页播放器观看直播 + + + 如果本机观看直播体验不佳,请打开此选项在网页中观看 + \ No newline at end of file diff --git a/src/Desktop/BiliCopilot.UI/ViewModels/Items/LiveItemViewModel/LiveItemViewModel.cs b/src/Desktop/BiliCopilot.UI/ViewModels/Items/LiveItemViewModel/LiveItemViewModel.cs index fe024194..f652169f 100644 --- a/src/Desktop/BiliCopilot.UI/ViewModels/Items/LiveItemViewModel/LiveItemViewModel.cs +++ b/src/Desktop/BiliCopilot.UI/ViewModels/Items/LiveItemViewModel/LiveItemViewModel.cs @@ -61,7 +61,8 @@ private void Play() } var preferPlayer = SettingsToolkit.ReadLocalSetting(SettingNames.PlayerType, PlayerType.Island); - if (preferPlayer == PlayerType.Web) + var useWebPlayer = SettingsToolkit.ReadLocalSetting(SettingNames.UseWebPlayerWhenLive, false); + if (preferPlayer == PlayerType.Web || useWebPlayer) { this.Get().NavigateToOver(typeof(WebPlayerPage), GetWebUrl()); return; diff --git a/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.Properties.cs b/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.Properties.cs index 196fee3b..8f582532 100644 --- a/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.Properties.cs +++ b/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.Properties.cs @@ -163,6 +163,9 @@ public sealed partial class SettingsPageViewModel [ObservableProperty] private List _mTCBehaviorCollection; + [ObservableProperty] + private bool _useWebPlayerWhenLive; + /// /// WebDav 配置. /// diff --git a/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.cs b/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.cs index fd91ea52..d9cfb793 100644 --- a/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.cs +++ b/src/Desktop/BiliCopilot.UI/ViewModels/View/SettingsPageViewModel/SettingsPageViewModel.cs @@ -95,6 +95,7 @@ private void Initialize() OpenFolderAfterDownload = SettingsToolkit.ReadLocalSetting(SettingNames.OpenFolderAfterDownload, true); DownloadWithDanmaku = SettingsToolkit.ReadLocalSetting(SettingNames.DownloadWithDanmaku, false); + UseWebPlayerWhenLive = SettingsToolkit.ReadLocalSetting(SettingNames.UseWebPlayerWhenLive, false); var copyrightTemplate = ResourceToolkit.GetLocalizedString(StringNames.Copyright); Copyright = string.Format(copyrightTemplate, 2024); @@ -289,4 +290,7 @@ partial void OnMTCBehaviorChanged(MTCBehavior value) partial void OnIsAIStreamingResponseChanged(bool value) => SettingsToolkit.WriteLocalSetting(SettingNames.IsAIStreamingResponse, value); + + partial void OnUseWebPlayerWhenLiveChanged(bool value) + => SettingsToolkit.WriteLocalSetting(SettingNames.UseWebPlayerWhenLive, value); }