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 相关文章推荐
判断目标是否是window,document,和拥有tagName的Element的代码
May 31 Javascript
js获取当前日期代码适用于网页头部
Jun 27 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 Javascript
jQuery EasyUI 页面加载等待及页面等待层
Feb 06 Javascript
vue如何引用其他组件(css和js)
Apr 13 Javascript
深入学习JavaScript 高阶函数
Jun 11 Javascript
vue源码nextTick使用及原理解析
Aug 13 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
Sep 07 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 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 curl模拟浏览器抓取网站信息
2013/10/28 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python 寻找局部最高点的实现
2019/12/05 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
企业管理培训感言
2014/01/27 职场文书
继承公证书样本
2014/04/04 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
归元寺导游词
2015/02/06 职场文书