public int ConnectRealPlay(ref DEV_INFO pDev, int nChannel, int nStream = 1) { Debug.WriteLine(DateTime.Now.ToString("HH:mm:ss - ") + TAG + ".ConnectRealPlay(" + pDev.szDevName + "," + nChannel.ToString() + ")", "DVR INFO"); if (m_iPlayhandle != -1) { if (0 != XMSDK.H264_DVR_StopRealPlay(m_iPlayhandle, (uint)panelVideo.Handle)) { //TODO: «десь необходимо доработать } if (m_bSound) { OnCloseSound(); } } H264_DVR_CLIENTINFO playstru = new H264_DVR_CLIENTINFO(); playstru.nChannel = nChannel; playstru.nStream = nStream; playstru.nMode = 0; playstru.hWnd = panelVideo.Handle; m_iPlayhandle = XMSDK.H264_DVR_RealPlay(pDev.lLoginID, ref playstru); if (m_iPlayhandle <= 0) { Int32 dwErr = XMSDK.H264_DVR_GetLastError(); } else { XMSDK.H264_DVR_MakeKeyFrame(pDev.lLoginID, nChannel, 0); realDataCallBack_V2 = new XMSDK.fRealDataCallBack_V2(DataCallBack_V2); XMSDK.H264_DVR_SetRealDataCallBack_V2(m_iPlayhandle, realDataCallBack_V2, Handle.ToInt32()); } m_lLogin = pDev.lLoginID; m_iChannel = nChannel; return(m_iPlayhandle); }
public static extern int H264_DVR_RealPlay(int lLoginID, ref H264_DVR_CLIENTINFO lpClientInfo);