Emlog通过百度文字转语音免费接口使用实例
之前写过一篇《Emlog实现文章标题语音朗读》,该文章中的方法已经失效了,本文是通过百度文字转语音免费接口使用实例。
百度语音转换接口:
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,在浏览器上直接打开,即可听到文字转换后的语音。
但是真实应用时可不能在浏览器里直接打开这个url,而是需要在一个网页里无缝嵌入该语音模块。该怎么处理呢?
一、我们可以通过如下的html代码来运行语音接口。
<audioautoplay="autoplay"> <sourcesrc="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=www.webkaka.com"type="audio/mpeg"> <embedheight="0"width="0"src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=www.webkaka.com"> </audio>
问题来了,text的字符串是如何得来的?其实,是通过javascript的encodeURI()函数编码得来的。上述字符串是“测试百度文字转语音接口-卡卡测速网www.webkaka.com”通过encodeURI()函数编码得来的。
二、通过JS调用接口
下面是JS的实现代码:
<scripttype="text/javascript"> varzhText="我的博客www.noteet.com"; zhText=encodeURI(zhText); document.write("<audioautoplay=\"autoplay\">"); document.write("<sourcesrc=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text="+zhText+"\"type=\"audio/mpeg\">"); document.write("<embedheight=\"0\"width=\"0\"src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text="+zhText+"\">"); document.write("</audio>"); </script>
最终成品代码:
<!--标题转换语音--> <script type="text/javascript"> var zhText = "<?php echo $log_title; ?>"; zhText = encodeURI(zhText); document.write("<audio autoplay=\"autoplay\">"); document.write("<source src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&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>
文章不错支持一下吧
文章不错支持一下吧
文章不错支持一下,非常喜欢
文章不错支持一下吧
文章还不错支持一下