【问题标题】:"Uncaught (in promise): TypeError: webkitSpeechRecognition is not a constructor“未捕获(承诺中):TypeError:webkitSpeechRecognition 不是构造函数
【发布时间】:2020-01-04 01:00:41
【问题描述】:

我正在尝试让 SpeechRecognition 在 Firefox 中工作,并了解这是截至 2019 年 12 月上个月的问题。

这是我从基本用法开始关注的代码

WebKitSpeechRecognition

这是我在 Typescript 中的实现:

 /**
 * Start voice recognition.
 *
 * @param force (optional) force restart of listener service
 */
 public async startVoiceRecognition(force?: boolean): Promise<void> {

 console.log('Speech Recognition: ', window.SpeechRecognition, window.webkitSpeechRecognition)

 // **START New Code following example in link above**
 window.SpeechRecognition = window.webkitSpeechRecognition || window.SpeechRecognition;

     if ((window.webkitSpeechRecognition) && this.fSpeechRecognitionRunning) {
          // speech recognition API supported
          console.log('API Supported');
          this.recognition = new window.SpeechRecognition();
     } else {
          // speech recognition API not supported
          console.log('API Not Supported');  
          return;  
     }

     // **END New Code following example in link above**

     // **Original Code**
     // Check if Speech Recognition is available in this browser
     **if (!(window.webkitSpeechRecognition) && !this.fSpeechRecognitionRunning) {
         // console.log('Error: Speech not supported');
         return;
     }**

}

我一直得到的是:

错误错误:“未捕获(承诺):TypeError:webkitSpeechRecognition不是构造函数

我知道它在粗体行中,因为当我将 webkitSpeechRecognition 换成 SpeechRecognition 时,我仍然会收到与不同项目相同的错误...

错误错误:“未捕获(承诺中):TypeError:SpeechRecognition不是构造函数

最后,这是我的 polyfill.ts...

declare global {
  interface Window {
    AudioContext: typeof window.AudioContext;
    webkitAudioContext: typeof window.AudioContext;
    webkitSpeechRecognition: typeof window.SpeechRecognition;
  }
}

【问题讨论】:

    标签: typescript speech-recognition polyfills webkitspeechrecognition


    【解决方案1】:

    根据 MDN [https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/SpeechRecognition],只有 Chrome 支持 SpeechRecognition。 (截至 2020 年 1 月)

    【讨论】:

    猜你喜欢
    • 2022-06-20
    • 1970-01-01
    • 2018-12-11
    • 2020-11-20
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    相关资源
    最近更新 更多