gpt4 book ai didi

javascript - SpeechSynthesis.getVoices() 没有在 Firefox 中列出声音

转载 作者:太空狗 更新时间:2023-10-29 16:34:28 27 4
gpt4 key购买 nike

我正在开发一个需要在网络浏览器中使用文本转语音的应用程序。我正在为此使用 HTML5 语音合成。在 Google Chrome 上,代码运行良好,使用 |getVoices()| 列出了所有可用的语音,但在 Firefox 中根本没有列出任何语音。我正在 Firefox 56.0 (Ubuntu) 上测试我的代码。

在互联网上搜索时,我确实遇到了 StackOverflow answer这表明应该在 |onVoiceChanged| 之后调用 getVoices() 函数事件

    window.speechSynthesis.onvoiceschanged = function() {
window.speechSynthesis.getVoices();
...
};

我正在以上述方式调用该调用,它在 Chrome 中按预期工作,但在 Firefox 上却不行。

另一个 StackOverflow 回答建议我启用 |media.webspeech.synth.enabled|在 about:config of Firefox 中,但在我的 Firefox 中偏好 |media.webspeech.synth.enabled|已经设置为 true。

我查看了 MDN 文档 https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices并且此页面上的示例无法在 Firefox 中为我运行,但在 Chrome 中运行良好。我发现 CanIUse.com列出 SpeechSynthesis 在 Firefox 55 及更高版本中受支持,但它对我不起作用。

还有 demo由 Mozilla 开发人员网络演示语音合成无法在我的 Firefox 上运行,但在 Google Chrome 上运行良好。我在网上广泛搜索了解决方案,但找不到。有人可以在这里为我指明正确的方向吗?

最佳答案

遇到了同样的问题,这就是我的发现。

  • 在 Firefox Ubuntu 16.04 上对我不起作用
  • 在 virtualbox Windows 上工作。声音来自 Windows。 “Microsoft David”是选择之一。
  • Chrome 可在 Ubuntu 上运行,但仅限于在线时。它没有在控制台中显示任何流量,但语音仅在在线时有效!

关于javascript - SpeechSynthesis.getVoices() 没有在 Firefox 中列出声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617366/

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