为任意长度的文本调用chrome.tts.speak函数

时间:2014-06-09 06:18:36

标签: javascript google-chrome-extension text-to-speech

我的文字长度接近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引擎提供任意长度的文字,它应该说出来。

我怎么能?

1 个答案:

答案 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});