Если, то Заявления в распознавании речи HTML [закрыто]
Итак, я пытаюсь сделать голосового помощника html, и я борюсь с операторами if / then. Вот что у меня есть на данный момент.
<!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>Document</title>
</head>
<body>
<!-- Input area -->
<p id="output">Output:</p>
<label for="Argon">Argon</label>
<input type="text" name="" id="speechToText" placeholder="Say a Command" onclick="record()">
<button type="button" onclick="record()">Start Listening</button>
<button type="button" onclick ="record()">Stop Listening</button>
<!-- Below is the script for voice recognition and conversion to text-->
<script>
function record() {
var recognition = new webkitSpeechRecognition();
recognition.lang = "en-GB";
recognition.onresult = function(event) {
// console.log(event);
document.getElementById('speechToText').value = event.results[0][0].transcript;
}
recognition.start();
}
if transcript = "hello"; {
document.getElementById("output").innerHTML = "YESSS";
}
</script>
<!-- end of script -->
</body>
</html>
Моя проблема в том, что я не мог найти способ преобразовать текст из распознавания речи в операторы if / then. Например, если бы я сказал «привет» при распознавании речи, javascript увидел бы «привет» и в коде запустил бы «привет, пользователь» или что-то в этом роде. Как я мог это сделать. Если бы кто-нибудь мог дать мне ответ, это было бы ОЧЕНЬ полезно, так как тогда я мог бы просто добавлять команды. Я застрял на этом довольно давно, поэтому было бы здорово, если бы кто-нибудь мог помочь. Опять же, вот часть, над которой я работаю:
<script>
function record() {
var recognition = new webkitSpeechRecognition();
recognition.lang = "en-GB";
recognition.onresult = function(event) {
// console.log(event);
document.getElementById('speechToText').value = event.results[0][0].transcript;
}
recognition.start();
}
if transcript = "hello"; {
document.getElementById("output").innerHTML = "YESSS";
}
</script>
Это моя первая публикация здесь, поэтому я новичок в этом сообществе, поэтому надеюсь, что я разместил этот вопрос правильно и четко. Спасибо :)
-
4Ваш синтаксис JavaScript ошибочен, и если вы проверите консоль разработчика своего браузера, вы увидите это. Pointy
-
1Операторы if в JavaScript Chloe Anderson

1 ответ
В вашем коде есть несколько проблем:
- В вашем операторе if есть синтаксическая ошибка.
if (condition == true)
правильный синтаксис в javascript. См. Учебное пособие по W3Schools. - Ваш
transcript
не определен. Основываясь на том, что вы описали, я думаю, вы хотели бы вложить его вonresult
событие, которое запускается при распознавании слова или фразы.
Вот рабочий пример:
<!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>Document</title>
</head>
<body>
<!-- Input area -->
<p id="output">Output:</p>
<label for="Argon">Argon</label>
<input type="text" name="" id="speechToText" placeholder="Say a Command" onclick="record()">
<button type="button" onclick="record()">Start Listening</button>
<button type="button" onclick ="record()">Stop Listening</button>
<!-- Below is the script for voice recognition and conversion to text-->
<script>
function record() {
var recognition = new webkitSpeechRecognition();
recognition.lang = "en-GB";
recognition.start();
recognition.onresult = function(event) {
let transcript = event.results[0][0].transcript;
if (transcript === "hello") {
document.getElementById("output").innerHTML = "YESSS";
}
document.getElementById('speechToText').value = event.results[0][0].transcript;
}
}
</script>
<!-- end of script -->
</body>
</html>
Если вы скажете "привет", вы должны увидеть:
Другие вопросы
- Состояние редактирования внутри модального окна1 ответ
Я делаю небольшое приложение для заметок. Когда пользователь пишет свой заголовок и заметку и нажимает «Отправить», заметка помещается на страницу ... Я хочу иметь возможность редактировать заметку. При нажатии кнопки редактирования появляется модальное окно, и я хочу, чтобы заголовок и примечание п...
- Выберите элемент, необходимый в vuejs, не работает1 ответ
Я новичок в vuejs. Я хочу сделать элемент выбора из раскрывающегося списка обязательным, я попытался добавить требуемый атрибут, как в приведенном ниже коде. <v-select :items="fournisseursByClient" ...
- Функция клавиатуры работает только один раз для первой буквы ввода2 ответ
У меня есть текстовый ввод, где пользователь вводит желаемое имя страницы<input type='text' id='pageName' name='PageName' class='form-control pageName'> Я пытаюсь использовать функцию keyup для запуска Ajax, чтобы проверить, существует ли страница, однако при вводе чего-то вродеindex Ajax от...
- как добавить ссылки на липкую панель навигации1 ответ
Я попытался добавить фоновое изображение для своего веб-сайта django, и это вообще не сработало. Я использую этот ответ из stackoverflow, а также ссылку на вопрос stackoverflow. Но это не сработало. А также я переношу изменения в базу данных. добавить фоновое изображение как в методе cssbackground-i...
- Написание умных средств защиты типов для типов объединения и обобщений1 ответ
У меня следующая структура:const fragmentTypes = [ 'Word', 'Sentence', ] as const; type FragmentType = typeof fragmentTypes[number]; interface IFragmentData { type: FragmentType; } interface IFragment<T extends IFragmentData> { id: string; type: T['type']; data: Omit&...
- Включение и отключение кнопки отправки с флажками1 ответ
Я использую Formik для своих форм React, которые я тоже довольно новичок, у меня есть форма с двумя флажками и кнопкой отправки, которая по умолчанию отключена. Мне нужно найти способ проверить, установлен ли флажок. Если все два флажка были отмечены, кнопка отправки активна, а если какой-либо из ни...
- Состояние реакции не меняется после нажатия какой-либо кнопки2 ответ
После вызоваhandleButton нажав наLog In кнопку один раз, значениеlogInStatus пустой. Однако после второго щелчка значениеlogInStatus изменится. Я знаю, что setState - это асинхронный вызов, поэтому он не будет обновлять значениеlogInStatus немедленно. Как мне подойти к решению?import React, {setStat...
- Регулярное выражение Javascript возвращает null для ссылок Markdown1 ответ
На этот вопрос уже есть ответ : Почему это регулярное выражение javascript не работает? (1 ответ) Закрыт 11 дней назад . Я хочу преобразовать ссылки Markdown в массив, где первый элемент является URL-адресом, а второй элемент - отображаемой ссылкой. Я написал этот код для его анализа:const input = ...
- Как я могу получить счетчик из setInterval?3 ответ
У меня есть интервал, через который нужно выполнить несколько HTTP-запросов через одну минуту setInterval(() => { this.takeTableDataCallInterval(); }, 60000); Как я могу получить счетчик минус из моего номера интервала? Например, каждую секунду я хочу показывать что-то вроде60 second...
- Как заблокировать меню боковой панели, скрытое при обновлении страницы1 ответ
У меня есть меню боковой панели, которое было успешно скрыто и отображено. Когда меню боковой панели скрыто и я обновляю страницу или браузер, скрытое меню боковой панели вернется к своему первоначальному виду, а не в том положении, в котором оно было скрыто. Вопрос в том, как заблокировать, чтобы о...

"Завидую тестировщикам: все хотят с ними дружить."