前景提要
HDC调试需求开发(15万预算),能者速来!>>>
公司的一个监控项目,实现监控信息语音告警。 过程是这样的,通过项目产生监控信息文件。通过传输模块传输到PC上的某个文件夹。 我用jacob写了一个简单的语音文本转语音程序,打成jar包在pc上运行,隔一段时间去扫描文件夹,将文件夹下面的文件内容转换成语音播放出来。 对于某些报警来说,不会报错,但是对另外一些报警就会把报错com.jacob.com.ComFailException: Invoke of: Speak 实在找不到是哪的问题,希望大神能帮我解答,不胜感激!
下面是代码:就是Dispatch.call..这一行报的错
public void speak(String context){ ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice"); Dispatch sapo = sap.getObject(); Calendar calendar = Calendar.getInstance(); String time = ""; try { // 音量 0-100 sap.setProperty("Volume", new Variant(100)); // 语音朗读速度 -10 到 +10 sap.setProperty("Rate", new Variant(0)); // 执行朗读 time = formatCal(calendar); System.out.println(time +":执行朗读,"+context); String logString = time +":执行朗读,"+context; logs(logString,null); Dispatch.call(sapo, "Speak", new Variant(context)); } catch (Exception e) { System.out.println(time +"语音播放错误!"+context); String logString = time +"语音播放错误!"+context; logs(logString,"d:/speak/speechError/speechError.txt"); e.printStackTrace(); } finally { sapo.safeRelease(); sap.safeRelease(); }