2013-10-22 128 views
1

系统: Win 7的64位jmvfw.dll:不能AMD 64位平台上加载IA 32位的.dll

JMF通过启动JMStudio的作品在我的系统上,找到我的司机和启动我的麦克风和摄像头。但是当我运行Netbeans代码时,它不起作用。

我在本网站上按照以下步骤在Win 7 64bit上安装JMF,但没有成功: https://forums.oracle.com/thread/2134405。我已经搜索了与这个问题有关的所有其他答案,但没有取得任何成功。它应该在我的64位上工作,正如我粘贴在这里的链接所述。

我已经安装了32位Java JDK, 移离JMF DLL的代码安装文件夹System32下和SysWOW64中, 没有错误,并添加JMF.jar。

任何解决方案? 当我运行它,我得到以下错误:

Exception in thread "VFW Request Thread" java.lang.UnsatisfiedLinkError: JMFSecurityManager: java.lang.UnsatisfiedLinkError: C:\Windows\System32\jmvfw.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform 
    at com.sun.media.JMFSecurityManager.loadLibrary(JMFSecurityManager.java:206) 
    at com.sun.media.protocol.vfw.VFWCapture.<clinit>(VFWCapture.java:19) 
    at com.sun.media.protocol.vfw.VFWSourceStream.doConnect(VFWSourceStream.java:241) 
    at com.sun.media.protocol.vfw.VFWSourceStream.run(VFWSourceStream.java:763) 
    at java.lang.Thread.run(Thread.java:724) 
+3

不能混合32个和64位应用程序。如果您有32位JVM,则还应安装32位JMF。 – Archie

+0

我已经有了64位的JVM,但它没有工作,并且在我粘贴的教程链接上,它说删除64位JVM并安装32位JVM。 JMF最初是为32位创建的,所以它是32位的JMF。 – MOTIVECODEX

+2

请确保您正在运行32位JVM(在控制台中运行java -version以查看) – Archie

回答

4

我发现我的系统仍然运行64位的Java,而我安装的是32位。我的系统中仍然存在Java 64位的痕迹,因此我删除了所有Java的痕迹,然后在我的系统上安装了最新的Java JDK 7。复制粘贴C:\ Program Files(x86)\ Java到C:\ Program Files \ Java,然后将PATH和CLASSPATH更改为C:\ Program Files \ Java。 cmd中的java -version在此之后工作,而在Netbeans 7.4中使用JMF.jar的项目运行并捕获我的摄像头。

+1

你很受欢迎。 – Archie

0

我也陷入了多个JVM的配置32/64位的陷阱,请确保将.DLL版本与JVM匹配,即32位应该在32位上运行。这同样适用于64位。

欲了解更多信息,请参阅蚀论坛: https://www.eclipse.org/forums/index.php/t/781808/

+0

感谢您的回答,但请添加更多链接到其他页面。请提供附加价值。例如,你可以说以下几点:在问了一个类似的问题,说:“我的64位JRE和JDK也安装好了”,PO(Joe Lee)回答说:“虽然这听起来很愚蠢, ...]问题是因为我没有将Eclipse指向32位JRE,所有“*”。请改善您的答案,以免有人反对。干杯 – olibre

相关问题