先給大家提供文字轉(zhuǎn)語(yǔ)音的接口吧:
http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要轉(zhuǎn)換的文字
參數(shù)說(shuō)明:
lan=zh:語(yǔ)言是中文,如果改為lan=en,則語(yǔ)言是英文。
ie=UTF-8:文字格式。
spd=2:語(yǔ)速,可以是1-9的數(shù)字,數(shù)字越大,語(yǔ)速越快。
text=**:這個(gè)就是你要轉(zhuǎn)換的文字。
怎樣調(diào)用?
上述接口的url,在瀏覽器上直接打開(kāi),即可聽(tīng)到文字轉(zhuǎn)換后的語(yǔ)音。
但是真實(shí)應(yīng)用時(shí)可不能在瀏覽器里直接打開(kāi)這個(gè)url,而是需要在一個(gè)網(wǎng)頁(yè)里無(wú)縫嵌入該語(yǔ)音模塊。該怎么處理呢?
1)通過(guò)HTML調(diào)用接口
我們可以通過(guò)如下的html代碼來(lái)運(yùn)行語(yǔ)音接口。
<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>
問(wèn)題來(lái)了,text的字符串是如何得來(lái)的?其實(shí),是通過(guò)javascript的encodeURI()函數(shù)編碼得來(lái)的。上述字符串是“測(cè)試百度文字轉(zhuǎn)語(yǔ)音接口 - 卡卡測(cè)速網(wǎng) www.webkaka.com”通過(guò)encodeURI()函數(shù)編碼得來(lái)的。
2)通過(guò)JS調(diào)用接口
下面是JS的實(shí)現(xiàn)代碼:
<script type="text/javascript">
var zhText = "測(cè)試百度文字轉(zhuǎn)語(yǔ)音接口 - 卡卡測(cè)速網(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>