📅  最后修改于: 2023-12-03 15:36:29.957000             🧑  作者: Mango
在本文中,我们将介绍如何使用 JavaScript 将文本转换为语音。这项技术能够让你的网站更加交互与具有吸引力。通过一些简单的代码,将很容易地把文字转换为语音。
SpeechSynthesis API是一个浏览器的语音合成API,它允许我们将纯文字转换成自然语音。我们可以通过以下方式调用API:
const synth = window.speechSynthesis;
我们需要先创建一个全局的中央控制器
对象,如上所示。这个对象包含了我们所有需要的方法和属性。
接下来,我们需要准备将要转换的语音文本。
const greeting = new SpeechSynthesisUtterance('Hi there!');
然后,我们需要将上面的文本传入到 SpeechSynthesisUtterance 函数中。
最后,我们通过调用让浏览器阅读文本的函数来实现:
synth.speak(greeting);
最终的代码将是这样的:
const synth = window.speechSynthesis;
const greeting = new SpeechSynthesisUtterance('Hi there!');
synth.speak(greeting);
这将会让浏览器朗读出“ Hi there! ”。
另外一个处理语音的API是Web Speech API。它是一套支持语音识别和语音合成的API,实现了比 SpeechSynthesis API 更加高级和先进的功能。
在要使用 Web Speech API 之前,需要确保浏览器中已经启用了语音识别和语音转换功能。接下来,让我们看一下一个简单例子:
const synth = window.speechSynthesis;
let inputTxt = 'Hello there';
let msg = new SpeechSynthesisUtterance();
msg.text = inputTxt;
msg.lang = 'en-US';
synth.speak(msg);
这个例子使用了与SpeechSynthesis相同的语音对话API,但使用时需要做以下的修改:
上述2种方法都是将文本转换为语音的可行方案。同时,不同浏览器可能支持或不支持不同的语音技术。所以在实现语音功能时,需要确保浏览器兼容性。这两个API有着良好的兼容性,可以在大多数主流浏览器上使用。
Markdown 代码片段如下所示:
```javascript
const synth = window.speechSynthesis;
const greeting = new SpeechSynthesisUtterance('Hi there!');
synth.speak(greeting);
```
```javascript
const synth = window.speechSynthesis;
let inputTxt = 'Hello there';
let msg = new SpeechSynthesisUtterance();
msg.text = inputTxt;
msg.lang = 'en-US';
synth.speak(msg);
```
Enjoy your coding!