【前端】IE页面实现语音播报功能

转载请写明出处

目前限于IE,博主在写了兼容语句的jsp上应用可以在360浏览器上播放

 

1.下载、并安装插件:微软TTS5.1语音引擎(中文)

 

2.设置:安装好后,打开IE浏览器的Internet选项的安全中,点开自定义级别,打开各个站点,将“ActiveX控件和插件”下的所有栏目设为启用。

 

3.简单应用的话,直接在前端页面写个按钮,js的按钮事件中创建对象:

// 创建Sapi SpVoice对象

var voiceObj = new ActiveXObject("Sapi.SpVoice");

 

属性:

//设置说话语速  语音朗读速度,取值范围为-10到+10。数值越大,速度越快

voiceObj.Rate=?;  

 

//设置说话音量  取值范围为0到100。数值越大,音量越大。

 voiceObj.Volume=?;

 

//表示发音类型,相当于进行朗读的人,我们可以通过安装相应的语音引擎来增加相应的语音。

voiceObj.Voice=?;

 

方法:

 

//朗读,将文本信息转换为语音并按照指定的参数进行朗读,该方法有Text和Flags两个参数,分别指定要朗读的文本和朗读方式(同步或异步等)。

voiceObj.Speak("开始",1);

 

// 获取系统中的语音,用于指定SpVoice的Voice属性。

voiceObj.GetVoices();

 

//暂停朗读,可暂停使用该对象的所有朗读进程。该方法没有参数。

voiceObj.Pause();

 

//恢复朗读,可恢复该对象所对应的被暂停的朗读进程。该方法没有参数。

voiceObj.Resume();

 

//停止朗读,第一个参数设为空,第二个参数设为2

voiceObj.Speak("", 2);

 

//可以换女声哦

voiceObj.Voice=voiceObj.GetVoices('','').Item(2);

 

//设定音频输出,从下拉列表框中选择

voiceObj.AudioOutput = voiceObj.GetAudioOutputs().Item(i);

 

4.具体实现代码如下:

 

<html>
<head>
<title>滚动信息 - 51windows.net</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
</style>
<script type="text/javascript">
	function listen1(){
		var voiceObj = new ActiveXObject("Sapi.SpVoice");
		//朗读
		voiceObj.Speak("开始",1);
	}
	function listen2(){
		var voiceObj = new ActiveXObject("Sapi.SpVoice");
		//语速
		voiceObj.Rate=-1;  
		//音量
		voiceObj.Volume=60;
		//换女声
		voiceObj.Voice=voiceObj.GetVoices('','').Item(2);
		var text=document.getElementById("p1").innerHTML;
		
		//朗读
		voiceObj.Speak(text,1);
	}
</script>
</head>
<body>
	<input type="button" value="点击播放" οnclick="listen1();">
	<input type="button" value="点击播放2" οnclick="listen2();">
	<p id="p1">啦啦啦啦啦啦啦</p>
</body>
</html>

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章