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

Javascript 为任意长度的文本调用chrome.tts.speak函数,javascript,google-chrome-extension,text-to-speech,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) ut

我的文本长度接近
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
引擎,它应该能说出来。

我该怎么办

退房。它指出,除非您使用
enqueue
选项,否则对
speak
的连续调用会中断以前的调用。这会让你达到你想要的目的

编辑:从文档中可以看到
排队
选项的示例:

chrome.tts.speak('Speak this next, when the first sentence is done.', {'enqueue': true});
编辑:将其应用于代码

chrome.tts.speak(text, {'enqueue': true});
退房。它指出,除非您使用
enqueue
选项,否则对
speak
的连续调用会中断以前的调用。这会让你达到你想要的目的

编辑:从文档中可以看到
排队
选项的示例:

chrome.tts.speak('Speak this next, when the first sentence is done.', {'enqueue': true});
编辑:将其应用于代码

chrome.tts.speak(text, {'enqueue': true});
退房。它指出,除非您使用
enqueue
选项,否则对
speak
的连续调用会中断以前的调用。这会让你达到你想要的目的

编辑:从文档中可以看到
排队
选项的示例:

chrome.tts.speak('Speak this next, when the first sentence is done.', {'enqueue': true});
编辑:将其应用于代码

chrome.tts.speak(text, {'enqueue': true});
退房。它指出,除非您使用
enqueue
选项,否则对
speak
的连续调用会中断以前的调用。这会让你达到你想要的目的

编辑:从文档中可以看到
排队
选项的示例:

chrome.tts.speak('Speak this next, when the first sentence is done.', {'enqueue': true});
编辑:将其应用于代码

chrome.tts.speak(text, {'enqueue': true});

谢谢你。我试过使用这个对象,但它不起作用。如果可能,请创建长度为10k的文本,并将其传递给此函数,使其能够说话。已更新,但如果您尝试过类似的操作,则将其作为问题的一部分并显示代码将非常有帮助。;)algo的另一个副作用是,每500个字符分裂一次,就会把单词分成碎片。也许在第500个字符之前找到第一个空格并在那里拆分。谢谢,上面的代码不是实际的代码。我会改进的,谢谢你。我试过使用这个对象,但它不起作用。如果可能,请创建长度为10k的文本,并将其传递给此函数,使其能够说话。已更新,但如果您尝试过类似的操作,则将其作为问题的一部分并显示代码将非常有帮助。;)algo的另一个副作用是,每500个字符分裂一次,就会把单词分成碎片。也许在第500个字符之前找到第一个空格并在那里拆分。谢谢,上面的代码不是实际的代码。我会改进的,谢谢你。我试过使用这个对象,但它不起作用。如果可能,请创建长度为10k的文本,并将其传递给此函数,使其能够说话。已更新,但如果您尝试过类似的操作,则将其作为问题的一部分并显示代码将非常有帮助。;)algo的另一个副作用是,每500个字符分裂一次,就会把单词分成碎片。也许在第500个字符之前找到第一个空格并在那里拆分。谢谢,上面的代码不是实际的代码。我会改进的,谢谢你。我试过使用这个对象,但它不起作用。如果可能,请创建长度为10k的文本,并将其传递给此函数,使其能够说话。已更新,但如果您尝试过类似的操作,则将其作为问题的一部分并显示代码将非常有帮助。;)algo的另一个副作用是,每500个字符分裂一次,就会把单词分成碎片。也许在第500个字符之前找到第一个空格并在那里拆分。谢谢,上面的代码不是实际的代码。我会改进的。