The getVoices()
method of the SpeechSynthesis
interface returns a list of SpeechSynthesisVoice
objects representing all the available voices on the current device.
The getVoices()
method of the SpeechSynthesis
interface returns a list of SpeechSynthesisVoice
objects representing all the available voices on the current device.
js
getVoices()
None.
A list (array) of SpeechSynthesisVoice
objects.
js
function populateVoiceList() { if (typeof speechSynthesis === "undefined") { return; } const voices = speechSynthesis.getVoices(); for (let i = 0; i < voices.length; i++) { const option = document.createElement("option"); option.textContent = `${voices[i].name} (${voices[i].lang})`; if (voices[i].default) { option.textContent += " — DEFAULT"; } option.setAttribute("data-lang", voices[i].lang); option.setAttribute("data-name", voices[i].name); document.getElementById("voiceSelect").appendChild(option); } } populateVoiceList(); if ( typeof speechSynthesis !== "undefined" && speechSynthesis.onvoiceschanged !== undefined ) { speechSynthesis.onvoiceschanged = populateVoiceList; }
html
<select id="voiceSelect"></select>
Specification |
---|
Web Speech API # dom-speechsynthesis-getvoices |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
getVoices |
33 | 14 | 49 | No | 21 | 7 | No | 33 | 62 | No | 7 | 3.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices