vue项目或网页上实现文字转换成语音播放功能


Posted in Javascript onJune 09, 2020

一、在网页上实现文字转换成语音

方式一:

摘要:语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的口语输出的技术。
1、 使用百度的接口:

http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字

2、参数说明:

lan=zh:语言是中文,如果改为lan=en,则语言是英文。

ie=UTF-8:文字格式。

spd=2:语速,可以是1-9的数字,数字越大,语速越快。

text=**:这个就是你要转换的文字。
3、代码示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>语音测试</title>
	</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_autio_id" autoplay="autoplay">
				<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&text=播报内容" type="audio/mpeg">
				<embed id="tts_embed_id" height="0" width="0" src="">
 </audio>
		</div>
	</body>
	<script type="text/javascript"> 
		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&spd=4&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();
		}
		</script>
</html>

方式二:
1、调动方法:参数为指定文字
2、这里主要用的是SpeechSynthesisUtterance的方法
3、代码示例:

在这里插入代码片
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<button id="abc">点击</button>
</body>
</html>
<script type="text/javascript">
	// window.οnlοad=function(){
	// 	const synth = window.speechSynthesis
		// let msg = new SpeechSynthesisUtterance("你好");
	// console.log(msg)
	// //msg.rate = 4 播放语速
	// //msg.pitch = 10 音调高低
	// //msg.text = "播放文本"
	// //msg.volume = 0.5 播放音量
	// synth.speak(msg);
	// }
	const synth = window.speechSynthesis
	const msg = new SpeechSynthesisUtterance()
	msg.text = 'hello world'
	msg.lang = 'zh-CN'
	function handleSpeak(e) {
		synth.speak(msg)
	}
	function throttle(fn,delay) {
		let last = 0
		return function() {
	 		const now = new Date()
	 		if(now - last > delay) {
	 		fn.apply(this,arguments)
	 		last = now
	 		}
		}
	}
 
 console.log(msg);
 
	document.getElementById('abc').onclick=throttle(handleSpeak,1000);
</script>

二、在vue项目中实现文字转换为语音播放

1、调用方法:参数为指定的文字
2、主要使用的也是是SpeechSynthesisUtterance的方法(其他方法也可以,如使用百度的接口)
3、代码示例:

在这里插入代码片
 <img
 v-on:click="read(word.word)"
 src="../../assets/laba.png"
 alt="小喇叭"
 width="20px"
 height="20px"
 style="float: right;margin-top: 7px"
 />
在这里插入代码片
 methods: {
 read: function(word) {
 const synth = window.speechSynthesis;
 const msg = new SpeechSynthesisUtterance();
 msg.text = word;
 msg.lang = "zh-CN";
 function handleSpeak(e) {
 synth.speak(msg);
 }
 function throttle(fn, delay) {
 let last = 0;
 return function() {
 const now = new Date();
 if (now - last > delay) {
 fn.apply(this, arguments);
 last = now;
 }
 };
 }
 console.log(msg);

 throttle(handleSpeak(), 1000);
 },
 }

点击小喇叭即可播放

vue项目或网页上实现文字转换成语音播放功能

总结

到此这篇关于在vue项目或网页上实现文字转换成语音的文章就介绍到这了,更多相关在vue项目或网页上实现文字转换成语音内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
分页栏的web标准实现
Nov 01 Javascript
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
js实现网页标题栏闪烁提示效果实例分析
Nov 20 Javascript
javascript实时显示当天日期的方法
May 20 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 Javascript
浅谈vue的第一个commit分析
Jun 08 #Javascript
从零开始在vue-cli4配置自适应vw布局的实现
Jun 08 #Javascript
详解Vue Cli浏览器兼容性实践
Jun 08 #Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 08 #Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 #Javascript
基于javascript处理二进制图片流过程详解
Jun 08 #Javascript
vue-router的hooks用法详解
Jun 08 #Javascript
You might like
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
List Installed Software Features
2007/06/11 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
JS实现随机点名器
2020/04/12 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
python批量制作雷达图的实现方法
2016/07/26 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
校园文化建设方案
2014/02/03 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
市场部经理岗位职责
2015/02/02 职场文书
交通安全教育主题班会
2015/08/12 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
Java设计模式之代理模式
2022/04/22 Java/Android
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers