spremic
Version:
A simple JavaScript speech recognition library.
1 lines • 1.68 kB
JavaScript
!function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(self,(()=>(()=>{"use strict";var e={948:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.default=class{constructor(){this.recognition=null,this.recognizedText="",this.onRecognitionEndCallback=null,"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.setupRecognition()):console.error("Speech recognition is not supported in this browser.")}setupRecognition(){this.recognition&&(this.recognition.continuous=!0,this.recognition.onresult=e=>{const o=e.results[e.results.length-1];this.recognizedText=o[0].transcript},this.recognition.onerror=e=>{console.error("Speech recognition error:",e.error)},this.recognition.onend=()=>{this.onRecognitionEndCallback&&this.onRecognitionEndCallback()})}startRecognition(){this.recognition&&this.recognition.start()}stopRecognition(){this.recognition&&this.recognition.stop()}getRecognizedText(){return this.recognizedText}textToSpeech(e){const o=new SpeechSynthesisUtterance(e);window.speechSynthesis.speak(o)}set onRecognitionEnd(e){this.onRecognitionEndCallback=e}}},740:function(e,o,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(o,"__esModule",{value:!0});const i=n(t(948));o.default=i.default}},o={};return function t(n){var i=o[n];if(void 0!==i)return i.exports;var r=o[n]={exports:{}};return e[n].call(r.exports,r,r.exports,t),r.exports}(740)})()));