Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (() => {
- const actionMap = {
- space: () => console.log("---------------------------"),
- dispatch: () => window.dispatchEvent(new CustomEvent("printstate"))
- };
- const actions = Object.keys(actionMap);
- let lastActionTime = Date.now();
- if (window.recognition) window.recognition.stop();
- window.recognition = new webkitSpeechRecognition();
- recognition.continuous = true;
- recognition.interimResults = true;
- recognition.onerror = console.error;
- recognition.onresult = event => {
- const lastResult = event.results[event.results.length - 1];
- if (lastResult.isFinal) return;
- const transcript = lastResult[0].transcript.trim();
- const action = actions.find(key => transcript === key);
- if (action && Date.now() - lastActionTime > 1000) {
- actionMap[action]();
- lastActionTime = Date.now();
- }
- };
- recognition.start();
- })();
Add Comment
Please, Sign In to add comment