首页 > 解决方案 > 通过 javascript 和 android Chrome 实现 SpeechSynthesisUtterance() TTS

问题描述

我正在尝试通过 javascript 调用SpeechSynthesisUtterance()以使其在Android Chrome下工作(因为我已阅读此特定功能与 Android Chrome 兼容)。所以,我写了一个简短的演示,但我不知道如何将它与 Android Chrome 链接。我调用了窗口函数,但它不起作用。如果这不是一个合适的问题,请通知我,以便将其删除。

<button id="ButtonPlay">TTS demo</button>

<script>
    function WhatToPlay(text) {    
        var msg = new SpeechSynthesisUtterance();    
        msg.text = text;
        window.speechSynthesis.speak(msg);
    }

    $("#ButtonPlay").click(function() {
        WhatToPlay("Hello world");
    });
</script>

标签: javascriptandroidgoogle-chrometext-to-speech

解决方案


我在 Android Chrome 上测试了这个基本代码,它可以工作,所以如果它不在你的上,那么一定有其他问题,例如设备本身。

<!DOCTYPE html>
<button type="button" id="speakBtn">Speak</button>

<script>
  const speak = () => {
    const utter = new SpeechSynthesisUtterance();
    utter.text = "Hello";
    speechSynthesis.cancel();
    speechSynthesis.speak(utter);
  }
  speakBtn.addEventListener('click', speak);
  speechSynthesis.getVoices();
</script>

推荐阅读