1. 程式人生 > >百度文字轉語音免費介面使用例項

百度文字轉語音免費介面使用例項

有的人突發奇想,想在微信平臺上把別人輸入的文字自動轉換為語音,然後傳送出去。這個想法非常好,我想也應該受到大家的歡迎,但是能否實現這一功能呢?自己開發是不可能的了,看有無這樣的介面更加實際。一向對新鮮事物比較感興趣的我為此查了一下相關的資料,終於發現了能實現此功能的介面。隨後,親自測試了一番,果真成功了。好東西當然要與眾分享了,本文通過一個例項來說明怎樣使用文字轉語音的介面。

先給大家提供文字轉語音的介面吧:

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,而是需要在一個網頁裡無縫嵌入該語音模組。該怎麼處理呢?

1)通過HTML呼叫介面

我們可以通過如下的html程式碼來執行語音介面。

<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的字串是如何得來的?其實,是通過javascript的encodeURI()函式編碼得來的。上述字串是“測試百度文字轉語音介面 - 卡卡測速網 www.webkaka.com”通過encodeURI()函式編碼得來的。

2)通過JS呼叫介面

下面是JS的實現程式碼:

<script type="text/javascript">
var zhText = "測試百度文字轉語音介面 - 卡卡測速網 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>

使用說明,把 zhText 的文字換成你要轉換的文字即可。

感謝:http://www.webkaka.com/tutorial/zhanzhang/2015/091647/