我在cordova中使用以下简单代码:
document.addEventListener('deviceready', function () {
function talk () {
/*var msg = new SpeechSynthesisUtterance('jee wiz, you are so funny !');
/*msg.rate = 1; msg.pitch = 5; msg.lang ="en_EN";*/
/*speechSynthesis.speak(msg);*/
var u = new SpeechSynthesisUtterance();
u.text = 'Hello World';
u.lang = 'en-US';
u.rate = 1.2;
u.onend = function(event) { console.log('Finished in ' + event.elapsedTime + ' seconds.'); }
speechSynthesis.speak(u);
}
var element = document.getElementById('button');
element.addEventListener('click', function () {
talk();
});
}, false);
所以实际上是talk(); 在控制台中返回此错误:Speech initialization error: 2147483665
然后该应用看上去崩溃了/发呆了,我无法在页面上执行任何操作。
奇怪的语音合成看起来在ios上受支持http://caniuse.com/#search=speech
怎么了,为什么我不能讲话();如果触发按钮单击?
注意:我正在使用ios 7/8在ios模拟器上进行测试
iOS 8模拟器不支持文本到语音转换。在真实的设备上尝试。
也可以将功能讨论移出设备就绪事件侦听器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句