для этого есть метод паузы и возобновления для window.speechSynthesis;
Для остановки:
speechSynthesis.pause(); // pauses utterances being spoken
см .: пауза
ДляРезюме:
speechSynthesis.resume(); /// resumes utters ,
см. резюме
отменить (остановить)
speechSynthesisInstance.cancel();
см. отменить
в соответствии с вашими условиями, вы можете вызвать эти методы
, другие методы см. здесь
ОБНОВЛЕНИЕ: -
это грубый код, измените в соответствии с вашими требованиями
HTML:
<input type="checkbox" id="onoff" name="onoff" >On/Off<br>
<br/>
<input type="button" name="start" onclick="speak();" value ="start" > On/Off
<br>
Сценарий:
<script>
var synth = window.speechSynthesis;
function speak(){
var utterThis = new SpeechSynthesisUtterance('My pleasure, poke me up if you need more info.'); //
synth.speak(utterThis);
}
//// on check box change event call this
$('#onoff').change(function() {
if($("#onoff").prop('checked') == true){
speechSynthesis.pause();
/// now I dont know you want to pause or stop, change it according to you
///requirment
}
else {
speechSynthesis.pause();
}
});
</script>
GITHUB - пример проекта