【前端】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>

 

 

 

 

 

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