先給大家提供文字轉(zhuǎn)語音的接口吧:
http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要轉(zhuǎn)換的文字
參數(shù)說明:
lan=zh:語言是中文,如果改為lan=en,則語言是英文。
ie=UTF-8:文字格式。
spd=2:語速,可以是1-9的數(shù)字,數(shù)字越大,語速越快。
text=**:這個(gè)就是你要轉(zhuǎn)換的文字。
怎樣調(diào)用?
上述接口的url,在瀏覽器上直接打開,即可聽到文字轉(zhuǎn)換后的語音。
但是真實(shí)應(yīng)用時(shí)可不能在瀏覽器里直接打開這個(gè)url,而是需要在一個(gè)網(wǎng)頁里無縫嵌入該語音模塊。該怎么處理呢?
1)通過HTML調(diào)用接口
我們可以通過如下的html代碼來運(yùn)行語音接口。
<audio autoplay="autoplay">
<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=%E6%B5%8B%E8%AF%95%E7%99%BE%E5%BA%A6%E6%96%87%E5%AD%97%E8%BD%AC%E8%AF%AD%E9%9F%B3%E6%8E%A5%E5%8F%A3%20-%20%E5%8D%A1%E5%8D%A1%E6%B5%8B%E9%80%9F%E7%BD%91%20www.webkaka.com" type="audio/mpeg">
<embed height="0" width="0" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=%E6%B5%8B%E8%AF%95%E7%99%BE%E5%BA%A6%E6%96%87%E5%AD%97%E8%BD%AC%E8%AF%AD%E9%9F%B3%E6%8E%A5%E5%8F%A3%20-%20%E5%8D%A1%E5%8D%A1%E6%B5%8B%E9%80%9F%E7%BD%91%20www.webkaka.com">
</audio>
問題來了,text的字符串是如何得來的?其實(shí),是通過javascript的encodeURI()函數(shù)編碼得來的。上述字符串是“測試百度文字轉(zhuǎn)語音接口 - 卡卡測速網(wǎng) www.webkaka.com”通過encodeURI()函數(shù)編碼得來的。
2)通過JS調(diào)用接口
下面是JS的實(shí)現(xiàn)代碼:
<script type="text/javascript">
var zhText = "測試百度文字轉(zhuǎn)語音接口 - 卡卡測速網(wǎng) www.webkaka.com";
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>