Guest User

Untitled

a guest
Jul 21st, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. (() => {
  2. const actionMap = {
  3. space: () => console.log("---------------------------"),
  4. dispatch: () => window.dispatchEvent(new CustomEvent("printstate"))
  5. };
  6. const actions = Object.keys(actionMap);
  7. let lastActionTime = Date.now();
  8.  
  9. if (window.recognition) window.recognition.stop();
  10. window.recognition = new webkitSpeechRecognition();
  11. recognition.continuous = true;
  12. recognition.interimResults = true;
  13. recognition.onerror = console.error;
  14.  
  15. recognition.onresult = event => {
  16. const lastResult = event.results[event.results.length - 1];
  17. if (lastResult.isFinal) return;
  18. const transcript = lastResult[0].transcript.trim();
  19. const action = actions.find(key => transcript === key);
  20. if (action && Date.now() - lastActionTime > 1000) {
  21. actionMap[action]();
  22. lastActionTime = Date.now();
  23. }
  24. };
  25.  
  26. recognition.start();
  27. })();
Add Comment
Please, Sign In to add comment