HTML5语音在Mac 10.0.1上的Safari上无效,
我收到了错误,
TypeError:对于SpeechSynthesis.speak的参数1('话语')必须是 SpeechSynthesisUtterance的一个实例
适用于Chrome和Firefox,我很确定它曾用于Safari ...
var u = new SpeechSynthesisUtterance();
u.text = "hello world";
u.lang = "en";
window.speechSynthesis.speak(u);
答案 0 :(得分:2)
好的,终于明白了。
我有一些兼容性代码支持没有html5语音的浏览器,
if (SpeechSynthesisUtterance == undefined) {
function SpeechSynthesisUtterance(text) {
this.text = text;
}
}
这适用于Chrome和Firefox,但在Safari上,似乎在解析脚本时会评估任何脚本中的任何函数,因此即使SpeechSynthesisUtterance已经存在,函数也会被声明。
猜猜我需要以不同的方式做到这一点......