SpeechSynthesisUtterance

SpeechSynthesisUtterance

我们正在使用SpeechSynthesisUtterance边界事件无法正确触发。有时它在句子的中间。

有人遇到这种情况吗?请帮助。



var utterance = new SpeechSynthesisUtterance();
    	utterance.lang = 'en-UK';
    	utterance.rate = 1;
utterance.onboundary = function(event){
    		console.log(event);
  	};

最佳答案

似乎是垃圾回收的问题(https://bugs.chromium.org/p/chromium/issues/detail?id=509488#c11
如果将话语存储在具有全局上下文的变量中,则它可以工作:

window.utterances = [];
var utterance = new SpeechSynthesisUtterance( 'hello' );
utterances.push( utterance );
speechSynthesis.speak( utterance );

10-04 22:07