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();
}
com.jacob.com.ComFailException: Invoke of: Speak总是报这个错,不知道为什么?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 猫 2019-06-28 14:24关注
这个问题解决之后很简单, 是因为没有安装语音合成软件,通常用的有百度ai和espeak等,我用的是espeak 官网http://espeak.sourceforge.net/
下载之后安装就可以了.解决 1无用
悬赏问题
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振