这回不废话了
HCNetSDK.dll的JNA代理(网上有个哥们写完了,3000多行啊,虽然我用了不到100行)
不发了,看后面附件吧
主要使用的方法:
1.初始化
// 第一步 INSTANCE.NET_DVR_Init(); INSTANCE.NET_DVR_SetConnectTime(2000, 1);
2。登录
NET_DVR_DEVICEINFO_V30 lpDeviceInfo = new NET_DVR_DEVICEINFO_V30(); // 第二步 userid = INSTANCE.NET_DVR_Login_V30("172.16.16.44", (short) 8000, "admin", "12345", lpDeviceInfo); if (INSTANCE.NET_DVR_GetLastError() != 0) { System.out.println("登录失败:" + INSTANCE.NET_DVR_GetLastError()); return; }
3.播放
Panel cardPanel = panels[i]; HWND hwnd = createHWNDByComponent(cardPanel); NET_DVR_CLIENTINFO lpClientInfo = new NET_DVR_CLIENTINFO(); lpClientInfo.hPlayWnd = hwnd; lpClientInfo.lChannel = new NativeLong(i + 1); lpClientInfo.sMultiCastIP = ""; lpClientInfo.lLinkMode = new NativeLong(0); // 第三步 NativeLong handle = INSTANCE.NET_DVR_RealPlay_V30(userid, lpClientInfo, null, null, true);
附件是工程
右键HCNetMain 直接运行就可以了
相关推荐
Java 使用JNA(Java Native Access)连接天敏VC4000采集卡是一个涉及多方面技术的实践过程,包括Java编程、JNA库的使用、硬件接口通信以及视频采集技术。下面将详细介绍这个主题。 首先,JNA是Java平台的一个开源库...
java使用jna开启关闭第三方应用程序,附简单的例子,打开一个记事本,朋友们也可以改为自己需要打开的应用程序
java 使用JNA读取ddl文件,亲测有效!
由于java提供jni有诸多不便,再加上我很菜,c这些东西全还给了老师了,所以还是选用jna调用,代码什么的都放在附件中了,jna的使用其实还是挺简单的,网上有很多相关的示例,但是就是需要注意一些dll文件路径,参数...
本文将详细介绍如何使用Java通过JNA调用系统API,以Windows系统为例,重点讲解如何调用`Kernel32.dll`中的`GetLocalTime()`, `GetSystemTime()` 和 `SetLocalTime()` 方法。 1. **Java Native Access (JNA)**: JNA...
在标题中提到的"java_jna包",很可能是包含JNA库的Java项目或库的压缩文件,便于开发者下载和使用。这个包可能包含了JNA的核心库、平台依赖的库文件,以及相关的示例和文档,帮助开发者快速理解和使用JNA。 描述中...
Java 使用 JNA 连接 KPCI-1847(847)等板卡涉及到的是在Java程序中与硬件设备进行通信的技术。JNA(Java Native Access)是Java平台上的一个库,允许Java代码直接调用操作系统级别的API,而无需编写C/C++的桥接代码...
对于引用,JNA会在Java对象和DLL函数之间建立连接,确保改变一方会影响到另一方。 3. **结构体**:JNA提供了一个Struct类,允许你在Java中定义结构体并映射到DLL中的结构体类型。你需要继承Struct类,定义成员变量...
本示例是关于如何在Java中使用JNA处理C语言返回的结构体数据。下面将详细介绍这个过程,以及如何在Linux环境下实现。 首先,我们需要了解JNA的基本概念。JNA是一种纯Java库,允许Java代码直接调用本地库(如C库)的...
### Java JNA 使用参考手册知识点概述 #### 一、JNA简介 JNA(Java Native Access)是一个基于经典JNI技术的Java开源框架,它允许Java应用程序动态地访问本机库,例如Windows系统的.dll文件,而无需编写任何JNI或...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码与本地操作系统功能进行交互,无需编写C语言的动态链接库(DLL)或JNI(Java Native Interface)代码。JNA通过一种声明式的接口,使Java程序员...
在使用JNA进行调用时,首先需要对SDK的C/C++接口有深入理解,因为JNA需要映射这些接口到Java世界。每个接口都对应一个特定的功能,例如`HIConnect_Init()`用于初始化连接,`HIPlay_Start()`用于启动播放等。 JNA的...
为了弥补这个不足,开发人员可以使用Java Native Access (JNA),这是一个Java平台上的库,允许Java代码调用本机库函数,与操作系统进行更直接的交互。 JNA是Java与本机代码之间的一个桥梁,它消除了编写C/C++头文件...
Java 使用 JNA(Java Native Access)调用C/C++编写的第三方动态库(DLL文件)是一种常见的技术,它允许Java程序直接与本地操作系统接口交互,而无需编写JNI(Java Native Interface)代码。JNA 提供了一种相对简洁...
JNA提供了一种无需编写C代码或使用JNI(Java Native Interface)即可调用操作系统API的方法。本话题将详细介绍如何使用JNA获取窗口句柄并发送消息,以及在CS(Client-Server)架构中实现SSO(Single Sign-On)。 ...
研究java调用dll的时候,大部分都是通过jni,比较麻烦,我找到了通过jna方法调用dll的方法,用起来比较方便,只需要引用jna.jar包,这个jar包已经包含在程序中,还包含了我调用dll的遇到难道的解决办法。
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码无需编写C/C++的JNI(Java Native Interface)代码,即可直接调用本地操作系统API。在本压缩包中,包含了一个JNA的使用示例,以及必要的库文件`...
Java Native Access (JNA) 是一个Java库,它允许Java代码与本地库进行交互,无需编写C语言的JNI(Java Native Interface)代码。这个技术极大地简化了Java应用程序调用操作系统功能或者使用非Java编写的库的过程。在...
相比之下,JNA(Java Native Access)作为一种更简洁、更易于使用的框架,逐渐成为开发者的首选。 - **JNI** 的调用过程较为复杂,需要编写额外的C/C++代码来作为桥梁,增加了开发成本和维护难度。 - **JNA** 极大...