文字轉語音播放

背景

JS實現文字轉語音播放的各種實現方式統一整理如下:

 

實現方式

第一種:百度文字轉語音開放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=**:這個就是你要轉換的文字。
JS示例:

百度語音接口JS示例


第二種:微軟TTS語音引擎

注意:本方式僅支持IE瀏覽器,需要調用IE內置ActiveX控件

安裝方式:
a. 下載、並安裝插件:微軟TTS5.1語音引擎(中文)
b. 設置:安裝好後,打開IE瀏覽器的Internet選項的安全中,點開自定義級別,打開各個站點,將“ActiveX控件和插件”下的所有欄目設爲啓用。
屬性:
voiceObj.Rate:設置說話語速 語音朗讀速度,取值範圍爲-10到+10。數值越大,速度越快
voiceObj.Volume:設置說話音量 取值範圍爲0到100。數值越大,音量越大。
方法:
voiceObj.Speak:朗讀,將文本信息轉換爲語音並按照指定的參數進行朗讀,該方法有Text和Flags兩個參數,分別指定要朗讀的文本和朗讀方式(同步或異步等)。
voiceObj.GetVoices:獲取系統中的語音,用於指定SpVoice的Voice屬性。
voiceObj.Pause:暫停朗讀,可暫停使用該對象的所有朗讀進程。該方法沒有參數。
voiceObj.Resume:恢復朗讀,可恢復該對象所對應的被暫停的朗讀進程。該方法沒有參數。
voiceObj.Speak("", 2): 停止朗讀,第一個參數設爲空,第二個參數設爲2
JS示例

微軟TTS語音引擎使用示例

 

第三種:SpeechSynthesisUtterance

SpeechSynthesisUtterance是HTML5中新增的API,用於將指定文字合成爲對應的語音.也包含一些配置項,指定如何去閱讀(語言,音量,音調)等,不支持IE瀏覽器。

屬性
SpeechSynthesisUtterance.lang 獲取並設置話語的語言
SpeechSynthesisUtterance.pitch 獲取並設置話語的音調(值越大越尖銳,越低越低沉)
SpeechSynthesisUtterance.rate 獲取並設置說話的速度(值越大語速越快,越小語速越慢)
SpeechSynthesisUtterance.text 獲取並設置說話時的文本
SpeechSynthesisUtterance.voice 獲取並設置說話的聲音
SpeechSynthesisUtterance.volume 獲取並設置說話的音量
方法
speak() 將對應的實例添加到語音隊列中
cancel() 刪除隊列中所有的語音.如果正在播放,則直接停止
pause() 暫停語音
resume() 恢復暫停的語音
getVoices 獲取支持的語言數組. 注意:必須添加在voiceschanged事件中才能生效
JS示例

SpeechSynthesisUtterance語音播放JS示例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章