Я использую API синтеза речи в Google Chrome v34.0.1847.131. API реализован в Chrome начиная с версии v33.
Текстовое сообщение работает по большей части, за исключением случаев, когда назначается обратный вызов onend
. Например, следующий код:
var message = window.SpeechSynthesisUtterance("Hello world!");
message.onend = function(event) {
console.log('Finished in ' + event.elapsedTime + ' seconds.');
};
window.speechSynthesis.speak(message);
иногда вызывает onend
и иногда не вызывает его. Время, похоже, полностью отключено. Когда он вызван, напечатанный elapsedTime
всегда имеет некоторое время, например 1399237888
.