16,471
社区成员
发帖
与我相关
我的任务
分享
// 初始化
if (!NET_DVR_Init()) AfxMessageBox(_T("初始化错误"));
//设置连接时间与重连时间
NET_DVR_SetConnectTime(2000, 1);
NET_DVR_SetReconnect(10000, true);
// 注册设备
NET_DVR_DEVICEINFO_V30 DeviceInfo;
LONG lUserID = NET_DVR_Login_V30("192.0.0.64",8000,"admin","12345",&DeviceInfo);
if (lUserID <0)
{
//用户名密码错误
if (NET_DVR_GetLastError() == NET_DVR_PASSWORD_ERROR)
{
//处理错误信息
AfxMessageBox(_T("连接的用户名或者密码有错误\n"));
}
//连接到DVR的客户端达到最大
else if(NET_DVR_GetLastError() == NET_DVR_OVER_MAXLINK)
{
//处理错误信息
AfxMessageBox(_T("连接到DVR的客户端达到最大\n"));
}
}
//启动预览并设置回调数据流
LONG lRealPlayHandle = -1;
NET_DVR_CLIENTINFO clientInfo;
clientInfo.hPlayWnd = GetDlgItem(IDC_STATIC_PREVIEWBG)->GetSafeHwnd();
clientInfo.lChannel = 1; //预览通道号
clientInfo.lLinkMode = 0; //表示连接方式:0-TCP方式;1-UDP方式;2-多播方式;3-RTP方式;
clientInfo.sMultiCastIP =" "; //多播地址,需要多播预览时配置
BOOL bPreviewBlock = false; //请求码流过程是否阻塞,0:否,1:是
lRealPlayHandle = NET_DVR_RealPlay_V30(lUserID,&clientInfo,NULL,NULL,bPreviewBlock);
if (lRealPlayHandle<0)
{
MessageBox("Play Error");
NET_DVR_Logout(lUserID);
NET_DVR_Cleanup();
return;
}