Esempio n. 1
0
 public bool TransactAlarm()
 {
     if (mCurIndex >= 0 && mCurIndex < Count)
     {
         IMonitorAlarm visionAlarm = Goto(mCurIndex);
         if (visionAlarm != null)
         {
             IVisionMonitorAlarm vmAlarm = visionAlarm as IVisionMonitorAlarm;
             if (vmAlarm != null && !vmAlarm.IsPlay && !vmAlarm.IsRecord)
             {
                 SetPreviewImage(null);
                 if (AlarmManager != null)
                 {
                     AlarmManager.TransactAlarm(mCurIndex, "已处理");
                 }
                 if (Count > 0)
                 {
                     if (mCurIndex < Count)
                     {
                         Goto(mCurIndex);
                     }
                     else
                     {
                         Last();
                     }
                 }
             }
             else
             {
                 SetPreviewImage(null);
                 if (AlarmManager != null)
                 {
                     AlarmManager.TransactAlarm(mCurIndex, "已处理");
                 }
                 if (Count > 0)
                 {
                     if (mCurIndex < Count)
                     {
                         Goto(mCurIndex);
                     }
                     else
                     {
                         Last();
                     }
                 }
             }
         }
     }
     return(true);
 }
Esempio n. 2
0
 public bool ResumePlayback()
 {
     if (mCurIndex >= 0 && mCurIndex < Count)
     {
         IVisionMonitorAlarm visionAlarm = Goto(mCurIndex) as IVisionMonitorAlarm;
         if (visionAlarm != null)
         {
             if (visionAlarm.IsPlay)
             {
                 return(visionAlarm.ResumePlayAlarmRecord());
             }
         }
     }
     return(false);
 }
Esempio n. 3
0
 public bool StopPlayback()
 {
     if (mBackPlayVS != null)
     {
         mBackPlayVS.SystemContext.VideoSourceManager.Close(mBackPlayVS.Name);
         mBackPlayVS = null;
         return(true);
     }
     else if (mCurIndex >= 0 && mCurIndex < Count)
     {
         IVisionMonitorAlarm visionAlarm = Goto(mCurIndex) as IVisionMonitorAlarm;
         if (visionAlarm != null)
         {
             if (visionAlarm.IsPlay)
             {
                 return(visionAlarm.StopPlayAlarmRecord());
             }
         }
     }
     return(false);
 }
Esempio n. 4
0
        public bool Playback()
        {
            if (mBackPlayVS != null && mBackPlayVS.IsOpen)
            {
                mBackPlayVS.SystemContext.VideoSourceManager.Close(mBackPlayVS.Name);
            }
            else if (mCurIndex >= 0 && mCurIndex < Count)
            {
                IVisionMonitorAlarm visionAlarm = Goto(mCurIndex) as IVisionMonitorAlarm;
                if (visionAlarm != null)
                {
                    IVisionMonitor monitor = visionAlarm.Monitor as IVisionMonitor;
                    if (monitor != null)
                    {
                        IVisionMonitorConfig config = monitor.Config as IVisionMonitorConfig;
                        if (config != null)
                        {
                            IVideoSourceConfig vsConfig = monitor.SystemContext.VideoSourceConfigManager.GetConfig(config.VisionParamConfig.VSName);
                            if (vsConfig != null)
                            {
                                if (!vsConfig.IsRecord)
                                {
                                    IVideoSourceType vsType = vsConfig.SystemContext.VideoSourceTypeManager.GetConfig(vsConfig.Type);
                                    if (vsType != null)
                                    {
                                        string backPlayType = vsType.BackPlayType;

                                        if (backPlayType.Equals(""))
                                        {
                                            backPlayType = vsConfig.Type;
                                        }

                                        if (!backPlayType.Equals(""))
                                        {
                                            CVideoSourceConfig newVSConfig = vsConfig.Clone() as CVideoSourceConfig;
                                            if (newVSConfig != null)
                                            {
                                                newVSConfig.Name      = vsConfig.Name + "_BackPlay_" + newVSConfig.Handle;
                                                newVSConfig.Type      = backPlayType;
                                                newVSConfig.StartTime = visionAlarm.AlarmTime.AddSeconds(-10);
                                                newVSConfig.StopTime  = visionAlarm.AlarmTime;

                                                if (!backPlayType.Equals("FileVideoSource"))
                                                {
                                                    newVSConfig.FileName = "";
                                                }

                                                newVSConfig.IsRecord = false;
                                                newVSConfig.IsCycle  = false;
                                                newVSConfig.Enabled  = true;

                                                if (mBackPlayVS != null)
                                                {
                                                    mBackPlayVS.SystemContext.VideoSourceManager.Close(mBackPlayVS.Name);
                                                    mBackPlayVS = null;
                                                }

                                                mBackPlayVS = vsType.SystemContext.VideoSourceManager.Open(newVSConfig, HWnd);
                                                if (mBackPlayVS != null)
                                                {
                                                    mBackPlayVS.OnPlayStatusChanged += new PLAYSTATUS_CHANGED(DoPlayStausChanged);
                                                    if (!mBackPlayVS.Play())
                                                    {
                                                        MessageBox.Show("回放失败,可能是回放录像还未生成,请稍后再试!", "回放错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                                    }
                                                }
                                                else
                                                {
                                                    MessageBox.Show("打开录像失败,可能是回放录像还未生成,请稍后再试!", "回放错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                                }
                                            }
                                        }
                                    }
                                    return(true);
                                }
                            }
                        }
                    }

                    if (!visionAlarm.IsRecord && !visionAlarm.IsPlay)
                    {
                        return(visionAlarm.PlayAlarmRecord(HWnd));
                    }
                }
            }
            return(false);
        }
Esempio n. 5
0
        private void UpdateFormState()
        {
            if (Count > 0)
            {
                bool isRecord = false;
                bool isPlay   = false;

                IVisionMonitorAlarm vmAlarm = mVisionAlarm as IVisionMonitorAlarm;
                if (vmAlarm != null)
                {
                    isRecord = vmAlarm.IsRecord;
                    isPlay   = vmAlarm.IsPlay;
                }

                if (mCurIndex <= 0)
                {
                    button_first.Enabled = false;
                    button_prior.Enabled = false;
                }
                else
                {
                    button_first.Enabled = !isPlay;
                    button_prior.Enabled = !isPlay;
                }

                if (mCurIndex == Count - 1)
                {
                    button_next.Enabled = false;
                    button_last.Enabled = false;
                }
                else
                {
                    button_next.Enabled = !isPlay;
                    button_last.Enabled = !isPlay;
                }

                button_play.Enabled     = !isPlay && !isRecord;
                button_transact.Enabled = !isPlay && !isRecord;
                button_clear.Enabled    = true;
                label_count.Text        = (mCurIndex + 1) + "/" + Count;

                DoAlarmPlaybackStateChanged(mCurIndex + 1, Count);

                IsShowInfo = false;
            }
            else
            {
                SetPreviewImage(null);
                button_first.Enabled    = false;
                button_prior.Enabled    = false;
                button_next.Enabled     = false;
                button_last.Enabled     = false;
                button_play.Enabled     = false;
                button_transact.Enabled = false;
                button_clear.Enabled    = false;
                label_count.Text        = "";

                DoAlarmPlaybackStateChanged(0, 0);

                IsShowInfo = true;
            }
        }