public bool Close() { if (mFileVS != null) { mVSConfig.SystemContext.VideoSourceManager.Close(mFileVS.Name); mFileVS = null; return(true); } return(false); }
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); }
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); } } }
private void DoFilePlayState(IFileVideoSource vs, long frame) { RefreshPlayProgress((int)frame); }