H5 语音相关

HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。

Speech Synthesis API

想在网页里输出一段语音是非常简单的

1
2
var msg = new SpeechSynthesisUtterance("我擦...黑科技...");
window.speechSynthesis.speak(msg);

其中 既可以使用msg = new SpeechSynthesisUtterance("我擦...黑科技...");这种形式,直接把文本写进去,也可以用如下的方式进行配置:

1
2
var msg = new window.SpeechSynthesisUtterance();
msg.text = '你好,世界!';

实例对象的一些属性,包括:

1
2
3
4
5
6
text : 要合成的文字内容字符串。
lang : 使用的语言,字符串, 例如:"zh-cn"
voiceURI : 指定希望使用的声音和服务,字符串。
volume : 声音的音量,区间范围是01,默认是1
rate : 语速,数值,默认值是1,范围是0.110,表示语速的倍数,例如2表示正常语速的两倍。
pitch : 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1

该实例还有一些方法

1
2
3
4
onstart : 语音合成开始时候的回调。
onpause : 语音合成暂停时候的回调。
onresume : 语音合成重新开始时候的回调。
onend : 语音合成结束时候的回调。