From 35fefed0792c40cb99b8d15fa5811bbb5992bff9 Mon Sep 17 00:00:00 2001 From: D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore <chenjingjing@LAPTOP-E51P2139> Date: 星期一, 21 一月 2019 10:42:24 +0800 Subject: [PATCH] 修改 --- gx_tieta/WebRoot/js/VoiceUtil.js | 67 ++++++++++++++++++++++++++------- 1 files changed, 52 insertions(+), 15 deletions(-) diff --git a/gx_tieta/WebRoot/js/VoiceUtil.js b/gx_tieta/WebRoot/js/VoiceUtil.js index cfc0f6a..83f3db4 100644 --- a/gx_tieta/WebRoot/js/VoiceUtil.js +++ b/gx_tieta/WebRoot/js/VoiceUtil.js @@ -1,11 +1,12 @@ // 璁剧疆璇煶鎾姤瀵硅薄 var Voice = function() { this.speak = window.speechSynthesis; + this.tospeak = new SpeechSynthesisUtterance(''); this.voice = ''; this.zh_CN = false; this.rate = 1.5; this._setLang(); // 鑾峰彇骞舵娴嬫槸鍚︽湁涓枃鐨勭幆澧� - this.timeInterval = 28; //寰幆闂撮殧(绉�) + this.timeInterval = 27; //寰幆闂撮殧(绉�) this.speak_enable = true; //ture:寮�鍚闊虫挱鎶� false:鍋滄璇煶鎾姤 }; @@ -15,7 +16,7 @@ console.info('浣犵殑鐢佃剳涓嶆敮鎸佷腑鏂囨挱鎶ワ紒'); } _timeInterval = this.timeInterval; - //console.info(this.zh_CN); + //console.info(this.speak_enable); if(!this.speak_enable){ //璇嗗埆鏄惁寮�鍚0闊虫挱鎶� if(callback && typeof callback == 'function'){ setTimeout(function(){ @@ -25,19 +26,19 @@ return; } this.cancel(); - var to_speak = new SpeechSynthesisUtterance(txt); - to_speak.voice = this.voice; // 璁惧畾涓枃鎾姤 - to_speak.rate = this.rate; - console.info(to_speak); - this.speak.speak(to_speak); - + this.tospeak.text = txt; + this.tospeak.voice = this.voice; // 璁惧畾涓枃鎾姤 + this.tospeak.rate = this.rate; + //console.info(to_speak); var starttime = new Date(); - to_speak.onend = function(event) { - //console.info(event); + this.speak.speak(this.tospeak); + //console.info(this.tospeak); + this.tospeak.onend = function(event) { + //console.info("鎾斁缁撴潫"); if(callback && typeof callback == 'function'){ var endtime = new Date(); var timelong = (endtime.getTime()-starttime.getTime())/1000; - console.info(parseInt(_timeInterval)+"==="+parseInt(timelong)); + //console.info(parseInt(_timeInterval)+"==="+parseInt(timelong)); if(timelong > this.timeInterval){ callback(); }else{ @@ -48,9 +49,17 @@ } }; - to_speak.onerror = function(event) { - //console.info(event); - }; + +}; + +// 寮�鍚�/鍏抽棴褰撳墠璇煶鎾姤 锛堜緷璧栦笌base.js瀵煎叆鐨凜ookie鏂规硶锛� +Voice.prototype.changeSpeak = function(bool) { + this.speak_enable = bool; + setCookie('voice', bool); + // 閫�鍑哄綋鍓嶆挱鎶� + if(!bool) { + this.cancel(); + } }; // 閫�鍑哄綋鍓嶆挱鎶� @@ -84,4 +93,32 @@ var voice = new Voice(); -voice.cancel(); \ No newline at end of file +var voiceStatus = checkPageVoiceStatus(); +// 璁剧疆鍒濆璇煶鎾姤鐘舵�� +voice.changeSpeak(voiceStatus); +voice.cancel(); + +// 璁剧疆鍒濆鍖栬闊虫挱鎶ュ浘鏍� +if(!voiceStatus) { + $('.web-status .cell-list.voice').addClass('close-voice'); +} + +// 鐐瑰嚮澹伴煶鐨勫浘鏍� +$('.web-status .cell-list.voice').click(function() { + $(this).toggleClass('close-voice'); + // 鍒ゆ柇鏄惁鍏抽棴澹伴煶 + if($(this).hasClass('close-voice')) { + voice.changeSpeak(false); + }else { + voice.changeSpeak(true); + } +}); + +// 鑾峰彇椤甸潰璇煶鏄惁寮�鍚� +function checkPageVoiceStatus() { + var voiceStatus = getCookie('voice'); + // 璁剧疆鍒濆璇煶鎾姤鐘舵�� + voiceStatus = voiceStatus=='false'?false:true; + + return voiceStatus; +} \ No newline at end of file -- Gitblit v1.9.1