From b6e9bc45c6ee09113b04ffc204e9b011fc56f2db Mon Sep 17 00:00:00 2001 From: jasonchenwork Date: Fri, 8 Aug 2025 11:00:20 +0800 Subject: [PATCH] =?UTF-8?q?202508081053=20=E4=BF=AE=E6=AD=A3Room=20State?= =?UTF-8?q?=20=E7=9B=B8=E5=90=8C=E4=B8=8D=E5=81=9A=E5=8B=95=E4=BD=9C=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8C=85=E5=BB=82=E7=B5=90=E6=9D=9F=20?= =?UTF-8?q?=E4=B8=8D=E5=81=9A=20add=20close=20=E6=AD=8C=E6=9B=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DBObj/SongData.cs | 7 ------- DBObj/SongList.cs | 2 -- Program.cs | 2 +- Room.cs | 35 ++++++++++++++++++++--------------- VideoPlayerForm.cs | 12 +++--------- 5 files changed, 24 insertions(+), 34 deletions(-) diff --git a/DBObj/SongData.cs b/DBObj/SongData.cs index a04b424..0ffadde 100644 --- a/DBObj/SongData.cs +++ b/DBObj/SongData.cs @@ -71,18 +71,12 @@ namespace DBObj { try { - Console.WriteLine($"伺服器路徑: '{server}'"); string fullPath = Path.Combine(server, basic.getFileName()); - if (File.Exists(fullPath)) { Console.WriteLine($"找到檔案: {fullPath}"); return true; } - else - { - Console.WriteLine($"找不到檔案: {fullPath}"); - } } catch (Exception ex) { @@ -102,7 +96,6 @@ namespace DBObj { foreach (var server in Utils.Env.GetSongServers()) { - Console.WriteLine($"伺服器路徑: '{server}'"); string fullPath = Path.Combine(server, filename); if (File.Exists(fullPath)) return fullPath; } diff --git a/DBObj/SongList.cs b/DBObj/SongList.cs index 547480b..9e248e2 100644 --- a/DBObj/SongList.cs +++ b/DBObj/SongList.cs @@ -139,8 +139,6 @@ namespace DBObj song.SetState(PlayState.Skipped); played.Add(song); } - - Add(close); } public static void clearSong() { diff --git a/Program.cs b/Program.cs index 6af3512..f3a19ff 100644 --- a/Program.cs +++ b/Program.cs @@ -13,7 +13,7 @@ namespace DualScreenDemo private static PrimaryForm primaryForm; // 儲存實例的參考 public static Room room = new Room(); - public static string verSion = "Server V2.8 202508071811"; + public static string verSion = "Server V2.8 202508081053"; [STAThread] static void Main() diff --git a/Room.cs b/Room.cs index 92591d5..05c1d75 100644 --- a/Room.cs +++ b/Room.cs @@ -32,6 +32,7 @@ namespace DualScreenDemo private string getDB() { + using (var db = new MyDB()) { string query = @"SELECT * FROM rooms WHERE branch_id = @branch_id AND CONCAT(type, name) = @hostName"; @@ -41,11 +42,11 @@ namespace DualScreenDemo }; if (db.open(query, parameters) && db.found()) { - State = db.Field("status"); - startedAt=ParseTime(db.Field("started_at")); - endedAt=ParseTime(db.Field("ended_at")); - if (State.Equals("maintain")) { State = "active"; } - return State; + var Statedb = db.Field("status"); + startedAt = ParseTime(db.Field("started_at")); + endedAt = ParseTime(db.Field("ended_at")); + if (Statedb.Equals("maintain")) { Statedb = "active"; } + return Statedb; } } return "error"; @@ -66,25 +67,29 @@ namespace DualScreenDemo public void set(string value) { string StateDB=getDB(); - - Console.WriteLine($"hostname status: {hostName},{StateDB},{startedAt},{endedAt} ,{State}"); + if (!StateDB.Equals(State)) + { + State = StateDB; + } + else + { + return; + } + string marqueeMessage = "歡迎使用超級巨星歡唱,與你共度美好時光。"; Color c = Color.White; - if (StateDB.Equals("fire")) + if (State.Equals("fire")) { PrimaryForm.Instance.ShowSendOffScreen(); VideoPlayerForm.Instance.Pause(); marqueeMessage = "發生火災,請跟隨引導至逃生出口!!!"; c = Color.Red; } - else if (StateDB.Equals("active")) + else if (State.Equals("active")) { - if (!State.Equals(StateDB)) - { - DBObj.SongList.clearSong(); - PrimaryForm.Instance.HotPlayButton_Click(null, EventArgs.Empty); - PrimaryForm.Instance.HideSendOffScreen(); - } + DBObj.SongList.clearSong(); + PrimaryForm.Instance.HotPlayButton_Click(null, EventArgs.Empty); + PrimaryForm.Instance.HideSendOffScreen(); } else { diff --git a/VideoPlayerForm.cs b/VideoPlayerForm.cs index e19d116..d6d4f40 100644 --- a/VideoPlayerForm.cs +++ b/VideoPlayerForm.cs @@ -74,7 +74,7 @@ namespace DualScreenDemo public static OverlayForm overlayForm; public bool isMuted = false; - public int previousVolume = -1000; + public int previousVolume = 0; public bool isPaused = false; private bool isSyncToPrimaryMonitor = false; @@ -363,14 +363,8 @@ namespace DualScreenDemo secondary.RenderMediaFile(pathToPlay,this.Handle,secondMonitor.Bounds.Width,secondMonitor.Bounds.Height); // 音量處理 - if (isMuted) - { - SetVolume(-10000); - } - else - { - SetVolume(previousVolume); - } + SetVolume(isMuted ? -10000 : previousVolume); + // 開始播放 primary.Run(); secondary.Run();