SpeechToText js : merge stop event handlers

This commit is contained in:
Matt Flax 2025-05-11 20:06:56 +10:00
parent edb51373b2
commit 323dadfe29

View file

@ -94,22 +94,27 @@
recognition.start();
});
recognition.onresult = function(event) {
const transcript = event.results[0][0].transcript;
// Combined event handler function for speech recognition events
function handleSpeechEvent(eventType, event) {
// Set LED back to gray for all events
led.style.backgroundColor = 'gray';
// Try to populate the chat input directly
const success = populateChatInput(transcript);
if (!success)
console.error('populateChatInput failed');
};
if (eventType === 'result') {
const transcript = event.results[0][0].transcript;
recognition.onerror = function(event) {
console.error('Speech recognition error', event.error);
led.style.backgroundColor = 'gray';
};
// Try to populate the chat input directly
const success = populateChatInput(transcript);
if (!success)
console.error('populateChatInput failed');
}
else if (eventType === 'error') {
console.error('Speech recognition error', event.error);
}
// 'end' event requires no special handling beyond resetting the LED
}
recognition.onend = function() {
led.style.backgroundColor = 'gray';
};
// Set up event handlers using the combined function
recognition.onresult = function(event) { handleSpeechEvent('result', event); };
recognition.onerror = function(event) { handleSpeechEvent('error', event); };
recognition.onend = function() { handleSpeechEvent('end'); };
})();