一个视频采集卡,外接一个摄象机!
然后视频采集卡自带一个应用程序,运行以后有两个窗体.
一个窗体用来显示摄象机镜头看到的东西(就是跟设想头一样).
一个窗体就是一些按扭组成的.点相关按扭就能实现抓图.抓录象什么的功能!
其实就跟设想头差不多的概念...
然后我需要用java实现类似的功能.
这个卡有一个vc的开发包api什么的.
我打算用java直接调用vc 的 dll文件..
可我不知道哪个用来显示摄象头看到的东西的哪个窗体应该用什么控件?
我同事用vc的cview说能实现.可是我不知道用java怎么写!也不明白如果我
java的本地方法,要调用一个dll的方法,这个dll方法如果还要调用另外一个dll的方法!然后
返回值是一个对象.那我 get()的返回值怎么写啊?写object吗?
因为dll返回的哪个对象类型我肯定没有相关的类啊!public class TestDLL {
//调用dll
static {
System.loadLibrary("test");
}
//本地声明
public native static int get();
public static void main(String args[])
{
get();
}}谢谢大家拜托了
然后视频采集卡自带一个应用程序,运行以后有两个窗体.
一个窗体用来显示摄象机镜头看到的东西(就是跟设想头一样).
一个窗体就是一些按扭组成的.点相关按扭就能实现抓图.抓录象什么的功能!
其实就跟设想头差不多的概念...
然后我需要用java实现类似的功能.
这个卡有一个vc的开发包api什么的.
我打算用java直接调用vc 的 dll文件..
可我不知道哪个用来显示摄象头看到的东西的哪个窗体应该用什么控件?
我同事用vc的cview说能实现.可是我不知道用java怎么写!也不明白如果我
java的本地方法,要调用一个dll的方法,这个dll方法如果还要调用另外一个dll的方法!然后
返回值是一个对象.那我 get()的返回值怎么写啊?写object吗?
因为dll返回的哪个对象类型我肯定没有相关的类啊!public class TestDLL {
//调用dll
static {
System.loadLibrary("test");
}
//本地声明
public native static int get();
public static void main(String args[])
{
get();
}}谢谢大家拜托了
不过你可以在实现本地方法中调用它
Java_Callbacks_nativeMethod(JNIEnv *env, jobject obj, jobject cClass)
{
jclass cls = (*env)->GetObjectClass(env, cClass);
// 获取MethodID
jmethodID mid = (*env)->GetMethodID(env, cls, "setValue", "(I)V");
if (mid == 0) {
return;
}
// 将C++类中的值填充到相应的JAVA类中
(*env)->Call<Type>Method(env, cClass, mid, ...); //...}
不过你可以在实现本地方法中调用它!
--------------这个我测试过一个简单的例子没问题啊!我现在的问题是,不知道如果调用的这个dll文件的方法的返回数值是一个,用户自定义的对象!
例如是
public native static VCOBJECT get();这样的东西我这里的返回数值应该怎么写?写object吗?
public class TestDLL {
//调用dll
static {
System.loadLibrary("test");
}
//本地声明
public native static VCOBJECT get();
public static void main(String args[])
{
get();
}}
因为这个采集卡提供一个应用程序!
我用
Runtime.getRuntime().exec(应用程序.exe).
然后让用户在他的作好的东西里面操作!然后用户抓图以后,我用什么办法
能获得用户抓取图片后存放的路径就行了!其实我的目的就是为了,获得用户抓取图片的路径。然后在对图片进行一些处理啊
public native static void get(MyCCalss cClass) 改为:
public native static MyCCalss get(...)找自定义java类的jclass 可以用jclass cls = (*env)->FindClass(env, "jni/.../MyCClass.class"); 然后构建
jobject AllocObject(JNIEnv *env, jclass clazz);
NewObject
NewObjectA然后用上面方法填充,返回此对象.NewObjectV
然后让用户在他的作好的东西里面操作!然后用户抓图以后,我用什么办法能获得用户抓取图片后存放的路径就行了!其实我的目的就是为了,获得用户抓取图片的路径。然后在对图片进行一些处理啊
-----------------------------------哈,不懂. ^_^(应用程序.exe,有输出此路径吗? Process.getInputStream,...)
另外
那这个
然后我需要用java实现类似的功能.
这个卡有一个vc的开发包api什么的.
我打算用java直接调用vc 的 dll文件..
可我不知道哪个用来显示摄象头看到的东西的哪个窗体应该用什么控件?
我同事用vc的cview说能实现.可是我不知道用java怎么写!问题有办法解决吗?
也不比java直接操作dll复杂。