void MainWindow::initHaiKang()
{
//---------------------------------------
// 初始化
NET_DVR_Init();
//设置连接时间与重连时间
NET_DVR_SetConnectTime(2000, 1);
NET_DVR_SetReconnect(10000, true);
//---------------------------------------
// 注册设备
LONG lUserID;
NET_DVR_USER_LOGIN_INFO struLoginInfo = {0};
NET_DVR_DEVICEINFO_V40 struDeviceInfo = {0};
strcpy((char *)struLoginInfo.sDeviceAddress,"192.168.1.1"); //设备 IP 地址
strcpy((char *)struLoginInfo.sUserName,"admin"); //设备登录用户名
strcpy((char *)struLoginInfo.sPassword,"123456"); //设备登录密码
struLoginInfo.wPort = 8000;
struLoginInfo.bUseAsynLogin = 0; //同步登录,登录接口返回成功即登录成功
lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfo);
if (lUserID < 0)
{
qDebug() << QString("NET_DVR_Login_V40 failed, error code: %1").arg(NET_DVR_GetLastError());
NET_DVR_Cleanup();
return;
}
else {
qDebug("NET_DVR_Login_V40 success");
}
qDebug() << QString("The max number of analog channels: %1").arg(struDeviceInfo.struDeviceV30.byChanNum); //模拟通道个数
qDebug() << QString("The max number of IP channels: %1").arg(struDeviceInfo.struDeviceV30.byIPChanNum);//IP 通道个数
qDebug() << QString("The start number of IP channel: %1").arg(struDeviceInfo.struDeviceV30.byStartDChan);//IP 通道起始通道号
Sleep(2000);
//云台控制:云台左转
if(!NET_DVR_PTZControl_Other(lUserID,1,PAN_LEFT,0)) //开始左转
{
qDebug() << QString("NET_DVR_PTZControl_Other failed, error code: %1").arg(NET_DVR_GetLastError());
NET_DVR_Cleanup();
return;
}
qDebug("云台开始左转!");
Sleep(5000); //转动 5s
if(!NET_DVR_PTZControl_Other(lUserID,1,PAN_LEFT,1)) //停止左转
{
qDebug() << QString("NET_DVR_PTZControl_Other failed, error code: %1").arg(NET_DVR_GetLastError());
NET_DVR_Cleanup();
return;
}
qDebug("云台左转停止!");
//注销用户
NET_DVR_Logout(lUserID);
//释放 SDK 资源
NET_DVR_Cleanup();
}
1.如果是远程控制的话,海康摄像头需要开启端口映射,启用UPnp