gpt4 book ai didi

google-chrome - 谷歌浏览器语音合成中的女声

转载 作者:行者123 更新时间:2023-12-02 17:16:53 24 4
gpt4 key购买 nike

我在这两种情况下都使用了这个确切的代码。

        var msg = new SpeechSynthesisUtterance();
var voices = window.speechSynthesis.getVoices();
msg.voice = voices[1];
msg.text = "hello world";
msg.lang = 'en-US';
speechSynthesis.speak(msg);

如果我在 chrome 控制台中运行它,我会得到一个女声。但是,如果我将确切的代码放在 index.html 中并运行它,它会播放男声。任何人都可以澄清为什么会出现这种差异。提前致谢。

最佳答案

找到根本原因。 Getting the list of voices in speechSynthesis of Chrome (Web Speech API)

调用是异步的,所以当我尝试在 index.html 中运行时,voices 数组是空的。正如我在运行它然后使用 speak 时所建议的那样,它运行良好。

    var msg;
var voices;
var timer = setInterval(function() {
voices = speechSynthesis.getVoices();
console.log(voices);
if (voices.length !== 0) {
msg = new SpeechSynthesisUtterance();
msg.voice = voices[0];
speechSynthesis.speak(msg);
msg.lang = 'en-US';
clearInterval(timer);
}
}, 200);
timer();
speechSynthesis.speak("hello world");

关于google-chrome - 谷歌浏览器语音合成中的女声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45877555/

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