java调用微软speechsdk51进行语音识别,用jacob.jar

水上冰石 2013-09-04 11:49:04
做语音识别,用java通过jacob.jar调用微软speechsdk51的com组件,卡在了调用语音识别引擎识别语法那个地方
...全文
623 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
风铃浩 2015-06-22
  • 打赏
  • 举报
回复
请问楼主,你的那个语音识别是怎么做的???
水上冰石 2013-09-07
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
怎么卡主的阿? 采样这些成功了么? 调用识别的时候前面操作是否成功?有无死锁或者阻塞问题?
还没进行采样这步,只是想能先调用方法,是不是我顺序做的有问题?
水上冰石 2013-09-07
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
怎么卡主的阿? 采样这些成功了么? 调用识别的时候前面操作是否成功?有无死锁或者阻塞问题?
初始化com组件没有报错,ComThread.InitMTA(); 往后这几步也没错 //ActiveXComponent jacobObject = new ActiveXComponent("Sapi.JacobObject"); ActiveXComponent spSharedRecoContext = new ActiveXComponent("Sapi.SpSharedRecoContext"); ActiveXComponent spSharedRecognizer = new ActiveXComponent("Sapi.SpSharedRecognizer"); ActiveXComponent spObjectToken = new ActiveXComponent("Sapi.SpObjectToken"); //Grammar Editor dspSharedRecoContext =(Dispatch) spSharedRecoContext.getObject(); dspSharedRecognizer=(Dispatch)spSharedRecognizer.getObject(); dspObjectToken=(Dispatch)spObjectToken.getObject(); //System.out.println(jacobObject.getProgramId()); System.out.println(dspSharedRecoContext.getProgramId()+","+dspSharedRecognizer.getProgramId()+","+dspObjectToken.getProgramId()); 问题出在这步:dspSharedRecognizer= Dispatch.call(dspSharedRecoContext,"GetRecognizer",new Variant()).toDispatch(); 似乎是找不到方法,报错为: com.jacob.com.ComFailException: Can't map name to dispid: GetRecognizer at com.jacob.com.Dispatch.invokev(Native Method) at com.jacob.com.Dispatch.invokev(Dispatch.java:625) at com.jacob.com.Dispatch.callN(Dispatch.java:453) at com.jacob.com.Dispatch.call(Dispatch.java:541) at Recognizer.recognize(Recognizer.java:42) at Recognizer.main(Recognizer.java:80)
max_min_ 2013-09-06
  • 打赏
  • 举报
回复
怎么卡主的阿? 采样这些成功了么? 调用识别的时候前面操作是否成功?有无死锁或者阻塞问题?

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧