Esempio n. 1
0
 protected override bool PrepClose()
 {
     if (PlayHandle > -1)
     {
         if (HCNetSDKWrap.NET_DVR_StopPlayBack(PlayHandle))
         {
             PlayHandle = -1;
             PlayPort   = -1;
             return(true);
         }
     }
     return(false);
 }
Esempio n. 2
0
        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);
        }