gpt4 book ai didi

google-chrome - voiceSynthesis.speak 在 chrome 中不起作用

转载 作者:行者123 更新时间:2023-12-02 01:15:06 30 4
gpt4 key购买 nike

我在 Windows 10 上使用 chrome 版本 55.0.2883.87 m(64 位)。

以下简单的 html 文件重现了该问题,并从我的更复杂的应用程序中提取。它应该在页面加载时说出这 3 个单词。它适用于 MS Edge 和 Firefox,但不适用于 Chrome。几周前,这段代码在 Chrome 上对我来说没有问题。

<html>
<head>
<script lang="javascript">
window.speechSynthesis.speak(new SpeechSynthesisUtterance("cat"));
window.speechSynthesis.speak(new SpeechSynthesisUtterance("dog"));
window.speechSynthesis.speak(new SpeechSynthesisUtterance("bark"));
</script>
</head>
<body></body>
</html>

最佳答案

我可能永远无法确定,因为这个问题是间歇性的,但在我开始说话前取消后,它似乎就消失了。

utter = new window.SpeechSynthesisUtterance("cat");

window.speechSynthesis.cancel();
window.speechSynthesis.speak(utter);

我认为取消不一定必须发生在话语对象的创建和使用之间。只是它出现在每次讲话之前。我可能遇到了不同的问题,因为我只创建了一个话语对象,而不是一堆。我只在 Chrome 78 上看到它。使用 Windows 7,64 位。在 Firefox 或 Edge 上从未见过此问题。

两周后编辑。尝试数十次后未再复发。看来 .cancel() 解决了我的问题。我的症状是:在Chrome中调用speechSynthesis.speak()有时不会开始演讲。代码中没有立即表明存在问题,speechSynthesis.speaking 为 true,而 .pending 为 false。话语对象不会产生任何事件。通常,当语音工作时,我会在调用 .speak() 后大约 0.1 秒收到一个 'start' 事件。

关于google-chrome - voiceSynthesis.speak 在 chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41539680/

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