- 文字转换语音,现在我找到了两中可用的方式。
1.直接用
JS
实现.网站MND手册
<script>
function speak(textToSpeak) {
var u = new SpeechSynthesisUtterance();
u.text = textToSpeak;
//汉语
u.lang = 'zh';
u.rate =0.7;
speechSynthesis.speak(u);
}
SPEAK('这是读取的文字,注意斜杠(/)是可以读出来的');
</script>
其中
text 是读取的文字
lang是语言 zh和zh-CN都是中文
rate是语速,1是正常,值越大,速度越快
或者
var msg = new SpeechSynthesisUtterance('前有个山,山上有个庙,有个老和尚和小和尚,老和尚再给小和尚讲故事,讲什么故事呢?');
msg.lang = 'zh';
msg.voice = speechSynthesis.getVoices().filter(function(voice) {
return voice.name == 'Whisper';
})[0];
speechSynthesis.speak(msg);
2.第二种方式是利用了h5的标签
<audio autoplay="autoplay">
<source id="source_baidu" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text='这是读取的文字,注意斜杠/是不会读取的' " type="audio/mpeg">
</audio>
这种方式是个标签,必须刷新本页面才可以,如果你AJAX调用的话,需要
$("#source_baidu").html("<audio autoplay=\"autoplay\">\n" +
"<source src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text='"+data.res+"'\" type=\"audio/mpeg\">\n" +
"</audio>");
如果直接访问
http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=这是测试语音
,我们可以看到结果
- 另外百度也有接口可以用,但是我确实没看懂怎么用,如果有读者知道怎么用,不妨告知。谢谢.百度语音接口地址http://yuyin.baidu.com/