我的文字长度接近11000
。当我将该文本传递给chrome.tts.speak
函数时,它不会说出内容。后来,在做了一些调试之后,我发现如果我发送500
长度的文本,它会正常说话。所以,我做了这个
for(var start = 0; utterance.length > 500 ; start++){
text = utterance.substring(0,500);
chrome.tts.speak(text);
// console.log(text)
utterance = utterance.substring(500,utterance.length);
}
现在的问题是它不会等待这个函数chrome.tts.speak(text);
完成。
所有我想给chrome.tts
引擎提供任意长度的文字,它应该说出来。
答案 0 :(得分:3)
结帐the documentation。它指出,除非您使用speak
选项,否则连续调用enqueue
会中断先前的调用。这应该可以让你到达你想要的地方。
编辑:从文档中,enqueue
选项的示例:
chrome.tts.speak('Speak this next, when the first sentence is done.', {'enqueue': true});
编辑:将其应用于您的代码
chrome.tts.speak(text, {'enqueue': true});