JavaScript SpeechSynthesisUtterance正确地说出数字

时间:2018-12-12 17:33:13

标签: javascript speech-synthesis

我将SpeechSynthesisUtterance与JavaScript和HTML结合使用。我想正确地说出数字,所以与其读五,三,七,九,如五旬节,七旬节和七十九。那可能吗?我正在从localStorage取得号码。 我正在使用此代码:

var msg = new SpeechSynthesisUtterance("The number is " + localStorage.getItem("mynumber"));
msg.lang = 'en-US';
msg.rate = 4;
window.speechSynthesis.speak(msg);

`

1 个答案:

答案 0 :(得分:2)

数字的发音方式取决于浏览器以及从该浏览器中选择的语音。当我在Chrome浏览器中尝试时,默认声音为“五千三百七十九”,但是,如果我给数字加一个千位分隔符(即,将其从53779更改为53779),则所有声音都为“五万七千七百七十九”。

因此,请尝试添加“ .toLocaleString('en')”,以添加千位分隔符:

var msg = new SpeechSynthesisUtterance("The number is " + localStorage.getItem("mynumber").toLocaleString('en'));