| | |
| | | package hikvoice
|
| | | package hikControl
|
| | |
|
| | | /*
|
| | | #cgo CFLAGS: -I${SRCDIR}/include -w -g
|
| | | #cgo LDFLAGS: -L${SRCDIR}/libs
|
| | | #cgo LDFLAGS: -lHikVoice -lAudioRender -lHCCore -lhcnetsdk -lhpr
|
| | | #cgo LDFLAGS: -ldl -lm
|
| | |
|
| | | #cgo CXXFLAGS: -I${SRCDIR}/include -w -g
|
| | | #cgo LDFLAGS: -L${SRCDIR}/lib
|
| | | #cgo LDFLAGS: -lhcnetsdk -lhpr -lHCCore
|
| | | #include <stdlib.h>
|
| | | #include "hikptz.h"
|
| | | */
|
| | | import "C"
|
| | |
|
| | |
|
| | | import (
|
| | | "unsafe"
|
| | | )
|
| | |
|
| | | // SendVoice Send Voice
|
| | | func PtzTrack(ip,password,port,userName string, channel,xBottom,xTop,yBottom,yTop int) {
|
| | | |
| | | // // 初始化
|
| | | // NET_DVR_Init();
|
| | | func PtzTrack(ip, userName, password string, port, channel, xBottom, xTop, yBottom, yTop int) {
|
| | |
|
| | | c.NET_DVR_Init()
|
| | | // //设置连接时间与重连时间
|
| | | // NET_DVR_SetConnectTime(2000, 1);
|
| | | // NET_DVR_SetReconnect(10000, true);
|
| | | c.NET_DVR_SetConnectTime(2000, 1)
|
| | | c.NET_DVR_SetReconnect(10000, true)
|
| | | // // 注册设备
|
| | | // LONG lUserID;
|
| | | cIp := C.CString(ip)
|
| | | cUsrname := C.CString(userName)
|
| | | cPasswd := C.CString(password)
|
| | |
|
| | | // //登录参数,包括设备地址、登录用户、密码等
|
| | | // NET_DVR_USER_LOGIN_INFO struLoginInfo = {0};
|
| | | // struLoginInfo.bUseAsynLogin = 0; //同步登录方式
|
| | | // strcpy(struLoginInfo.sDeviceAddress, "10.13.35.229"); //设备IP地址
|
| | | // struLoginInfo.wPort = 8000; //设备服务端口
|
| | | // strcpy(struLoginInfo.sUserName, "admin"); //设备登录用户名
|
| | | // strcpy(struLoginInfo.sPassword, "abcd1234"); //设备登录密码
|
| | | defer C.free(unsafe.Pointer(cIp))
|
| | | defer C.free(unsafe.Pointer(cUsrname))
|
| | | defer C.free(unsafe.Pointer(cPasswd))
|
| | |
|
| | | // //设备信息, 输出参数
|
| | | // NET_DVR_DEVICEINFO_V40 struDeviceInfoV40 = {0};
|
| | |
|
| | | // lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfoV40);
|
| | |
|
| | | // int iChannel = 1;//设备通道号
|
| | | // DWORD dwPTZCommand = PAN_LEFT; //云台左转
|
| | | // DWORD dwStop = 0; //开始转动
|
| | | // NET_DVR_PTZControl_Other(lUserID, iChannel, PAN_LEFT, dwStop)
|
| | |
|
| | | // //注销用户
|
| | | // NET_DVR_Logout(lUserID);
|
| | |
|
| | | // //释放SDK资源
|
| | | // NET_DVR_Cleanup();
|
| | |
|
| | | C.ptzTrack(cIp, cUsrname, cPasswd, C.int(port), C.int(channel), C.int(xBottom), C.int(xTop), C.int(yBottom), C.int(yTop))
|
| | | }
|
| | |
|
| | | func ToPreset(ip, userName, password string, port, ch int) {
|
| | |
|
| | | func ToPreset(ip,password,port,userName string, ch int) {
|
| | | c.NET_DVR_Init()
|
| | | // //设置连接时间与重连时间
|
| | | // NET_DVR_SetConnectTime(2000, 1);
|
| | | // NET_DVR_SetReconnect(10000, true);
|
| | | c.NET_DVR_SetConnectTime(2000, 1)
|
| | | c.NET_DVR_SetReconnect(10000, true)
|
| | | // // 注册设备
|
| | | // LONG lUserID;
|
| | | cip := C.CString(ip)
|
| | | defer C.free(unsafe.Pointer(cip))
|
| | | cusrname := C.CString(userName)
|
| | | defer C.free(unsafe.Pointer(cusrname))
|
| | | cpasswd := C.CString(password)
|
| | | defer C.free(unsafe.Pointer(cpasswd))
|
| | |
|
| | | // //登录参数,包括设备地址、登录用户、密码等
|
| | | // NET_DVR_USER_LOGIN_INFO struLoginInfo = {0};
|
| | | // struLoginInfo.bUseAsynLogin = 0; //同步登录方式
|
| | | // strcpy(struLoginInfo.sDeviceAddress, "10.13.35.229"); //设备IP地址
|
| | | // struLoginInfo.wPort = 8000; //设备服务端口
|
| | | // strcpy(struLoginInfo.sUserName, "admin"); //设备登录用户名
|
| | | // strcpy(struLoginInfo.sPassword, "abcd1234"); //设备登录密码
|
| | |
|
| | | // //设备信息, 输出参数
|
| | | // NET_DVR_DEVICEINFO_V40 struDeviceInfoV40 = {0};
|
| | |
|
| | | // lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfoV40);
|
| | |
|
| | | // int iChannel = 1;//设备通道号
|
| | | // DWORD dwPTZCommand = PAN_LEFT; //云台左转
|
| | | // DWORD dwStop = 0; //开始转动
|
| | | // NET_DVR_PTZControl_Other(lUserID, iChannel, PAN_LEFT, dwStop)
|
| | |
|
| | | // //注销用户
|
| | | // NET_DVR_Logout(lUserID);
|
| | |
|
| | | // //释放SDK资源
|
| | | // NET_DVR_Cleanup();
|
| | | |
| | | } |
| | | C.toPreset(cip, cusrname, cpasswd, C.int(port), C.int(ch))
|
| | | }
|