var msg = new SpeechSynthesisUtterance("输入要朗读的文字")
window.speechSynthesis.speak(msg)
</script>
这样就行,不需要任何第三方api集成。
补充一下,不是win10的用户,可能不会朗读
函数目前处于实验性阶段,在使用它之前,请仔细检查浏览器兼容性表。
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 。
文本转语音,称为TTS(Text-To-Speech),也称为语音合成引擎。
微信提供了”微信同声传译“插件,文档见 这里 ,它包括语音输入、文本翻译、语音合成等功能。
本文介绍语音合成在微信小程序中的使用。
在需要播放的页面设置一个播放按钮,点击后获取文本并合成语音播放。如上图。
在微信小程序管理后台先要注册,
app.json中引入插件
页面js文件中,声明插件
页面js文件中,加载音频播放器
js页面中,定义上传文本合成语音功能的函数
js页面中,根据语音资源地址,定义播放函数
长文本处理,播放文本限制为:1000字节。
如果超过1000字节的文本,可以分段截取并播放;可以按照估算的播放速度控制延时时间。