所以我注意到,在您使用speechSynthesis.speak
进行第一次讲话后,它会在提供结果时大幅加快。所以我的目标是通过预先初始化综合来加速它,所以当我们调用speakIt()
时我们不必等待它。它根本没有加速;关于它为什么不加速以及我如何修复它的任何建议?
完整脚本:
var speech = new SpeechSynthesisUtterance("test");
var voices = window.speechSynthesis.getVoices();
speech.default = false;
speech.voice = voices.filter(function(voice) { return voice.name == 'Google UK English Male'; })[0];
speech.lang = 'en-GB';
function speakIt(word){
speech.text = word;
window.speechSynthesis.speak(speech);
}
chrome.tts.speak
似乎有点快,但肯定不存在,但这不是重点 - 这应该仍然有用。在有人找到答案之前,我会迁移到Chrome的用法。
答案 0 :(得分:0)
在演讲前你需要做一些设置。我希望有更多的例子。具体来说,你应该调用getVoices()和添加一个事件处理程序,以便在页面加载时提前填充语音。我写了一个为你做这个的课。请参阅Codepen示例。
var speech = new Speech();
if (speech.supported()) {
speech.speak('hello, speech is working fine');
}
Codepen示例: http://codepen.io/anon/pen/qNwOAO