Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

L'interface SpeechSynthesisUtterance de l'API Web Speech représente une requète de synthèse vocale. Elle contient le contenu du service permettant de définir la façon dont elle sera lu (langue, hauteur et volume).

Constructor

SpeechSynthesisUtterance.SpeechSynthesisUtterance()
Retourne une nouvelle instance de l'objet SpeechSynthesisUtterance.

Properties

SpeechSynthesisUtterance also inherits properties from its parent interface, EventTarget.

SpeechSynthesisUtterance.lang
Gets and sets the language of the utterance.
SpeechSynthesisUtterance.pitch
Gets and sets the pitch at which the utterance will be spoken at.
SpeechSynthesisUtterance.rate
Gets and sets the speed at which the utterance will be spoken at.
SpeechSynthesisUtterance.text
Gets and sets the text that will be synthesised when the utterance is spoken.
SpeechSynthesisUtterance.voice
Gets and sets the voice that will be used to speak the utterance.
SpeechSynthesisUtterance.volume
Gets and sets the volume that the utterance will be spoken at.

Event handlers

SpeechSynthesisUtterance.onboundary
Fired when the spoken utterance reaches a word or sentence boundary.
SpeechSynthesisUtterance.onend
Fired when the utterance has finished being spoken.
SpeechSynthesisUtterance.onerror
Fired when an error occurs that prevents the utterance from being succesfully spoken.
SpeechSynthesisUtterance.onmark
Fired when the spoken utterance reaches a named SSML "mark" tag.
SpeechSynthesisUtterance.onpause
Fired when the utterance is paused part way through.
SpeechSynthesisUtterance.onresume
Fired when a paused utterance is resumed.
SpeechSynthesisUtterance.onstart
Fired when the utterance has begun to be spoken.

Examples

In our basic Speech synthesiser demo, we first grab a reference to the SpeechSynthesis controller using window.speechSynthesis. After defining some necessary variables, we retrieve a list of the voices available using SpeechSynthesis.getVoices() and populate a select menu with them so the user can choose what voice they want.

Inside the inputForm.onsubmit handler, we stop the form submitting with preventDefault(),  use the constructor to create a new utterance instance containing the text from the text <input>, set the utterance's voice to the voice selected in the <select> element, and start the utterance speaking via the SpeechSynthesis.speak() method.

var synth = window.speechSynthesis;

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

var voices = synth.getVoices();

for(i = 0; i < voices.length ; i++) {
  var option = document.createElement('option');
  option.textContent = voices[i].name + ' (' + voices[i].lang + ')';
  option.setAttribute('data-lang', voices[i].lang);
  option.setAttribute('data-name', voices[i].name);
  voiceSelect.appendChild(option);
}

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);
  inputTxt.blur();
}

Specifications

Specification Status Comment
Web Speech API
La définition de 'SpeechSynthesisUtterance' dans cette spécification.
Projet  

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 33 (Oui) 49 (49) Pas de support (Oui) 7
Feature Android Chrome Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support (Oui) (Oui) (Oui) Pas de support 2.0 Pas de support Pas de support 7.1

See also

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : necraidan
 Dernière mise à jour par : necraidan,