Index: ssts-web/src/main/webapp/js/speaker.js =================================================================== diff -u -r27325 -r27343 --- ssts-web/src/main/webapp/js/speaker.js (.../speaker.js) (revision 27325) +++ ssts-web/src/main/webapp/js/speaker.js (.../speaker.js) (revision 27343) @@ -38,11 +38,21 @@ //语音提示 this.speak = function(msg){ - if(msg && this.enabled && this.sapi){ + if(msg && this.enabled){ msg = msg +''; if(msg.length){ //第二个参数表示异步方式 ,https://msdn.microsoft.com/en-us/library/ms720892(v=VS.85).aspx - this.sapi.Speak(msg,1); + if(this.sapi){ + this.sapi.Speak(msg,1); + }else { + var synth = window.speechSynthesis; + var googleSpeack = new SpeechSynthesisUtterance(); + //汉语 + googleSpeack.lang = 'zh-CN'; + googleSpeack.rate = 1; + googleSpeack.text = msg; + synth.speak(googleSpeack); + } } } } @@ -62,29 +72,10 @@ * 通知一个消息,比如提示信息 */ function notice(msg){ - googleOrIESpeak(msg); + speaker.speak(msg); Ext.Msg.alert("提示",msg); } -/* - * 根据谷歌或IE浏览器选择不同的语音播放的方式 - */ - function googleOrIESpeak(content){ - if(!!window.ActiveXObject || "ActiveXObject" in window){ - if(speaker){ - speaker.speak(content); - } - }else { - var synth = window.speechSynthesis; - var googleSpeack = new SpeechSynthesisUtterance(); - //汉语 - googleSpeack.lang = 'zh-CN'; - googleSpeack.rate = 1; - googleSpeack.text = content; - synth.speak(googleSpeack); - } - } - /** * 登录欢迎信息 */ @@ -95,7 +86,7 @@ } welcome += userName; - googleOrIESpeak(welcome); + speaker.speak(welcome); } /** * 器械包集合对象,负责对器械包分组并统计数量 @@ -289,7 +280,7 @@ this.speakContent = function(){ var content = this.getSpeakContent(); - googleOrIESpeak(content); + speaker.speak(content); } /** * 获取所有物品的汇总信息,由类内部调用 @@ -319,9 +310,9 @@ */ this.speak = function(detailMsg,simpleMsg){ if(this.type == MESSAGE_PROMPT_TYPE_DETAIL){ - googleOrIESpeak(detailMsg); + speaker.speak(detailMsg); }else if(this.type == MESSAGE_PROMPT_TYPE_SIMPLE){ - googleOrIESpeak(simpleMsg); + speaker.speak(simpleMsg); } } /** @@ -372,7 +363,7 @@ } function confirmNUm(amount,ids){ if(amount > 9){ - googleOrIESpeak(amount); + speaker.speak(amount); }else{ playAudioAndTts(amount,ids); } @@ -398,7 +389,7 @@ if(speakBasket && msg == ""){ speakBasket.speakContent(); }else{ - googleOrIESpeak(msg); + speaker.speak(msg); } } } \ No newline at end of file