protected override bool PrepClose() { if (PlayHandle > -1) { if (HCNetSDKWrap.NET_DVR_StopPlayBack(PlayHandle)) { PlayHandle = -1; PlayPort = -1; return(true); } } return(false); }
protected override bool PrepOpen(object target) { if (PlayHandle < 0) { if (mType == 1) { PlayHandle = HCNetSDKWrap.NET_DVR_PlayBackByName(DVRDevice.UserID, target.ToString(), HWnd); } else if (mType == 2) { PlayHandle = HCNetSDKWrap.NET_DVR_PlayBackByTime(DVRDevice.UserID, (Int32)target, ref mStartTime, ref mStopTime, HWnd); } else { throw new Exception("回放类型不支持!"); } if (PlayHandle > -1) { PlayPort = HCNetSDKWrap.NET_DVR_GetPlayBackPlayerIndex(PlayHandle); if (PlayPort > -1) { mTryCount = 0; if (ImageDrawer.DrawFun != null) { HCNetSDKWrap.PlayM4_RigisterDrawFun(PlayPort, ImageDrawer.DrawFun, DVRDevice.UserID); } return(true); } else if (HCNetSDKWrap.NET_DVR_StopPlayBack(PlayHandle)) { PlayHandle = -1; CLocalSystem.WriteErrorLog(string.Format("HKDVRBackPlayer({0}) 播放时获取播放器句柄失败:{1}", this.Name, PlayPort)); } } else { int nErr = HCNetSDKWrap.NET_DVR_GetLastError(); CLocalSystem.WriteErrorLog(string.Format("HKDVRBackPlayer({0}) 播放失败:{1}", this.Name, nErr)); PlayStatus = PlayState.Error; } } return(false); }