我们正在使用SpeechSynthesisUtterance边界事件无法正确触发。有时它在句子的中间。
有人遇到这种情况吗?请帮忙。
var utterance = new SpeechSynthesisUtterance();
utterance.lang = 'en-UK';
utterance.rate = 1;
utterance.onboundary = function(event){
console.log(event);
};
答案 0 :(得分:0)
似乎是垃圾回收的问题(https://bugs.chromium.org/p/chromium/issues/detail?id=509488#c11) 如果您将话语存储在具有全局上下文的变量中,那么它将起作用:
window.utterances = [];
var utterance = new SpeechSynthesisUtterance( 'hello' );
utterances.push( utterance );
speechSynthesis.speak( utterance );