用于android的chrome语音合成不加载语音

用于android的chrome语音合成不加载语音,android,google-chrome,speech-synthesis,Android,Google Chrome,Speech Synthesis,我有一个在chrome for windows上正确运行的脚本,但当我在android chrome上尝试它时,它不起作用。 这似乎是一个声音的问题,因为: if ('speechSynthesis' in window) 返回true。 我尝试了一些在线示例(例如),但“声音”选择列表是空的 我需要安装一些东西才能工作吗 此代码适用于windows的chrome,但不适用于android的chrome: function playSentence(text) { var m

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

if ('speechSynthesis' in window)
返回true。 我尝试了一些在线示例(例如),但“声音”选择列表是空的

我需要安装一些东西才能工作吗

此代码适用于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有两个问题

1) 在手机上,您需要一个用户手势来开始播放文本。将其添加到onclick处理程序中,请参见以下内容:


感谢您抽出时间回复。问题是该设备中没有安装语音(我不知道为什么,也不知道这是否是一个常见问题)。我在android上安装了一个TTS程序,之后问题就解决了。无论如何,正如你所说,显然,话语的“声音”属性没有任何效果,我不得不改变“朗”属性。我认为这解决了问题。我将进一步测试它,并编辑我的原始问题。谢谢
<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>
if (voiceSelect.value) {
  var selectedVoice = speechSynthesis.getVoices().filter(function(voice) { return voice.voiceURI == voiceSelect.value; })[0];

  msg.voiceURI = selectedVoice.voiceURI;
  msg.lang = selectedVoice.lang;

}