js讀文字轉語音

方法一(推薦,):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();
相關文章
相關標籤/搜索