有人解决这个问题了吗? 我也遇到了,没搞定. Caused by: com.jacob.com.ComFailException: Can't get object clsid from progid at com.jacob.com.Dispatch.createInstanceNative(Native Method) at com.jacob.com.Dispatch.<init>(Dispatch.java:99) at com.hr.machine.zkem.m200.MachineCOM.initCOM(MachineCOM.java:9)
speech sdk5.1;
jacob是1.9的
解压缩之后有三个文件jacob.dll,jacob.jar,version.properties;
jacob.dll已经放到了C:\Windows\system32\下 ,以防万一,也在java\jdk1.6.0\bin\和java\jdk1.6.0\jre\bin都放了一份之后把jacob.jar,version.properties两个文件都在目录java\jdk1.6.0\bin\lib
和java\jdk1.6.0\jre\bin\lib以及java\jdk1.6.0\jre\bin\lib\ext下复制了一份.
然后编译如下程序,借鉴的网上http://topic.csdn.net/t/20060309/20/4604276.html代码import com.jacob.com.*;
import com.jacob.activeX.*;public class TestOLE
{
public static void main(String[] args)
{
ActiveXComponent sap = new ActiveXComponent("Sapi.SpVocie");
{
Dispatch sapo = sap.getObject();
boolean flag = false;
try
{
//调整音量和读的速度
sap.setProperty("Volume",new Variant(100));
sap.setProperty("Rate",new Variant(0));
//这一句是读出来abc这三个字母的
Dispatch.call(sapo,"Speak",new Variant("abc"));
flag = true;
}
catch(Exception e)
{
flag = false;
e.printStackTrace();
}
finally
{
if(flag)
{
System.out.println("Over!");
}
else
System.out.println("Application end with exception!");
}
}
}
}
编译通过
运行时出现
如下错误
Exception in thread "main" com.jacob.com.ComFailException: Can't get object clsid from progid
at com.jacob.com.Dispatch.createInstance(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:146)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
at com.HelloWorld.main(HelloWorld.java:12)
结贴走人.
禁后有幸搜到这里的人可与我联系.不回是小狗.
331314184
xp
word2003
推荐参考例程:http://danadler.com/jacob/
我也遇到了,没搞定.
Caused by: com.jacob.com.ComFailException: Can't get object clsid from progid
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:99)
at com.hr.machine.zkem.m200.MachineCOM.initCOM(MachineCOM.java:9)