一次偶然机会认识了text2audio/responsivevoice.js(文字转语音)

2016-08-11 18:14  作者: 李庆旭  点击数:

昨天在浏览网页的时候,看到了一个网站,这个站真的给我“耳”目一新,打开他的文章会听到一段语音朗读他的文章标题,我擦,好屌(我承认我技术渣)!

出于羡慕和膜拜的初心,我搜索了一些相关的代码和文件,首先来说一下百度语音的接口,百度还是很不错的很多接口都是免费对外开放的,这一点比较赞。其实百度语音主要是面向安卓和ios开放的,并没有明确指定有web端的API,不过还是考虑到网友的需要,百度还是放出了这些接口调用链接。

先给大家提供文字转语音的接口吧:

http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字

参数说明:

lan=zh:语言是中文,如果改为lan=en,则语言是英文。

ie=UTF-8:文字格式。

spd=2:语速,可以是1-9的数字,数字越大,语速越快。

text=**:这个就是你要转换的文字。

怎样调用?

上述接口的url,在浏览器上直接打开,即可听到文字转换后的语音。

1)通过HTML调用接口

我们可以通过如下的html代码来运行语音接口。

<audio autoplay="autoplay">
<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=123" type="audio/mpeg">
<embed height="0" width="0" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=123">
</audio>

2)通过JS调用接口

下面是JS的实现代码:

<script type="text/javascript"> 
var zhText = "测试"; 
zhText = encodeURI(zhText);
document.write("<audio autoplay=\"autoplay\">");
document.write("<source src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text="+ zhText +"\" type=\"audio/mpeg\">");
document.write("<embed height=\"0\" width=\"0\" src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text="+ zhText +"\">");
document.write("</audio>");
</script>

以上是百度的接口调用,下面说一下responsivevoice.js的调用

<script src="http://code.responsivevoice.org/responsivevoice.js"></script>

把上面这条引用代码放到你的页面上,其次就是调用语音朗读,具体参数如下:

responsiveVoice.speak(STRING TEXT, [STRING VOICE], [OBJECT PARAMETERS]);

text:就是要朗读成语音的文字,比如:responsiveVoice.speak("hello world");

voice:是选择用什么语音阅读,默认是英文阅读,如果要用中文阅读,就设置成“Chinese Female”,比如:responsiveVoice.speak("hello world","Chinese Female");

parameters:这个是阅读的速度,比如:responsiveVoice.speak("hello world", "UK English Male", {rate: 1.5});

还有就是一些其他的播放控制按钮:

responsiveVoice.cancel();//取消朗读

responsiveVoice.pause();//暂停阅读

responsiveVoice.resume();//复位到开启

来源:(QQ/微信号:491228959),欢迎分享本文,转载请保留出处!

  • 评论
  • 赞助本站

李庆旭博客赞助