语音识别在 Chrome 中不起作用

Fai*_*jad 5 html javascript speech-recognition google-chrome

我正在尝试使用下面的 javascript 代码从 chrome 浏览器访问音频,但是当我单击按钮时,事件recognition.onresult不会在 chrome 浏览器中触发,但是当我访问包含语音到文本的实时演示的在线网页时,它工作正常在 Chrome 浏览器中请帮忙。

<script type="text/javascript">
  var recognition = new SpeechRecognition();
  recognition.onresult = function(event)
  {
    if (event.results.length > 0) 
    {
       alert("Working");
    }
  }
</script>

<form>
  <input type="button" value="Click to Speak"onclick="recognition.start()">
</form>
Run Code Online (Sandbox Code Playgroud)

gae*_*noM 5

我刚刚在我的电脑上尝试过,它可以工作:

$(function () {
  try {
    var recognition = new webkitSpeechRecognition();
  } catch (e) {
    var recognition = Object;
  }
  recognition.continuous = true;
  recognition.interimResults = true;
  recognition.onresult = function (event) {
    var txtRec = '';
    for (var i = event.resultIndex; i < event.results.length; ++i) {
      txtRec += event.results[i][0].transcript;
    }
    $('#txtArea').val(txtRec);
  };
  $('#startRecognition').click(function () {
    $('#txtArea').focus();
    recognition.start();
  });
  $('#stopRecognition').click(function () {
    recognition.stop();
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="startRecognition">Start Recognition</button>
<button id="stopRecognition">Stop Recognition</button>
<textarea id="txtArea"></textarea>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@gaemaf,它现在可以工作了,实际上我是在本地作为 file:// 运行的,所以这就是它不工作的原因,我在本地主机上运行它,现在它可以工作了。 (3认同)
  • 每当浏览器询问您时,您都需要给予授权。我第一次执行脚本时就发生了这种情况。 (2认同)