一、给服务器发送字符串
实现这个功能非常简单,感觉不怎么实用。
1. VC++ Code:
MP4_ClientCommandtoServer((LPCTSTR)ctemp,sendcont, 400 ); 2. C# Code:
PcHikClient.MP4_ClientCommandtoServer( " 192.168.0.188 " , " 服务器你好:) " , 14 ); 从API文档中能找到关于这个方法的说明:第一个参数是服务器的IP,第二个是要发送的字符串,第三个参数是字符串长度。
二、客户端对视频录像
客户端视频录像从API文档(Hikvision 板卡网络开发包编程手册V4.7)中可以看得出可以由MP4_ClientStartCapture或MP4_ClientStartCaptureFile函数来实现这个功能,从VC++的源码可以看得出他是用后者来实现的,简单省事,但是服务器端就没这个函数了- _-#。但是MP4_ClientStartCapture通过回调自己写存储代码更加灵活,可以实现诸如统计信息之类的额外功能,这里只提供VC++对应的C#版本的MP4_ClientStartCaptureFile
1. VC++ Code:
// 开始录像 if (nn1 >= 0 ) { sprintf(filename, " d:\\mp4test1_%d.mp4 " ,capcount); MP4_ClientStartCaptureFile(nn1,filename); // MP4_ClientStartCapture(nn1); } // 关闭录像 if (nn1 >= 0 ) MP4_ClientStopCapture(nn1); 2. C# Code:
/// <summary> /// 开始录像 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnStartCap_Click( object sender, EventArgs e) { PcHikClient.MP4_ClientStartCaptureFile(cs, " D:\\mp4test1_0.mp4 " ); } /// <summary> /// 停止录像 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnStopCap_Click( object sender, EventArgs e) { PcHikClient.MP4_ClientStopCapture(cs); } 方法很简单,但是注意之前帖的MP4_ClientStartCaptureFile参数对应错误,否则无法创建文件并一直返回false,现在已经更新前面的SDK封装API的文章了,具体错误如下:
VC++原型:
BOOL __stdcall MP4_ClientStartCaptureFile(LONG StockHandle, LPTSTR FileName); 之前版本:
public static extern bool MP4_ClientStartCaptureFile( long StockHandle, string FileName); 更改后版本:
public static extern bool MP4_ClientStartCaptureFile( int StockHandle, string FileName); 注意StockHandle参数数据类型变化。MP4_ClientStopCapture的参数也是long数据类型,不过不影响,改不改成int无所谓。
本文转自博客园农民伯伯的博客,原文链接:,如需转载请自行联系原博主。