我目前正在try 在speechSynthesis
中设置特定的语音,我做到了,但我现在面临的问题是,每当我触发语音时,在我的情况下,我使用一个按钮,当我第一次点击按钮时,它会触发我放在那里的lang
的语音,也就是en-GB
, Select 的语音只会在第二次点击时生效.我只想要一个声音来工作,这是我从getVoices
中 Select 的一个.你可以try 下面的代码来理解我的意思,谢谢!
function speakTTS() {
const voices = window.speechSynthesis.getVoices();
const message = new SpeechSynthesisUtterance();
message.text = "Please get me a bottle of water, thank you.";
message.volume = 1; // Volume range = 0 - 1
message.rate = 1.1; // Speed of the text read , default 1
message.voice = voices[9]; // change voice
message.lang = 'en-GB'; // Language, default 'en-US'
window.speechSynthesis.speak(message);
console.log(window.speechSynthesis.getVoices());
}
<button onClick=speakTTS()>Speak</button>