UNPKG

mmi-js

Version:

Multi-Modal Input Library for voice, gesture, and traditional inputs.

26 lines (23 loc) 757 B
class VoiceInput { constructor(eventBus) { this.eventBus = eventBus; const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; if (SpeechRecognition) { this.recognition = new SpeechRecognition(); this.recognition.continuous = true; this.recognition.onresult = this.handleResult.bind(this); this.recognition.start(); } else { console.warn('Web Speech API not supported.'); } } handleResult(event) { for (let i = event.resultIndex; i < event.results.length; ++i) { if (event.results[i].isFinal) { const transcript = event.results[i][0].transcript.trim(); this.eventBus.emit('voice', { transcript }); } } } } export default VoiceInput;