【问题标题】:Speech Recognition: recognition.onresult() does not fire语音识别:recognition.onresult() 不触发
【发布时间】:2021-08-05 02:37:29
【问题描述】:

我正在尝试学习需要 Chrome 语音识别 API 的教程。 recognition.onstart 运行良好,但 recognition.onresult 永远不会被解雇。我正在使用 Javascript。

如何修改我的代码?

(Chrome 版本:92.0.4515.107)。

Javascript:

const btn = document.querySelector('.talk');
const content = document.querySelector('.content');

const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;

const recognition = new SpeechRecognition();

recognition.onstart = function(){
    console.log('voice is activated');
};

recognition.onresult = function(e){
    console.log(e);
};


btn.addEventListener('click', () => {
    recognition.start();
});

这是我的 HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Voice AI</title>
</head>
<body>
    <button class="talk">Talk</button>
    <h3 class="content"></h3>

    <script src="script.js"></script>
</body>
</html>

谢谢。

【问题讨论】:

    标签: javascript html google-chrome


    【解决方案1】:

    你试试这个方法

      function detectedVoice(){
        var ses = new webkitSpeechRecognition();
        ses.interimResults = true;``
        ses.maxAlternatives = 1;
        ses.continuous = true;
        ses.interimResults = true;
        ses.onstart = true;
        ses.onend = function() {
          ses.start();
        };
        ses.onresult = function(e){
          if (event.results.length > 0) {
            sonuc = event.results[event.results.length -1];
            if (sonuc.isFinal) {
              var result = sonuc[0].transcript;
              console.log(result);
            }
          }
        }
      }
    

    【讨论】:

      猜你喜欢
      • 2013-01-23
      • 1970-01-01
      • 2011-11-01
      • 2018-04-17
      • 1970-01-01
      • 2018-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多