首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webkitSpeechRecognition在start()之后立即调用onend

webkitSpeechRecognition在start()之后立即调用onend
EN

Stack Overflow用户
提问于 2020-05-31 18:12:35
回答 1查看 207关注 0票数 1

只要我调用rec.start(),它就会直接调用onstart和onend,再也不会进入onresult。

麦克风是允许用于网页的,它曾经问过一次,因为在osx上使用Chrome81.0.4044.122是https,这被列为支持speechRecognition。

我知道这在浏览器中不是一个稳定的特性,但是运行安阳演示,检测我的声音,我相信这是使用相同的speechRecognition工具包。https://www.talater.com/annyang/

有什么想法吗?

以下是我的代码

代码语言:javascript
复制
if (!window.webkitSpeechRecognition) {
  // not called, so assume browser supports webkitSpeechRecognition
  alert('Your browser doesn\'t support speech to text.\nTry Chrome 33+ :)');
} else {
  const promise = new Promise((resolve, reject) => {
    const recognition = new webkitSpeechRecognition();
    recognition.lang = lang;
    recognition.continuous = true; // tried true and false

    recognition.onstart = (e) => {
      // called immediately after .start() as expected
      console.log("onstart");
    }
    recognition.onend = () => {
      // called immediately after onstart, not as expected
      console.log("onend");
    }
    recognition.onresult = function(event) {
      // never called, because it ended as soon as it started
      console.log("onresult");
    };
    // also tried the following formats
    // recognition.onresult = (event) => {};
    // recognition.addEventListener('onresult', (event) => {};
    // original example written like the following
    // recognition.addEventListener('result', (event) => {};

    recognition.start();
  });
  return await promise;
}
EN

回答 1

Stack Overflow用户

发布于 2020-05-31 18:29:35

抱歉,伙计们,这是浏览器问题。

Chrome说它已经更新了,但实际上它仍然需要重新启动,只有在进入Chrome偏好设置后才能看到。

我现在在台式机和Android平板电脑上都有83.0.4103.83,看起来工作正常。

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

https://stackoverflow.com/questions/62114630

复制
相关文章

相似问题

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