Если, то Заявления в распознавании речи HTML [закрыто]

-3

Итак, я пытаюсь сделать голосового помощника 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 ошибочен, и если вы проверите консоль разработчика своего браузера, вы увидите это.
  • 1
    Операторы if в JavaScript
Теги:
CodeFix

1 ответ

0
Лучший ответ

В вашем коде есть несколько проблем:

  • В вашем операторе 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>

Если вы скажете "привет", вы должны увидеть: Изображение 291446

Поделиться
Источник

Другие вопросы

  • Состояние редактирования внутри модального окна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 ответ

    У меня есть меню боковой панели, которое было успешно скрыто и отображено. Когда меню боковой панели скрыто и я обновляю страницу или браузер, скрытое меню боковой панели вернется к своему первоначальному виду, а не в том положении, в котором оно было скрыто. Вопрос в том, как заблокировать, чтобы о...

CodeFix
Цитата дня

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

Эндрю Таненбаум