From 0bbac062b44db5383da377c83ba450c207794a6c Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期一, 16 十二月 2019 17:22:26 +0800
Subject: [PATCH] 修改cgo bug 更新so,解决退出登录问题
---
hikvoice.go | 17 +++++++++++++++--
hikvoice_test.go | 7 ++++++-
libs/libHikVoice.so | 0
3 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/hikvoice.go b/hikvoice.go
index d3a45e1..bd7d514 100644
--- a/hikvoice.go
+++ b/hikvoice.go
@@ -8,11 +8,24 @@
#include <stdlib.h>
#include "Voice.h"
-
*/
import "C"
+import (
+ "unsafe"
+)
// SendVoice Send Voice
func SendVoice(ip,usrname,passwd,voiceFilePath string) int {
- return int(C.SendVoice(C.CString(ip), C.CString(usrname), C.CString(passwd), C.CString(voiceFilePath)))
+
+ cip := C.CString(ip)
+ defer C.free(unsafe.Pointer(cip))
+ cusrname := C.CString(usrname)
+ defer C.free(unsafe.Pointer(cusrname))
+ cpasswd := C.CString(passwd)
+ defer C.free(unsafe.Pointer(cpasswd))
+ cvoiceFilePath := C.CString(voiceFilePath)
+ defer C.free(unsafe.Pointer(cvoiceFilePath))
+
+ cRet := C.SendVoice(cip, cusrname, cpasswd, cvoiceFilePath)
+ return int(cRet)
}
diff --git a/hikvoice_test.go b/hikvoice_test.go
index 9d83597..706dd13 100644
--- a/hikvoice_test.go
+++ b/hikvoice_test.go
@@ -7,6 +7,11 @@
func TestMain(m *testing.M) {
fmt.Println("begin")
- r := SendVoice("192.168.5.35", "admin", "a1234567", "/media/basic/cdbfb548-3100-4738-b9c1-0a7e1e002170/workspace/goproject/src/hicvoice/8k_1_16.g711a")
+ var ip,usrname,passwd,filepath string
+ ip = "192.168.5.35"
+ usrname = "admin"
+ passwd = "a1234567"
+ filepath = "/media/basic/cdbfb548-3100-4738-b9c1-0a7e1e002170/workspace/goproject/src/hicvoice/8k_1_16.g711a"
+ r := SendVoice(ip, usrname, passwd, filepath)
fmt.Println("end ", r)
}
diff --git a/libs/libHikVoice.so b/libs/libHikVoice.so
index f5754d9..24845c7 100755
--- a/libs/libHikVoice.so
+++ b/libs/libHikVoice.so
Binary files differ
--
Gitblit v1.8.0