1.百度文字转语音开放API
html:
<div>
<input type="text" id="ttsText">
<input type="button" id="tts_btn" onclick="doTTS()" value="播放">
</div>
<div id="bdtts_div_id">
<audio id="tts_autio_id" autoplay="autoplay">
<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&per=1&text=请输入文字" type="audio/mpeg">
<embed id="tts_embed_id" height="0" width="0" src="">
</audio>
</div>
js:
function doTTS() {
var ttsDiv = document.getElementById('bdtts_div_id');
var ttsAudio = document.getElementById('tts_autio_id');
var ttsText = document.getElementById('ttsText').value;
// 文字转语音
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=' + ttsText + '" 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();
}
代码中改变传参可更改配置:
lan=zh(语言zh:中文;en:英文;fr:法文;)
ie=UTF-8(字符集)
per=3(每3个字符停顿)
spd=5(语音播放速度,数字越大越快0-15)
text=“”(需要转换的文字)
2.纯JS实现文字转语音
环境:
不支持IE浏览器
官网网址:
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis
基础使用:
var msg = new SpeechSynthesisUtterance("你好");
//msg.rate = 4 播放语速
//msg.pitch = 10 音调高低
//msg.text = "播放文本"
//msg.volume = 0.5 播放音量
speechSynthesis.speak(msg);
基础方法:
//播放
window.speechSynthesis.speak();
//暂停
window.speechSynthesis.pause();
//继续
window.speechSynthesis.resume();
//停止
window.speechSynthesis.cancel();
欢迎关注公众号:理木客