JS 西班牙语语音合成在 MacOS 上没有声音的问题

在上篇文章中提到的 写了个西班牙语学习工具 中,最近在 Mac 上使用时发现语音合成一直没有声音,研究了半天才找到解决方法。

之后会自动下载所需的 TTS 语言包,下载完成后重启 Safari 浏览器

TTS 合成代码

1
2
3
4
5
6
7
window.speechSynthesis.cancel();
const utterThis = new window.SpeechSynthesisUtterance();
utterThis.text = 'Hola!';
utterThis.lang = 'es-ES';
utterThis.volume = 1;
utterThis.voice = speechSynthesis.getVoices().filter(e => e.lang === 'es-ES'); // 这句很重要,否则将会合成英文的发音
window.speechSynthesis.speak(utterThis);