js文字转语音并播放

这里调用的是百度文字转语音开放API

html:

 1   <div>
 2     <input type="text" id="ttsText">
 3     <input type="button" id="tts_btn" onclick="doTTS()" value="播放">
 4   </div>
 5   <div id="bdtts_div_id">
 6     <audio id="tts_autio_id" autoplay="autoplay">
 7       <source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&amp;ie=UTF-8&amp;spd=5&amp;per=1&amp;text=请输入文字" type="audio/mpeg">
 8       <embed id="tts_embed_id" height="0" width="0" src="">
 9     </audio>
10   </div>

js:

 1     function doTTS() {
 2       var ttsDiv = document.getElementById('bdtts_div_id');
 3       var ttsAudio = document.getElementById('tts_autio_id');
 4       var ttsText = document.getElementById('ttsText').value;
 5 
 6       // 文字转语音
 7       ttsDiv.removeChild(ttsAudio);
 8       var au1 = '<audio id="tts_autio_id" autoplay="autoplay">';
 9       var sss = '<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=3&spd=5&text=' + ttsText + '" type="audio/mpeg">';
10       var eee = '<embed id="tts_embed_id" height="0" width="0" src="">';
11       var au2 = '</audio>';
12       ttsDiv.innerHTML = au1 + sss + eee + au2;
13 
14       ttsAudio = document.getElementById('tts_autio_id');
15 
16       ttsAudio.play();
17     }

代码中改变传参可更改配置:

lan=zh(语言zh:中文;en:英文;fr:法文;)

ie=UTF-8(字符集)

per=3(每3个字符停顿)

spd=5(语音播放速度,数字越大越快0-15)

text=“”(需要转换的文字)

posted @ 2018-08-14 14:59  电子猫  阅读(13196)  评论(3编辑  收藏  举报
博客已经出生了585天12小时9分18秒