SpeechSynthesis 不能用葡萄牙语说话 (pt-BR)
SpeechSynthesis not working to speak in portuguese (pt-BR)
我正在编写 javascript 代码,希望在用户单击 "start button" 时欢迎他们。它可以用英语工作,但关键是我希望它用巴西葡萄牙语 (pt-BR) 表达。我尝试了很多解决方案,但似乎都行不通。谁能帮帮我?
密码是:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<script>
startTalking = function(line){
var text = new SpeechSynthesisUtterance();
text.lang = "pt-BR";
text.text = line;
speechSynthesis.speak(text);
}
</script>
</head>
<body>
<button id="startButton" onclick = "startTalking("Bem vindo!")"></button>
</body>
</html>
当我单击该按钮时,脚本会运行,但参数中收到的文本是由英语(美国)语音说出的。
有人知道如何修复它吗?
谢谢!!
看这个:
还有这个:
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/onvoiceschanged
出于某种原因,现在您需要填充语音列表,然后才能选择您想要的language/version。
感谢布鲁诺的回复。我在第二天解决了这种情况,我 post 提出了问题,但无法 post 解决方案。我用这个解决了这种情况:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<script>
var text;
var voices;
window.speechSynthesis.onvoiceschanged = function() {
text = new SpeechSynthesisUtterance();
voices = window.speechSynthesis.getVoices();
text.voiceURI = 'Google português do Brasil'; //discovered after dumping getVoices()
text.lang = "pt-BR";
text.localService = true;
text.voice = voices[15]; //index to the voiceURI. This index number is not static.
}
startSpeaking = function(line){
text.text = line;
speechSynthesis.speak(text);
}
</script>
</head>
<body>
<button id="startButton" onclick = "startTalking("Bem vindo!")"></button>
</body>
</html>
一旦 onvoiceschanged 是异步的,现在一切正常!
我已经解决了,非常感谢您的回复。非常感谢。
此致,
尤利西斯
我正在编写 javascript 代码,希望在用户单击 "start button" 时欢迎他们。它可以用英语工作,但关键是我希望它用巴西葡萄牙语 (pt-BR) 表达。我尝试了很多解决方案,但似乎都行不通。谁能帮帮我?
密码是:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<script>
startTalking = function(line){
var text = new SpeechSynthesisUtterance();
text.lang = "pt-BR";
text.text = line;
speechSynthesis.speak(text);
}
</script>
</head>
<body>
<button id="startButton" onclick = "startTalking("Bem vindo!")"></button>
</body>
</html>
当我单击该按钮时,脚本会运行,但参数中收到的文本是由英语(美国)语音说出的。
有人知道如何修复它吗?
谢谢!!
看这个:
还有这个:
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/onvoiceschanged
出于某种原因,现在您需要填充语音列表,然后才能选择您想要的language/version。
感谢布鲁诺的回复。我在第二天解决了这种情况,我 post 提出了问题,但无法 post 解决方案。我用这个解决了这种情况:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<script>
var text;
var voices;
window.speechSynthesis.onvoiceschanged = function() {
text = new SpeechSynthesisUtterance();
voices = window.speechSynthesis.getVoices();
text.voiceURI = 'Google português do Brasil'; //discovered after dumping getVoices()
text.lang = "pt-BR";
text.localService = true;
text.voice = voices[15]; //index to the voiceURI. This index number is not static.
}
startSpeaking = function(line){
text.text = line;
speechSynthesis.speak(text);
}
</script>
</head>
<body>
<button id="startButton" onclick = "startTalking("Bem vindo!")"></button>
</body>
</html>
一旦 onvoiceschanged 是异步的,现在一切正常!
我已经解决了,非常感谢您的回复。非常感谢。
此致,
尤利西斯