mnfisher 2018-12-21 09:17 采纳率: 0%
浏览 3252

com.jacob.com.ComFailException: Invoke of: Speak总是报这个错,不知道为什么?

jacob报错图片说明
下面是代码:

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();
        }

  • 写回答

1条回答 默认 最新

  • 2019-06-28 14:24
    关注

    这个问题解决之后很简单, 是因为没有安装语音合成软件,通常用的有百度ai和espeak等,我用的是espeak 官网http://espeak.sourceforge.net/
    下载之后安装就可以了.

    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样