Я кодирую помощника по преобразованию голоса, чтобы он работал на моей веб-странице, но я получил эту ошибку: Uncaught TypeError: SpeechRecognition не является конструктором в app.js: 5 (я использую браузер Google Chrome).
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>
Вы должны убедиться, что используете правильную прописную букву - это webkitSpeechRecognition (в верхнем регистре R).
webkitSpeechRecognition
R
const SpeechRecognition = window.speechRecognition || window.webkitSpeechRecognition; console.log(new SpeechRecognition());