以下代码在ChromeDevTools中运行良好,但当我通过localhost运行此代码时 allVoices
返回一个空数组。
tts = window.speechSynthesis
// from here code only works if put into DevTools, not from file or localhost
allVoices = tts.getVoices()
console.log(allVoices) // gives empty array
我做错了什么?
1条答案
按热度按时间py49o6xq1#
在chrome getvoices()中,返回空,然后在语音准备就绪时出现一个事件onvoiceschanged,它接受回调。
您的命令在devtools中工作,因为当您键入'allvoices=tts.getvoices()'时,这些声音已经到达并且可用。
但是,其他浏览器(如safari)会同步返回语音,不需要回调。
因此,最好的代码似乎是: