【问题标题】:Speech synthesis in chrome for android not loading voices用于 android 的 chrome 中的语音合成不加载声音
【发布时间】:2015-11-24 08:50:21
【问题描述】:

我有一个脚本在 windows 的 chrome 上正确运行,但是当我在我的 android chrome 上尝试它时,它不起作用。 这似乎是声音的问题,因为:

if ('speechSynthesis' in window)

返回真。 我尝试了一些在线示例(例如http://codepen.io/matt-west/pen/wGzuJ),“声音”选择列表为空。

我需要安装一些东西来完成这项工作吗?

此代码适用于 windows 的 chrome,但不适用于 android 的 chrome:

function playSentence(text) {    
     var msg = new SpeechSynthesisUtterance();    
     msg.text = text;
     window.speechSynthesis.speak(msg);
 }

 $(function () {
     playSentence("Hello world");
 });

版本:Android 5.0.0 - Chrome 46.0.2490.76

【问题讨论】:

    标签: android google-chrome speech-synthesis


    【解决方案1】:

    有两个问题

    1) 在移动设备上,您需要用户手势才能开始播放文本。将其添加到 onclick 处理程序中,请参阅以下demo

    <body>
      <button id="btnPlay">Play</button>
      <script>
        function playSentence(text) {    
          var msg = new SpeechSynthesisUtterance();    
          msg.text = text;
          window.speechSynthesis.speak(msg);
        }
    
        $("#btnPlay").click(function() {
          playSentence("Hello world");
        });
    </script>  
    
    </body>
    

    2) 演示也坏了:\ 但是有两个关键部分需要注意。

    我。 getVoices 是异步的(在规范勘误表中提到),你需要听voiceschanged event,推理有点令人沮丧但有道理,Voice 系统是延迟加载的,第一次调用 getVoices 会阻塞主线程,所以android 上的第一次调用返回 0 结果,然后在语音可用时触发onvoiceschanged

    二。 linked demo 错误地设置了话语的 voice 属性。这不存在,相反,您需要更改 lang 和可选的 voiceURI 以更改默认使用的语音,如下所示和new demo

    if (voiceSelect.value) {
      var selectedVoice = speechSynthesis.getVoices().filter(function(voice) { return voice.voiceURI == voiceSelect.value; })[0];
    
      msg.voiceURI = selectedVoice.voiceURI;
      msg.lang = selectedVoice.lang;
    
    }
    

    【讨论】:

    • 感谢您抽出宝贵时间回复。问题是该设备中没有安装语音(我不知道为什么,我不知道它是否是一个常见问题)。我在android中安装了一个TTS程序,之后问题就解决了。无论如何,正如你所说的那样,话语的“声音”属性显然没有效果,我不得不改变“语言”属性。我认为这解决了这个问题。我会进一步测试它,我会编辑我原来的问题。谢谢!
    猜你喜欢
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多