方法一(推薦,):html
1. 利用new關鍵字實例化一個 SpeechSynthesisUtterance 對象
2. 給實例化對象添加語音合成的屬性this
text – 要合成的文字內容,字符串。htm
lang – 使用的語言,字符串, "zh-cn"中文對象
voiceURI – 指定但願使用的聲音和服務,字符串。rem
volume – 聲音的音量,區間範圍是0到1,默認是1。字符串
rate – 語速,數值,默認值是1,範圍是0.1到10,表示語速的倍數。get
pitch – 表示說話的音高,數值,範圍從0(最小)到2(最大)。默認值爲1。it
3. 接下來是使用 speechSynthesis 對象,主要做用是觸發行爲,例如讀,停,還原等io
speak() – 只能接收SpeechSynthesisUtterance做爲惟一的參數,做用是讀合成的話語。function
stop() – 當即終止合成過程。
pause() – 暫停合成過程。
resume() – 從新開始合成過程。
//去除富文本里的img標籤,只剩下文字 var name_1=""; $("#editor").find("p").each(function () { if(($(this).html()).indexOf("img")==-1){ name_1+=$(this).text(); } })
var msg = new SpeechSynthesisUtterance(name_1); window.speechSynthesis.cancel(msg);//清除全部語音播報 window.speechSynthesis.speak(msg);//播放
方法二(在蘋果電腦上不支持播放):
var ttsDiv = document.getElementById('bdtts_div_id'); var ttsAudio = document.getElementById('tts_autio_id'); // 文字轉語音 ttsDiv.removeChild(ttsAudio); var au1 = '<audio id="tts_autio_id" autoplay="autoplay">'; var sss = '<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=3&spd=5&text=' + name_1 + '" type="audio/mpeg">'; var eee = '<embed id="tts_embed_id" height="0" width="0" src="">'; var au2 = '</audio>'; ttsDiv.innerHTML = au1 + sss + eee + au2; ttsAudio = document.getElementById('tts_autio_id'); ttsAudio.play();