コード例 #1
0
 public bool Close()
 {
     if (mFileVS != null)
     {
         mVSConfig.SystemContext.VideoSourceManager.Close(mFileVS.Name);
         mFileVS = null;
         return(true);
     }
     return(false);
 }
コード例 #2
0
        public bool Open()
        {
            if (mFileVS == null)
            {
                mFileVS = mVSConfig.SystemContext.VideoSourceManager.Open(mVSConfig, pictureBox_view.Handle) as IFileVideoSource;
                if (mFileVS != null)
                {
                    mFileVS.OnFilePlayState += new FilePlayStateEvent(DoFilePlayState);

                    FileInfo fi = new FileInfo(mVSConfig.FileName);
                    label_fileName.Text = string.Format("{0}{1}", Desc, fi.Name);

                    return(true);
                }
            }
            return(false);
        }
コード例 #3
0
        private void DoPlayStatusChanged(IMonitorSystemContext context, string vsName, VideoSourceState vsStatus, PlayState playStatus)
        {
            if (mVSConfig.Name.Equals(vsName))
            {
                IFileVideoSource vs = context.VideoSourceManager.GetVideoSource(vsName) as IFileVideoSource;
                switch (playStatus)
                {
                case PlayState.Open:
                    if (vs != null)
                    {
                        InitPlayProgress((int)vs.TotalFrame);
                    }
                    button_open.Text         = "关闭";
                    button_play.Text         = "播放";
                    button_play.Enabled      = true;
                    button_playFrame.Enabled = true;
                    button_getFrame.Enabled  = true;
                    break;

                case PlayState.Play:
                    button_play.Text = "暂停";
                    break;

                case PlayState.Stop:
                    button_play.Text = "播放";
                    break;

                case PlayState.Close:
                    button_open.Text         = "打开";
                    button_play.Text         = "播放";
                    button_play.Enabled      = false;
                    button_playFrame.Enabled = false;
                    button_getFrame.Enabled  = false;
                    label_fileName.Text      = string.Format("{0}未打开文件", Desc);
                    label_totalTime.Text     = "0:00:00";
                    label_curTime.Text       = "0:00:00";
                    progressBar_play.Value   = 0;
                    break;
                }

                if (OnPlayStatusChanged != null)
                {
                    OnPlayStatusChanged(context, vsName, vsStatus, playStatus);
                }
            }
        }
コード例 #4
0
 private void DoFilePlayState(IFileVideoSource vs, long frame)
 {
     RefreshPlayProgress((int)frame);
 }