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();
相关文章
相关标签/搜索