首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML5语音识别,等待用户应答

HTML5语音识别,等待用户应答
EN

Stack Overflow用户
提问于 2016-01-10 14:57:04
回答 1查看 424关注 0票数 0

我在玩HTML5语音识别。

目前,我有这样一个功能:

代码语言:javascript
运行
复制
doSomething() {
  listen("name");
  console.log("done");
}

“侦听”功能目前的工作方式如下:

代码语言:javascript
运行
复制
recognition =  new webkitSpeechRecognition();
recognition.lang = "de-DE";
recognition.continuous = false;
//recognition.interimResults = true;
recognition.onresult = function(event) {
    result = event.results[event.resultIndex];

    confidence = result[0].confidence;
    result = result[0].transcript.trim();
};

//TODO: remove old results, work with results

recognition.start();

正在发生的事情是,Chrome要求麦克风访问并直接执行console.log。我想让console.log等到语音识别完成。如下所示:

  1. Chrome要求麦克风访问
  2. 用户说了什么
  3. 有些事情是用用户的话做的
  4. console.log和接下来的一切都将被执行。

我怎么能这么做?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-01-10 20:40:27

Javascript编程是事件驱动。代码不是要执行的语句序列,而是要处理的事件和对它们的反应的描述。

如果您想对已识别的语音执行某些操作,则需要将其放入偶数处理程序中,在您的示例中:

代码语言:javascript
运行
复制
recognition.onresult = function(event) {
    result = event.results[event.resultIndex];

    confidence = result[0].confidence;
    result = result[0].transcript.trim();
    console.log("done")
};

您可以访问处理程序函数中的变量,并执行更复杂的操作。

对于web上的事件驱动编程有很多解释,但最完整的解释是第17章处理JavaScript:权威指南,第6版的事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34706830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档