KingNish commited on
Commit
0ff2d62
1 Parent(s): d939569

Update script1.js

Browse files
Files changed (1) hide show
  1. script1.js +8 -2
script1.js CHANGED
@@ -14,6 +14,7 @@ let completeTranscript = '';
14
  let isRequestInProgress = false;
15
  let isUserSpeaking = false;
16
  let isSpeechRecognitionActive = false;
 
17
  let requestAbortController = null;
18
  let partialTranscript = '';
19
  let lastUserSpeechTimestamp = null;
@@ -442,17 +443,22 @@ if ('webkitSpeechRecognition' in window) {
442
  completeTranscript = '';
443
  }
444
 
445
- if (isSpeechRecognitionActive) speechRecognizer.start();
 
 
 
446
  };
447
 
448
  startStopButton.addEventListener('click', () => {
449
  if (isSpeechRecognitionActive) {
450
  speechRecognizer.stop();
451
  isSpeechRecognitionActive = false;
 
452
  startStopButton.innerHTML = '<svg id="microphoneIcon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg> Start Listening';
453
  } else {
454
  speechRecognizer.start();
455
  isSpeechRecognitionActive = true;
 
456
  startStopButton.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 9h6v6h-6z"></path><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg> Stop Listening';
457
  }
458
  });
@@ -531,4 +537,4 @@ const updateLatency = () => {
531
  }
532
  };
533
 
534
- setInterval(updateLatency, 100);
 
14
  let isRequestInProgress = false;
15
  let isUserSpeaking = false;
16
  let isSpeechRecognitionActive = false;
17
+ let userManuallyStoppedRecognizer = false;
18
  let requestAbortController = null;
19
  let partialTranscript = '';
20
  let lastUserSpeechTimestamp = null;
 
443
  completeTranscript = '';
444
  }
445
 
446
+ // Only restart if the user hasn't manually stopped the recognizer
447
+ if (isSpeechRecognitionActive && !userManuallyStoppedRecognizer) {
448
+ speechRecognizer.start();
449
+ }
450
  };
451
 
452
  startStopButton.addEventListener('click', () => {
453
  if (isSpeechRecognitionActive) {
454
  speechRecognizer.stop();
455
  isSpeechRecognitionActive = false;
456
+ userManuallyStoppedRecognizer = true; // Set to true when manually stopped
457
  startStopButton.innerHTML = '<svg id="microphoneIcon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg> Start Listening';
458
  } else {
459
  speechRecognizer.start();
460
  isSpeechRecognitionActive = true;
461
+ userManuallyStoppedRecognizer = false; // Set to false when started
462
  startStopButton.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 9h6v6h-6z"></path><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg> Stop Listening';
463
  }
464
  });
 
537
  }
538
  };
539
 
540
+ setInterval(updateLatency, 100);