Advertisement
luistavares

JavaScript - Comandos por voz com a Web Speech API

Mar 23rd, 2023
947
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 2.33 KB | Source Code | 0 0
  1. var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition
  2.  
  3. // Cria a instância do módulo de reconhecimento de voz.
  4. var recognition = new SpeechRecognition();
  5.  
  6. // Realiza configurações do módulo.
  7. recognition.continuous = true;
  8. recognition.lang = 'pt-BR';
  9. recognition.interimResults = false;
  10. recognition.maxAlternatives = 1;
  11.  
  12. // Acessa o elemento parágrafo em que irá apresentar os comandos recebidos.
  13. var diagnostic = document.querySelector('.output');
  14.  
  15. // Acessa o elemento div em que irá criar elementos P e H3 mediante comandos.
  16. var box = document.querySelector('#box');
  17.  
  18. // Evento que será chamado a cada reconhecimento processado.
  19. recognition.onresult = function(event) {
  20.  
  21.   // Pego o tamanho do array dos resultados de transcrição.
  22.   let length = event.results.length;  
  23.  
  24.   // Acesso o último resultado de transcrição usando o tamanho menos um, como primeiro índice.
  25.   let command = event.results[length-1][0].transcript;
  26.  
  27.   // Apresento o comando recebido no parágrafo que mostra ao usuário para verificação.
  28.   diagnostic.textContent = 'Resultado recebido: ' + command + '.';
  29.  
  30.   // Se o comando recebido for "abrir o google", este bloco é executado.
  31.   if (command.toLowerCase().indexOf("abrir google") > -1){
  32.     window.open('http://google.com', '_blank');
  33.   }
  34.   // Se o comando recebido for "abrir o w3 schools", este bloco é executado.
  35.   else if (command.toLowerCase().indexOf("abrir w3 schools") > -1){
  36.     window.open('https://www.w3schools.com', '_blank');
  37.   }
  38.   // Se o comando recebido for "criar parágrafo", este bloco é executado.
  39.   else if (command.toLowerCase().indexOf("criar parágrafo") > -1){
  40.     let paragrafo = document.createElement("p");
  41.     paragrafo.textContent = "Este é um novo parágrafo!";
  42.     let box = document.getElementById("box");
  43.     box.appendChild(paragrafo);
  44.   }
  45.   // Se o comando recebido for "criar título", este bloco é executado.
  46.   else if (command.toLowerCase().indexOf("criar título") > -1){
  47.     let titulo = document.createElement("h3");
  48.     titulo.textContent = "Este é um novo título!";
  49.     let box = document.getElementById("box");
  50.     box.appendChild(titulo);
  51.   }  
  52. }
  53.  
  54. document.querySelector('#btn-start').onclick = function() {
  55.   recognition.start();
  56. }
  57.  
  58. document.querySelector('#btn-stop').onclick = function() {
  59.   recognition.stop();
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement