heyujie
2021-10-15 aba91dc00cd79653c4867c954434b0adff035598
hikptz.go
@@ -1,92 +1,39 @@
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))
}