es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo llamar a 2 funciones diferentes usando un botón de alternancia en JavaScript vanilla?

Estoy usando annyang.js para reconocimiento de voz que tiene 2 funciones diferentes, para comenzar annyang.start() y para detener annyang.abort().
¿Cómo puedo hacer un botón de alternancia que dispare ambas funciones?

Mi código:

<div class="action" onclick="actionToogle()">

JS:

<script>
    function actionToogle() {
      var action = document.querySelector(".action");
      action.classList.toggle("active",annyang.start());
    }
  </script>

Actualmente solo inicia el reconocimiento con annyang.start(), pero quiero que cada vez que haga clic en el botón, el reconocimiento se detenga con annyang.abort().

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear un botón de alternancia que active tanto annyang.start() como annyang.abort(), puedes modificar la función actionToggle() de la siguiente manera:

    function actionToggle() {
      var action = document.querySelector(".action");
    
      if (action.classList.contains("active")) {
        action.classList.remove("active");
        annyang.abort();
      } else {
        action.classList.add("active");
        annyang.start();
      }
    }
    

    Esta función verifica si el elemento .action tiene la clase active. Si la tiene, elimina la clase y llama a annyang.abort() para detener el reconocimiento de voz. Si no tiene la clase, la agrega y llama a annyang.start() para iniciar el reconocimiento de voz. Esto crea un efecto de alternancia en el que hacer clic en el botón alterna entre iniciar y detener el reconocimiento de voz.

Comments are closed.