Google chrome chrome.tts.speak字符限制

Google chrome chrome.tts.speak字符限制,google-chrome,google-chrome-extension,text-to-speech,webspeech-api,Google Chrome,Google Chrome Extension,Text To Speech,Webspeech Api,我在分机中使用Chrome的tts服务。 根据文件: 文本的最大长度为32768个字符 但是,当我传递超过250个字符的字符串时,引擎将不会读取所有的发音(它只会停止在单词中间读它)。我现在想知道这是一个bug还是设计的。Web语音API具有中描述的类似字符限制,其行为方式相同 我想知道我是否做错了什么,或者它只依赖于浏览器中的TTS引擎,而我对此无能为力?我已经阅读了官方文档,您是如何报告的: 也许他们指的是SSML文件的最大长度 我使用chrome api有一段时间了,我可以告诉你: 只有

我在分机中使用Chrome的tts服务。 根据文件:

文本的最大长度为32768个字符

但是,当我传递超过250个字符的字符串时,引擎将不会读取所有的发音(它只会停止在单词中间读它)。我现在想知道这是一个bug还是设计的。Web语音API具有中描述的类似字符限制,其行为方式相同


我想知道我是否做错了什么,或者它只依赖于浏览器中的TTS引擎,而我对此无能为力?

我已经阅读了官方文档,您是如何报告的:

也许他们指的是SSML文件的最大长度

我使用chrome api有一段时间了,我可以告诉你:

  • 只有当声音不是本地声音时,才会出现说话中断
  • 剪切通常发生在200-300个字符之间, 当它确实中断时,您可以通过执行speechSynthesis.cancel()取消冻结它
  • “合一”事件有时决定不开火。解决这个问题的一个奇怪的方法是在说话之前先控制台.log()输出话语对象。我还发现在setTimeout回调中包装speak调用有助于解决这些问题
我解决了拆分文本的问题:

  • 首先是在句子中(尽量不把它们分开,保持韵律)
  • 如果第一步不够,则将句子再次拆分为子句子

所以我建议用这种方式解决这个问题。

你可以在这篇文章中获得参考:谢谢你的回答@gui47,我已经看过这篇文章了。如果chrome.tts与Web语音API有不同的限制,我更感兴趣。如果你已经解决了这个问题,请告诉我。
The maximum length of the text is 32,768 characters.