Cordova / Phonegap iOS Safari和语音合成将无法正常工作

Cordova / Phonegap iOS Safari and speech synthesis wont work

本文关键字:常工作 工作 Phonegap iOS Safari 语音合成 Cordova      更新时间:2023-09-26

我在科尔多瓦中使用了这个简单的代码:

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

出了什么问题,为什么我无法获得talk();如果我触发按钮的点击?

注意:我正在使用ios 7/8在ios模拟器上进行测试

iOS 8 模拟器不支持文本到语音转换。在真实设备上试用。

此外,将函数谈话移出设备就绪事件侦听器。