SpeechSynthesisVoice
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.
Das SpeechSynthesisVoice-Interface der Web Speech API repräsentiert eine vom System unterstützte Stimme. Jede SpeechSynthesisVoice hat ihren eigenen Sprachdienst, der Informationen über Sprache, Name und URI enthält.
Instanz-Eigenschaften
SpeechSynthesisVoice.defaultSchreibgeschützt-
Ein boolescher Wert, der angibt, ob die Stimme die Standardstimme für die aktuelle App-Sprache ist (
true) oder nicht (false). SpeechSynthesisVoice.langSchreibgeschützt-
Gibt ein BCP 47-Sprachtag zurück, das die Sprache der Stimme angibt.
SpeechSynthesisVoice.localServiceSchreibgeschützt-
Ein boolescher Wert, der angibt, ob die Stimme von einem lokalen Sprachsynthesedienst (
true) oder einem entfernten Sprachsynthesedienst (false) bereitgestellt wird. SpeechSynthesisVoice.nameSchreibgeschützt-
Gibt einen menschenlesbaren Namen zurück, der die Stimme repräsentiert.
SpeechSynthesisVoice.voiceURISchreibgeschützt-
Gibt den URI-Typ und den Standort des Sprachsynthese-Dienstes für diese Stimme zurück.
Beispiele
Der folgende Ausschnitt ist aus unserem Speech synthesizer demo entnommen.
const synth = window.speechSynthesis; function populateVoiceList() { voices = synth.getVoices(); for (const voice of voices) { const option = document.createElement("option"); option.textContent = `${voice.name} (${voice.lang})`; if (voice.default) { option.textContent += " — DEFAULT"; } option.setAttribute("data-lang", voice.lang); option.setAttribute("data-name", voice.name); voiceSelect.appendChild(option); } } populateVoiceList(); if (speechSynthesis.onvoiceschanged !== undefined) { speechSynthesis.onvoiceschanged = populateVoiceList; } inputForm.onsubmit = (event) => { event.preventDefault(); const utterThis = new SpeechSynthesisUtterance(inputTxt.value); const selectedOption = voiceSelect.selectedOptions[0].getAttribute("data-name"); for (const voice of voices) { if (voice.name === selectedOption) { utterThis.voice = voice; } } utterThis.pitch = pitch.value; utterThis.rate = rate.value; synth.speak(utterThis); utterThis.onpause = (event) => { const char = event.utterance.text.charAt(event.charIndex); console.log( `Speech paused at character ${event.charIndex} of "${event.utterance.text}", which is "${char}".`, ); }; inputTxt.blur(); }; Spezifikationen
| Specification |
|---|
| Web Speech API> # speechsynthesisvoice> |