HTML、纯JS实现语音播放,实现定时刻播放
使用百度语音广播开放平台—免费生成语音
网址https://developer.baidu.com/vcast
HTML代码
<div id="bdtts_div_id"><audio id="tts_audio_id" autoplay="autoplay"><source id="tts_source_id" src="daohang.mp3" type="audio/mpeg"><embed id="tts_embed_id" height="0" width="0" src="daohang.wav" type="audio/wav"></audio>
</div>
JS代码
function audioPlay(inst) {if (inst==-2){setCurEndTimeAndPlay(2.0,3.6)}else if (inst==2){setCurEndTimeAndPlay(3.8,5.1)}else if (inst==0){setCurEndTimeAndPlay(5.6,6.7)}else if (inst==4){setCurEndTimeAndPlay(7.0,9.1)}else {setCurEndTimeAndPlay(0.1,1.7)}}function setCurEndTimeAndPlay(startTime,endTime){// 设置当前时间ttsAudio.currentTime=startTime;// 播放ttsAudio.play();var pausing_function = function(){if(ttsAudio.currentTime >= endTime) {ttsAudio.pause();// remove the event listener after you paused the playbackttsAudio.removeEventListener("timeupdate",pausing_function);}};ttsAudio.addEventListener("timeupdate", pausing_function);}function stop() {ttsAudio.pause();}
另外加一个免费的在线文字转语音的JS接口
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>百度地图将文字转化为语音并播放</title><!-- 这里调用的是百度文字转语音开放API --></head>
<body>
<div><input type="text" id="ttsText"><input type="button" id="tts_btn" onclick="doTTS()" value="播放">
</div>
<div id="bdtts_div_id"><audio id="tts_audio_id" autoplay="autoplay"><source id="tts_source_id" src="" type="audio/mpeg"><embed id="tts_embed_id" height="0" width="0" src=""></audio>
</div>
<!--<audio controls="controls" height="100" width="100"><source src="song.mp3" type="audio/mp3" /><source src="song.ogg" type="audio/ogg" /><embed height="100" width="100" src="song.mp3" />
</audio>-->
</body>
<script>// var str="你好啊";// console.log(typeof str);function doTTS(ttsText) {var ttsDiv = document.getElementById('bdtts_div_id');var ttsAudio = document.getElementById('tts_audio_id');var ttsText= document.getElementById('ttsText').value;console.log(ttsText);// 文字转语音ttsDiv.removeChild(ttsAudio);var au1 = '<audio id="tts_audio_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="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=3&spd=5&text=' + ttsText + '">';var au2 = '</audio>';ttsDiv.innerHTML = au1 + sss + eee + au2;ttsAudio = document.getElementById('tts_audio_id');ttsAudio.play();}/*代码中改变传参可更改配置:lan=zh(语言zh:中文;en:英文;fr:法文;)ie=UTF-8(字符集)per=3(每3个字符停顿)spd=5(语音播放速度,数字越大越快0-15)text=“”(需要转换的文字)*/
/* var msg = new SpeechSynthesisUtterance("hello everyone");console.log(msg);window.speechSynthesis.speak(msg);*/</script>
</html>
大概思路就是这些,如果需要自行加以更改即可使用。
记录一下。
HTML、纯JS实现语音播放,实现定时刻播放相关推荐
- java 前台播放视频_「纯js项目」海康视频项目,java后台+前台web显示的,望提供思路!...
纯js项目: 海康视频项目,java后台+前台web显示的,望提供思路! 如果只是实现BS架构,可以向海康要web开发包,直接使用浏览器通过ocx访问海康设备浏览视频,如果需要的功能不全,再使用JNI ...
- js实现语音播报+html自动播放音频
- 1. js生成语音源(利用百度的TTS): let str = "测试测试测试测试测试测试测试123测试测试测试测试测试测试123435"; let make_mp3 = &q ...
- HTML+纯JS制作音乐播放器
该篇文章会教你通过JavaScript制作一个简单的音乐播放器.包括播放.暂停.上一曲和下一曲. 阅读本文章你需要对HTML.CSS和Javascript有基本的了解. 话不多说,先上图. emmm. ...
- html图片百叶窗轮播,纯js百叶窗效果轮播图插件
这是一款纯js百叶窗效果轮播图插件.该js轮播图在图片切换时的效果类似于多张图片展开合成一张完整的大图.该轮播图由纯js编写,兼容ie8浏览器. 使用方法 在页面中引入imgSwitch.min.js ...
- 纯JS省市区三级联动
效果如图所示: HTML Code: [html] view plain copy <html> <head> <script type="text/javas ...
- 纯JS省市区三级不联动 数据有更新
// 纯JS省市区三级不联动 // // <?php Yii::app()->clientScript->registerScriptFile( Yii::app()->req ...
- 免费音频转换mp3格式,wav格式一次搞定 QT播放音频
1.之前使用的是QMediaPlayer,播放MP3文件,项目的需求是在特定的流程中播放音频提示,延时不能超过1秒.实际的效果是,执行了下面代码之后,还需要等几秒钟才能听到提示音,这显然和希望的结果不 ...
- html5轮播怎么自动换图,js实现轮播图效果 纯js实现图片自动切换
本文实例为大家分享了纯js实现图片自动切换的具体代码,供大家参考,具体内容如下 1.鼠标经过的时候左右两个小按钮会自动弹出,自动播放停止,点击左右小按钮可以切换图片: 2. 鼠标离开,恢复自动播放: ...
- html5网页怎么实现内容追加,纯js实现网页内容复制后自动追加自定义内容
网页操作内容复制内容后纯js实现监听自动追加自定义内容 不少网站技术或者博客上有这样的处理,当我们复制代码的时候,会自动加上一段本信息版权为XXXX,这是怎么实现的呢? 其实实现的方式很简单,可以在我 ...
最新文章
- 干掉Random:这个类已经成为获取随机数的王者
- Parallel Old收集器
- 设计模式C++实现(4)——桥接模式
- php xssclean,php – Codeigniter xss_clean困境
- Postman用法简介-Http请求模拟工具
- 信息学奥赛一本通 1233:接水问题 | 1950:【10NOIP普及组】接水问题 | OpenJudge NOI 1.9 15 | 洛谷 P1190 [NOIP2010 普及组] 接水问题
- 图卷积网络GCN的简单理解
- 识别同音字词pypinyin, 分词 jieba
- 详解Python的装饰器
- 程序理解与程序员的未来
- 深入理解Nginx负载均衡和反向代理_学习笔记
- 京东优惠价格策略助手
- python FTPS使用ftplib下载文件(详细)
- linux如何关闭netbios服务,Samba 'nmbd' NetBIOS名称服务守护程序拒绝服务漏洞
- 南邮计算机就业,这两所大学实力强劲,从专业到就业率分析,来看看谁更强吧...
- 开屏展示图的优化与理解
- 【黑科技】爬虫也可以一键获取 [加载更多] 数据,无编码学爬虫之三。
- EMC规划BRS产品线 推动私有云建设
- P2P式纳斯达克:小蚁区块链或将带来怎样的新金融?
- 【2020-MOOC-浙江大学-陈越、何钦铭-数据结构】春期中考试(附每一个题目的详细解析)