2)把以下代码放在</body>前面:
<script type="text/javascript" src="speech.w3cool.com/swf/speech.js,前面加上http://"></script>
<script type="text/javascript">
var _scid = "copytext" // 希望朗读的文章块的id
var _spid = "speech_player" //显示播放器的id
_sp_bg = "0xCDDFF3" //修改成想要的颜色
_sp_leftbg = "0x357DCE"
_sp_lefticon = "0xF2F2F2"
_sp_rightbg = "0x357DCE"
_sp_rightbghover = "0x4499EE"
_sp_righticon = "0xF2F2F2"
_sp_righticonhover = "0xFFFFFF"
_sp_text = "0x357DCE"
_sp_slider = "0x357DCE"
_sp_track = "0xFFFFFF"
_sp_border = "0xFFFFFF"
_sp_loader = "0x8EC2F4"
speaker()
</script>
可以把speech.js文件下下来,放在项目文件夹下,然后引用,这样可以不能连上互联网的情况下使用
不过用这个要条件的,普通网站即PR<5的只能共享32个合成服务,即播放会受到限制,有排队的规则,先到先合成声音。PR>=5的网站好像是免费享有的。
函数目前处于实验性阶段,在使用它之前,请仔细检查浏览器兼容性表。
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字节的文本,可以分段截取并播放;可以按照估算的播放速度控制延时时间。