js实现文字转语音

JavaScript020

js实现文字转语音,第1张

函数目前处于实验性阶段,在使用它之前,请仔细检查浏览器兼容性表。

text – 要合成的文字内容,字符串

lang – 使用的语言,字符串, 例如:“zh-cn”

voiceURI – 指定希望使用的声音和服务,字符串

volume – 声音的音量,区间范围是0到1,默认是1

rate – 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。

pitch – 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1

SpeechSynthesis.paused 只读

当 SpeechSynthesis 处于暂停状态时, Boolean 值返回 true 。

SpeechSynthesis.pending 只读

当语音播放队列到目前为止保持没有说完的语音时, Boolean 值返回 true 。

SpeechSynthesis.speaking 只读

当语音谈话正在进行的时候,即使 SpeechSynthesis 处于暂停状态, Boolean 返回 true 。

<script type="text/javascript">

        var msg = new SpeechSynthesisUtterance("输入要朗读的文字")

        window.speechSynthesis.speak(msg)

    </script>

这样就行,不需要任何第三方api集成。

补充一下,不是win10的用户,可能不会朗读

文本转语音,称为TTS(Text-To-Speech),也称为语音合成引擎。

微信提供了”微信同声传译“插件,文档见 这里 ,它包括语音输入、文本翻译、语音合成等功能。

本文介绍语音合成在微信小程序中的使用。

  在需要播放的页面设置一个播放按钮,点击后获取文本并合成语音播放。如上图。

在微信小程序管理后台先要注册,

app.json中引入插件

页面js文件中,声明插件

页面js文件中,加载音频播放器

js页面中,定义上传文本合成语音功能的函数

js页面中,根据语音资源地址,定义播放函数

长文本处理,播放文本限制为:1000字节。

如果超过1000字节的文本,可以分段截取并播放;可以按照估算的播放速度控制延时时间。