gpt4 book ai didi

javascript - SpeechSynthesis.speak(在 Web Speech API 中)在 Google Chrome 中总是在几秒钟后停止

转载 作者:可可西里 更新时间:2023-11-01 02:11:52 25 4
gpt4 key购买 nike

当在 Web Speech API 中使用 speak 函数时,在 Chrome 中,说话会在几秒钟后突然停止,在给它的文本中间,在一个看似随机的地方(没有到达结束)。这只发生在 Chrome 中(在 Firefox 上运行良好),并在两台不同的计算机/系统上进行了测试。

查看此 jsfiddle 以查看/收听: https://jsfiddle.net/fv9ochpq/

您可以看到 SpeechSynthesis 对象 .speaking 标志在停止说话后保持打开状态(true)。

我还没有看到对传递给话语的文本有任何记录限制。这是谷歌浏览器的错误吗?顺便说一句,我从 2014 年就知道了这一点——当时我试图向我制作的浏览器扩展添加语音功能(当时它是可用于 chrome 扩展的 TTS API——那里也发生了同样的事情),但最终没有因为这个明显的错误而这样做。现在我想克服这个问题 - 如果这是一个错误,我将感谢任何人指导我到最好的地方报告它。

编辑:它似乎在大约 15 秒后停止。每 14 秒运行一次 .resume() 似乎可以“修复”这个问题。请参阅:https://jsfiddle.net/fv9ochpq/1/
但这是一个 hack。

2019 年 8 月更新 自 2018 年 12 月起 - Chrome 不允许在没有用户交互的情况下触发语音,这是一个更新的 jsfiddle,添加了一个按钮,以及实际的 speak 调用移动到它的 onclick: https://jsfiddle.net/vcmxkwd3/

错误仍在发生!:

最佳答案

你问到哪里报告这个问题。对于程序员来说,我觉得这个论坛是最好的地方。事实上,Chrome Speech Synthesis with longer texts 已经进行了大量讨论。 .但我认为其中大部分错误地关注了 SpeechSynthesis 允许的单词数,而不是duration has you do here。事实上,在我看来,您的解决方案是最实用的。

Google 有错误报告工具,该问题已报告为 speechSynthesis fails for long text without warning and blocks the API .它目前共有 3 份报告,给它 3 个“星”。我们可以通过向这个 Chromium Bug 添加报告(我已经添加了一个)来引起对这个问题的关注。

此错误的当前状态是“未分类”;同样感兴趣的是 several other reported issues related to Chrome SpeechSynthesis .

关于javascript - SpeechSynthesis.speak(在 Web Speech API 中)在 Google Chrome 中总是在几秒钟后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com