Javascript语音识别可以';课堂上没有语音输入

Javascript语音识别可以';课堂上没有语音输入,javascript,html,speech-recognition,voice-recognition,speech-to-text,Javascript,Html,Speech Recognition,Voice Recognition,Speech To Text,我在使用JavaScript语音识别API接收和存储语音输入时遇到问题。我遵循了一些教程,正确地设置了所有内容,并使代码正常工作。然后我决定创建一个名为AI的类,它可以存储最新的输入,并最终添加一些语音解析方法。但是,当我将recognition.onresult函数放入类中时,语音命令没有存储到ai.recentCommand变量中。相反,它只会打印“无”。这是我到目前为止所拥有的 class AI { constructor() { this.recentCommand = "n

我在使用JavaScript语音识别API接收和存储语音输入时遇到问题。我遵循了一些教程,正确地设置了所有内容,并使代码正常工作。然后我决定创建一个名为AI的类,它可以存储最新的输入,并最终添加一些语音解析方法。但是,当我将recognition.onresult函数放入类中时,语音命令没有存储到ai.recentCommand变量中。相反,它只会打印“无”。这是我到目前为止所拥有的

class AI {
  constructor() {
    this.recentCommand = "none";
    this.recognition = new webkitSpeechRecognition();
    this.recognition.lang = 'en-US';
    this.recognition.interimResults = false;
    this.recognition.maxAlternatives = 5;
  }
  getInput() {
    this.recognition.onresult = function(event) {
        this.recentCommand = event.results[0][0].transcript;}
    this.recognition.start();
  }
}

var button = document.getElementById("button");
var output = document.getElementById("output");

var ai = new AI();

// Gets input fine, but I want to use the getInput() method instead
ai.recognition.onresult = function(event) {
  ai.recentCommand = event.results[0][0].transcript;
}
ai.recognition.start();

// I want to get the input through the ai.getInput() method, but isn't working
ai.getInput();

button.addEventListener("click", function() {output.innerHTML =
    ai.recentCommand});
它是否与函数中的函数有关?任何帮助都将不胜感激。
提前感谢。

请为您的问题提供一个适当的标题,以反映问题所在。请解释一下“拒绝工作”是什么意思。对不起,先发到这个网站。我会继续修改标题。重复Javascript疯狂,基本上你访问了错误的“this”。谢谢你的评论。请给你的问题一个适当的标题,反映问题。请解释一下“拒绝工作”是什么意思。对不起,先发到这个网站。我会继续更改标题。重复Javascript疯狂,基本上你访问了错误的“this”。谢谢你的评论