SpeechSynthesisUtterance.onend

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The onend property of the SpeechSynthesisUtterance interface represents an event handler that will run when the utterance has finished being spoken (when the end event fires.)

Syntax

speechSynthesisUtteranceInstance.onend = function() { ... };

Examples

var synth = window.speechSynthesis;

var inputForm = document.querySelector('form');
var inputTxt = document.querySelector('input');
var voiceSelect = document.querySelector('select');

var voices = synth.getVoices();

  ...

inputForm.onsubmit = function(event) {
  event.preventDefault();

  var utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  var selectedOption = voiceSelect.selectedOptions[0].getAttribute('data-name');
  for(i = 0; i < voices.length ; i++) {
    if(voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }

  synth.speak(utterThis);

  utterThis.onend = function(event) {
    console.log('Utterance has finished being spoken after ' + event.elapsedTime + ' milliseconds.');
  }

  inputTxt.blur();
}

Specifications

Specification Status Comment
Web Speech API
The definition of 'onend' in that specification.
Draft  

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support33 Yes49 No217
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support3333 Yes

62

61 — 621

No7.1 ?

1. From version 61 until version 62 (exclusive): this feature is behind the media.webspeech.synth.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

Document Tags and Contributors

Contributors to this page: connorshea, abbycar, chrisdavidmills
Last updated by: connorshea,