void CALLBACK fDrawFun(LONG realhandle, HDC hdc, DWORD dwuse){ // TODO 画框}sdk:NET_DVR_RigisterDrawFun(lRealPlayHandle, fDrawFun,NULL)
请问找到合适的解决方法了吗,楼主
我给你看看我的例子吧 InitLogin(); LoginDevice(CameraIP,CameraUser,CameraPWD); void MainForm::InitLogin() { NET_DVR_Init(); //设置连接时间与重连时间 NET_DVR_SetConnectTime(2000, 1); NET_DVR_SetReconnect(10000, true); } void MainForm::LoginDevice(QString ip, QString user, QString pwd) { NET_DVR_USER_LOGIN_INFO struLoginInfo = {0}; struLoginInfo.bUseAsynLogin = 0; //同步登录方式 strcpy(struLoginInfo.sDeviceAddress, ip.toLatin1().data()); //设备IP地址 struLoginInfo.wPort = 8000; //设备服务端口 strcpy(struLoginInfo.sUserName, user.toLatin1().data()); //设备登录用户名 strcpy(struLoginInfo.sPassword, pwd.toLatin1().data()); //设备登录密码 //设备信息, 输出参数 NET_DVR_DEVICEINFO_V40 struDeviceInfoV40 = {0}; LONG lUserID; lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfoV40); if (lUserID < 0) { NET_DVR_Cleanup(); return; } NET_DVR_PREVIEWINFO struPlayInfo = {0}; struPlayInfo.hPlayWnd = (HWND)ui->widview->winId(); //需要SDK解码时句柄设为有效值,仅取流不解码时可设为空 struPlayInfo.lChannel = 1; //预览通道号 struPlayInfo.dwStreamType = 0; //0-主码流,1-子码流,2-码流3,3-码流4,以此类推 struPlayInfo.dwLinkMode = 0; //0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP struPlayInfo.bBlocked = 1; //0- 非阻塞取流,1- 阻塞取流 viewnow = NET_DVR_RealPlay_V40(lUserID, &struPlayInfo, NULL, NULL); }
21,474
社区成员
26,692
社区内容
加载中
试试用AI创作助手写篇文章吧