jmvfw.dll:无法在AMD 64位平台上加载IA 32位.dll

时间:2013-10-22 12:47:14

标签: java dll jmf

系统: 赢7位64位

JMF通过启动JMstudio在我的系统上工作,它找到我的驱动程序并启动我的麦克风和网络摄像头。但是,当我运行Netbeans代码时,它不起作用。

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

我安装了32位Java JDK, 将DLL从JMF安装文件夹移动到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)

2 个答案:

答案 0 :(得分: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 :(得分:0)

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

有关更多信息,请参阅eclipse论坛: https://www.eclipse.org/forums/index.php/t/781808/