JavaScript SpeechSynthesisUtterance правильно произносит числа - PullRequest
0 голосов
/ 12 декабря 2018

Я использую SpeechSynthesisUtterance с JavaScript и HTML.Я хочу произносить числа правильно, поэтому вместо них читать пять три семь семь девять, как пятьдесят три тысячи семьдесят семьдесят девять.Это возможно?Я получаю номер из местного хранилища.Я использую этот код:

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

`

1 Ответ

0 голосов
/ 19 декабря 2018

Как произносится номер, зависит от браузера и голоса, выбранного в этом браузере.Когда я пытаюсь в Chrome, голос по умолчанию говорит: «пятьдесят три тысячи семьдесят девять», однако, если я задаю число с разделителем тысяч (т.е. изменим его с 53779 на 53 779), все голоса скажут: «пятьдесят три тысячи семьсот семьдесят три».

Поэтому попробуйте добавить ".toLocaleString ('en')", который добавляет разделитель тысяч:

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