diff --git a/ISCamRecorder/MainForm.cs b/ISCamRecorder/MainForm.cs index 5b60566..ed59347 100644 --- a/ISCamRecorder/MainForm.cs +++ b/ISCamRecorder/MainForm.cs @@ -14,6 +14,7 @@ using NAudio.MediaFoundation; using System.Windows.Forms.DataVisualization.Charting; using System.Media; +using System.Windows.Shapes; namespace ISCamRecorder { @@ -54,7 +55,7 @@ public STATE State { get; private set; } = STATE.Init; // ソフトウェアの状態 public DateTime RecodingTime { get; private set; } = DateTime.Now; // 録画開始時間 public string RecodingTimeStr { get { return RecodingTime.ToString("yyyyMMdd_HHmmss"); } } // 録画開始時間文字列 - public string OutputDir { get { return Path.Combine(Setting.SaveDir , $"rec{RecodingTimeStr}_{TxtSubjectName.Text}_{TxtCounter.Text}"); } } // データ保存フォルダ + public string OutputDir { get { return System.IO.Path.Combine(Setting.SaveDir , $"rec{RecodingTimeStr}_{TxtSubjectName.Text}_{TxtCounter.Text}"); } } // データ保存フォルダ public bool IsReverseBlood { get; private set; } = false; /// @@ -163,8 +164,12 @@ this.UpdateControlState(); } if (State == STATE.Recoding) { - var elapse = DateTime.Now - RecodingTime; - LblState.Text = $"録画中 {elapse.TotalSeconds:0}s"; + if (RecodingTime < DateTime.Now.AddHours(-1)) { + LblState.Text = $"録画待機"; + } else { + var elapse = DateTime.Now - RecodingTime; + LblState.Text = $"録画中 {elapse.TotalSeconds:0}s"; + } } }); } @@ -253,8 +258,7 @@ for (var i = 0; i < _Cameras.Count; i++) { if (Setting.RecCameras[i]) _Cameras[i].ChangeSink(true); } - RecodingTime = DateTime.Now; - Directory.CreateDirectory(OutputDir); + RecodingTime = DateTime.Now.AddHours(-24); // 録画開始時間が現在より1時間以上前の時は録画待機を意味する State = STATE.Recoding; this.UpdateControlState(); }); @@ -277,6 +281,8 @@ Common.DebugOut("全カメラ準備完了"); // 録画開始 + RecodingTime = DateTime.Now; + Directory.CreateDirectory(OutputDir); _Cameras.ForEach(c => c.StartRecoding()); _Sensor.StartRecoding(TxtSubjectName.Text); _Sounds[0].Play(); @@ -334,7 +340,7 @@ if (State != STATE.Idle) return; _Sounds[4].Play(); - var outDir = Path.Combine(Setting.SaveDir, "image"); + var outDir = System.IO.Path.Combine(Setting.SaveDir, "image"); Directory.CreateDirectory(outDir); this.Invoke((MethodInvoker)delegate { for (var i = 0; i < _Cameras.Count; i++) {