public HC_SDK_X64(int userid, int channel, IntPtr wndhandle, int userDate) { //HCNetSDK_X64.NET_DVR_SetShowMode(HCNetSDK_X64.DISPLAY_MODE.OVERLAYMODE, 0); //if (channel < 3) //{ // lpClientInfo.lChannel = channel; // lpClientInfo.lLinkMode = 1; // lpClientInfo.sMultiCastIP = ""; // lpClientInfo.hPlayWnd = IntPtr.Zero; //} //else //{ // lpClientInfo.lChannel = channel; // lpClientInfo.lLinkMode = 1 << 31 + 1; // lpClientInfo.sMultiCastIP = ""; // lpClientInfo.hPlayWnd = IntPtr.Zero; //} //HCNetSDK_X64.NET_DVR_PREVIEWINFO lpPreviewInfo = new HCNetSDK_X64.NET_DVR_PREVIEWINFO(); lpPreviewInfo.hPlayWnd = IntPtr.Zero; //预览窗口 lpPreviewInfo.lChannel = channel; //预te览的设备通道 lpPreviewInfo.dwStreamType = 0; //码流类型:0-主码流,1-子码流,2-码流3,3-码流4,以此类推 lpPreviewInfo.dwLinkMode = 1; //连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP lpPreviewInfo.bBlocked = true; //0- 非阻塞取流,1- 阻塞取流 lpPreviewInfo.dwDisplayBufNum = 1; //播放库播放缓冲区最大缓冲帧数 lpPreviewInfo.byProtoType = 0; lpPreviewInfo.byPreviewMode = 0; //RealDataCallBack_V40 CallBackHandle = new HCNetSDK_X64.REALDATACALLBACK(Playback); UserID = userid; UserDate = userDate; WndHandle = wndhandle; pSrcRect.Init(); }
public void Play() { //int i= HCNetSDK_X64.NET_DVR_RealPlay_V30(UserID, ref lpClientInfo, CallBackHandle, (IntPtr)UserDate,1); //int i = HCNetSDK_X64.NET_DVR_RealPlay_V30(UserID, ref lpClientInfo, null, (IntPtr)UserDate, 1); //IntPtr pUser = new IntPtr(); if (RealData == null) { RealData = new HCNetSDK_X64.REALDATACALLBACK(RealDataCallBack);//预览实时流回调函数 } int i = HCNetSDK_X64.NET_DVR_RealPlay_V40(UserID, ref lpPreviewInfo, RealData, (IntPtr)UserDate); //HCNetSDK_X64.NET_DVR_SetPlayerBufNumber(i, 50); //HCNetSDK_X64.NET_DVR_ThrowBFrame(i, 10); }