You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用annyang.js做语音识别时SpeechKITT.displayRecognizedSentence不是函数如何解决

问题解决方法

报错根因

你调用的SpeechKITT.displayRecognizedSentence是SpeechKITT早期测试版本的API,当前你引入的v1.0.0正式版已经废弃该方法,替换为功能完全一致的SpeechKITT.setRecognizedTextVisible(),入参规则不变,传true表示显示识别到的语句,传false表示隐藏。

修复方案

  • 把代码中SpeechKITT.displayRecognizedSentence(true);这一行替换为SpeechKITT.setRecognizedTextVisible(true);即可,其余配置无需改动,该报错和annyang库的引入方式无关
  • 如果替换API后仍有同类报错,检查资源引入顺序,确保先加载annyang、再加载SpeechKITT,所有依赖库加载完成后再执行业务逻辑

修正后完整代码

var commands = {
  'hello': function() { alert('Hello world!'); }
};

// 给annyang添加指令
annyang.addCommands(commands);

// 配置KITT使用annyang作为语音识别底层
SpeechKITT.annyang();

// 配置KITT的样式文件
SpeechKITT.setStylesheet('https://cdnjs.cloudflare.com/ajax/libs/SpeechKITT/1.0.0/themes/flat.css');

SpeechKITT.setInstructionsText('可以尝试以下指令…');

SpeechKITT.setSampleCommands(['说你好、Ok google等']);

// 替换为正式版支持的显示识别结果方法
SpeechKITT.setRecognizedTextVisible(true);

// 配置语音识别启动回调
SpeechKITT.setStartCommand(function() {
  console.info('语音识别已启动 ______________________________');
  annyang.start();
});

// 配置语音识别终止回调
SpeechKITT.setAbortCommand(function() {
  console.info('正在停止识别 ............................');
  annyang.abort();
});

// 渲染KITT交互界面
SpeechKITT.vroom();

内容的提问来源于stack exchange,提问作者ALEX1A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:06:03