语音合成:speak() 方法

基线 广泛可用

此功能已得到很好的确立,并且可以在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用 2018 年 9 月.

speak() 方法是 SpeechSynthesis 接口的方法,它将一个 utterance 添加到语音队列;当排在其之前的任何其他语音都已播放后,它将被播放。

语法

js
speak(utterance)

参数

返回值

无 (undefined).

示例

此代码段摘自我们的 语音合成演示 (查看演示)。当提交包含我们要朗读文本的表单时,我们(除其他操作外)会创建一个包含此文本的新语音,然后通过将其作为参数传递到 speak() 中来朗读它。

js
const synth = window.speechSynthesis;

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }
  synth.speak(utterThis);
  inputTxt.blur();
};

规范

规范
Web 语音 API
# dom-speechsynthesis-speak

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅