Mr.Pierrot
Mr.Pierrot

Reputation: 61

Uncaught TypeError: SpeechRecognition is not a constructor at app.js:5

I'm coding a voice reconition assitant to make it work in my web page but I got this error: Uncaught TypeError: SpeechRecognition is not a constructor at app.js:5(I'm using Google Chrome browser).

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, You Can Speak');
};

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

btn.addEventListener('click', () => {
   recognition.start();
});
<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>MY ASSISTANT</title>
   </head>
   <body>
      <h1>Hello World</h1>
      <img src="#" alt=""></img>
      <button class="talk">Talk</button>
      <h1 class="content"></h1>

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

Upvotes: 6

Views: 10477

Answers (4)

yujin
yujin

Reputation: 1

SpeechRecognition does not exist.

Try using webkitSpeechRecognition.It worked for me.

This is for Chrome browser clients

Upvotes: 0

All in one 123456
All in one 123456

Reputation: 21

if you are running in firefox so speechRecognition not supported on

Upvotes: 0

user10299702
user10299702

Reputation:

Found a solution, let the variable be webkitSpeechRecognition, without || operator. Because Google actually uses this constructor with a prefix WebKit.

Upvotes: 0

Jack Bashford
Jack Bashford

Reputation: 44125

You need to make sure you keep the correct capitaliazation - it's webkitSpeechRecognition (uppercased R).

const SpeechRecognition = window.speechRecognition || window.webkitSpeechRecognition;
console.log(new SpeechRecognition());

Upvotes: 5

Related Questions