我的文字长度接近11000。当我将该文本传递给chrome.tts.speak函数时,它不是在说内容。稍后,在进行一些调试之后,我发现如果我发送500 length的文本,它会正常显示。所以,我做到了

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引擎提供任何长度的文本,它应该说出来。

我怎么能够 ?

最佳答案

检出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});

关于javascript - 调用chrome.tts.speak函数获取任意长度的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24114652/

10-11 03:05