получить текст, чтобы говорить продолжительность сообщения (javascript, SpeechSynthesisUtterance, chrome) - PullRequest
0 голосов
/ 10 октября 2018

Можно ли получить время, необходимое для чтения конкретного сообщения?Я хотел бы использовать веб-API SpeechSynthesisUtterance, и он должен работать только в Google Chrome.

Рекомендуется ли использовать стороннюю библиотеку?Жизнеспособно ли портить время на заднем плане?

1 Ответ

0 голосов
/ 13 октября 2018

Для обхода проблемы (используя SpeechSynthesisUtterance) я измеряю время с помощью события onend.Это не выполнимо для всех ситуаций, так как это займет некоторое время, и не очень точно.Вы можете увеличить скорость (до 10), но это будет очень неточно.

var speed = 2;
var text = "Test";
var speech = new SpeechSynthesisUtterance(text);
speech.volume = 0 / 100;
speech.rate = speed;

speech.onend = function (event : SpeechSynthesisEvent) {
    var speakDuration = event.elapsedTime * speed;
    // save the speakDuration
};
window.speechSynthesis.speak(speech);
...