JS实现文字转语音并播放

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&amp;ie=UTF-8&amp;spd=5&amp;per=1&amp;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();

欢迎关注公众号:理木客
在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值