| | |
| | | ET_HCNET_DECODER_POPWIN, // 3 |
| | | ET_HCNET_DECODER_LOGO, // 4 |
| | | ET_HCNET_DECODER_ALARMOUT, // 5 |
| | | ET_HCNET_DECODER_LOGO_ALARMOUT, // 6 |
| | | ET_HCNET_DECODER__LAST, |
| | | ET__LAST |
| | | }; |
| | |
| | | printf("hcnetsdk_ExceptionCallBack: %d\n", int(dwType)); |
| | | } |
| | | |
| | | int hcnetsdk_alarm_alarmout(LONG lUserID, const HCNetCameraConfig& camConfig) |
| | | int hcnetsdk_alarm_alarmout(LONG lUserID, const HCNetCameraConfig& camConfig, bool isDisalarm) |
| | | { |
| | | //报警时间段 |
| | | NET_DVR_SCHEDTIME net_dvr_schedtime = {0}; |
| | |
| | | } |
| | | |
| | | //开启警报 |
| | | if(NET_DVR_SetAlarmOut(lUserID,camConfig.lAlarmOutPort,1) == FALSE){ |
| | | printf("NET_DVR_SetAlarmOut failed, err: %d\n", NET_DVR_GetLastError()); |
| | | } |
| | | //if(NET_DVR_SetAlarmOut(lUserID,camConfig.lAlarmOutPort,1) == FALSE){ |
| | | // printf("NET_DVR_SetAlarmOut failed, err: %d\n", NET_DVR_GetLastError()); |
| | | //} |
| | | last_alarmout = time(NULL); |
| | | |
| | | sleep(3); |
| | | //sleep(2); |
| | | |
| | | if (time(NULL) - last_alarmout >= 3) |
| | | if (isDisalarm) |
| | | { |
| | | //解除警报 |
| | | NET_DVR_SetAlarmOut(lUserID,camConfig.lAlarmOutPort,0); |
| | | //if (time(NULL) - last_alarmout >= 2) |
| | | //{ |
| | | //解除警报 |
| | | NET_DVR_SetAlarmOut(lUserID,camConfig.lAlarmOutPort,0); |
| | | //} |
| | | } |
| | | else |
| | | { |
| | | //开启警报 |
| | | if(NET_DVR_SetAlarmOut(lUserID,camConfig.lAlarmOutPort,1) == FALSE){ |
| | | printf("NET_DVR_SetAlarmOut failed, err: %d\n", NET_DVR_GetLastError()); |
| | | } |
| | | last_alarmout = time(NULL); |
| | | } |
| | | } |
| | | |
| | |
| | | //net_dvr_win_logo_cfg.byEnable = 0; |
| | | //NET_DVR_SetDVRConfig(lUserID,NET_DVR_SET_WIN_LOGO_CFG,dwDecChanNum,&net_dvr_win_logo_cfg,net_dvr_win_logo_cfg.dwSize); |
| | | } |
| | | |
| | | |
| | | int hcnetsdk_alarm_logo_alarmout(LONG lUserID, const HCNetCameraConfig& _camConfig, const std::string& ip, int channel, bool disalarm) |
| | | { |
| | | HCNetCameraConfig camConfig(_camConfig); |
| | | //if (camConfig.channel != channel) |
| | | //{ |
| | | // camConfig.channel = -1; |
| | | // sockinfo* equipConfig = hcnetsdk_find_equip(ip, channel); |
| | | // if (equipConfig != NULL) |
| | | // camConfig = *(HCNetCameraConfig*)(equipConfig->user_config); |
| | | //} |
| | | |
| | | printf("hcnetsdk_alarm_logo, channel=%d, matchc=%d\n", channel, camConfig.channel); |
| | | |
| | | if (camConfig.channel < 0) |
| | | return -1; |
| | | |
| | | //窗口配置信息 |
| | | NET_DVR_WIN_LOGO_CFG net_dvr_win_logo_cfg; |
| | | net_dvr_win_logo_cfg.dwLogoNo = 1; |
| | | net_dvr_win_logo_cfg.byEnable = (disalarm ? 0 : 1);//0:hidden,1:visible |
| | | net_dvr_win_logo_cfg.byRes1[3] =0; |
| | | net_dvr_win_logo_cfg.dwCoordinateX = 5; |
| | | net_dvr_win_logo_cfg.dwCoordinateY =5; |
| | | net_dvr_win_logo_cfg.byFlash = 1; |
| | | net_dvr_win_logo_cfg.byTranslucent = 0; |
| | | net_dvr_win_logo_cfg.byRes2[34] = 0; |
| | | |
| | | net_dvr_win_logo_cfg.dwSize = sizeof(net_dvr_win_logo_cfg); |
| | | //设置窗口输出logo |
| | | int byWallNo=1,dwSubWinNo=2,dwWinNo=1; |
| | | |
| | | for (int i= 0; i < camConfig.dwWinNo.size(); i++) |
| | | { |
| | | DWORD dwDecChanNum=(camConfig.byWallNo << 24) | (camConfig.dwSubWinNo << 16) | camConfig.dwWinNo[i]; |
| | | if(!NET_DVR_SetDVRConfig(lUserID,NET_DVR_SET_WIN_LOGO_CFG,dwDecChanNum,&net_dvr_win_logo_cfg,net_dvr_win_logo_cfg.dwSize)) |
| | | { |
| | | printf("NET_DVR_SetDVRConfig2 error, err: %d\n", NET_DVR_GetLastError()); |
| | | //return -1; |
| | | } |
| | | else |
| | | { |
| | | printf("NET_DVR_SetDVRConfig2 done.\n"); |
| | | //return 0; |
| | | } |
| | | } |
| | | |
| | | //if (!disalarm) |
| | | //{ |
| | | //int hcnetsdk_alarm_alarmout(LONG lUserID, const HCNetCameraConfig& camConfig) |
| | | hcnetsdk_alarm_alarmout(lUserID, camConfig, disalarm); |
| | | //} |
| | | |
| | | return 0; |
| | | |
| | | //sleep(3); |
| | | //net_dvr_win_logo_cfg.byEnable = 0; |
| | | //NET_DVR_SetDVRConfig(lUserID,NET_DVR_SET_WIN_LOGO_CFG,dwDecChanNum,&net_dvr_win_logo_cfg,net_dvr_win_logo_cfg.dwSize); |
| | | } |
| | | |
| | | |
| | | int main(int argc,char **argv) |
| | | { |
| | |
| | | { |
| | | std::cout << "......alarm begin k=" << k << std::endl; |
| | | if (equipConfig.m_type == ET_HCNET_DECODER_ALARMOUT && !isDisalarm) |
| | | hcnetsdk_alarm_alarmout(lUserData, *camConfig); |
| | | hcnetsdk_alarm_alarmout(lUserData, *camConfig, isDisalarm); |
| | | else if (equipConfig.m_type == ET_HCNET_DECODER_LOGO) |
| | | hcnetsdk_alarm_logo(lUserData, *camConfig, ip, channel, isDisalarm); |
| | | else if (equipConfig.m_type == ET_HCNET_DECODER_LOGO_ALARMOUT) |
| | | hcnetsdk_alarm_logo_alarmout(lUserData, *camConfig, ip, channel, isDisalarm); |
| | | std::cout << "......alarm end k=" << k << std::endl; |
| | | } |
| | | else |