JAVAScript监听文本实现队列顺序语音报号

  1     //语音报号
  2     function soundplay() {
  3         
  4         if(!+[1,]) {
  5             var musicFile = "<embed hidden='true' id='music0' autostart='false' src='/resources/war/0.wav' />" +
  6                     "<embed hidden='true' id='music1' autostart='false' src='/resources/war/1.wav' /> " +
  7                     "<embed hidden='true' id='music2' autostart='false' src='/resources/war/2.wav' />" +
  8                     "<embed hidden='true' id='music3' autostart='false' src='/resources/war/3.wav' />" +
  9                     "<embed hidden='true' id='music4' autostart='false' src='/resources/war/4.wav' /> " +
 10                     "<embed hidden='true' id='music5' autostart='false' src='/resources/war/5.wav' /> " +
 11                     "<embed hidden='true' id='music6' autostart='false' src='/resources/war/6.wav' /> " +
 12                     "<embed hidden='true' id='music7' autostart='false' src='/resources/war/7.wav' /> " +
 13                     "<embed hidden='true' id='music8' autostart='false' src='/resources/war/8.wav' /> " +
 14                     "<embed hidden='true' id='music9' autostart='false' src='/resources/war/9.wav' />";
 15             $(".pay_obj").append(musicFile);
 16         } 
 17         
 18     };
 19     
 20         
 21         function otherBrowserMusicEvent(event) {
 22             
 23             switch(event.keyCode) {
 24                     case 48 : 
 25                         $(".pay_obj").append("<embed hidden='true' width='0' height='0'  autostart='false' src='/resources/war/0.wav' />");
 26                         break;
 27                     case 49 : 
 28                         $(".pay_obj").append("<embed hidden='true' width='0' height='0'  autostart='false' src='/resources/war/1.wav' />");
 29                         break;
 30                     case 50 : 
 31                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/2.wav' />");
 32                         break;
 33                     case 51 : 
 34                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/3.wav' />");
 35                         break;
 36                     case 52 : 
 37                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/4.wav' />");
 38                         break;
 39                     case 53 : 
 40                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/5.wav' />");
 41                         break;
 42                     case 54 :
 43                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/6.wav' />");
 44                         break;
 45                     case 55 :
 46                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/7.wav' />");
 47                         break;
 48                     case 56 :
 49                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/8.wav' />");
 50                         break;
 51                     case 57 :
 52                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/9.wav' />");
 53                         break;
 54                     case 96 : 
 55                         $(".pay_obj").append("<embed hidden='true' width='0' height='0'  autostart='false' src='/resources/war/0.wav' />");
 56                         break;
 57                     case 97 : 
 58                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/1.wav' />");
 59                         break;
 60                     case 98 : 
 61                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/2.wav' />");
 62                         break;
 63                     case 99 : 
 64                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/3.wav' />");
 65                         break;
 66                     case 100 : 
 67                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/4.wav' />");
 68                         break;
 69                     case 101 : 
 70                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/5.wav' />");
 71                         break;
 72                     case 102 :
 73                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/6.wav' />");
 74                         break;
 75                     case 103 :
 76                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/7.wav' />");
 77                         break;
 78                     case 104 :
 79                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/8.wav' />");
 80                         break;
 81                     case 105 :
 82                         $(".pay_obj").append("<embed hidden='true' width='0' height='0' autostart='false' src='/resources/war/9.wav' />");
 83                         break;
 84                 }
 85             return false;
 86         }
 87         
 88         function IEBrowserMusicEvent(event) {
 89             switch(event.keyCode) {
 90                     case 48 :
 91                         music0.play();
 92                         break;
 93                     case 49 : 
 94                         music1.play();
 95                         break;
 96                     case 50 : 
 97                         music2.play();
 98                         break;
 99                     case 51 : 
100                         music3.play();
101                         break;
102                     case 52 : 
103                         music4.play();
104                         break;
105                     case 53 : 
106                         music5.play();
107                         break;
108                     case 54 :
109                         music6.play();
110                         break;
111                     case 55 :
112                         music7.play();
113                         break;
114                     case 56 :
115                         music8.play();
116                         break;
117                     case 57 :
118                         music9.play();
119                         break;
120                     case 96 :
121                         music0.play();
122                         break;
123                     case 97 :
124                         music1.play();
125                         break;
126                     case 98 :
127                         music2.play();
128                         break;
129                     case 99 :
130                         music3.play();
131                         break;
132                     case 100 :
133                         music4.play();
134                         break;
135                     case 101 :
136                         music5.play();
137                         break;
138                     case 102 :
139                         music6.play();
140                         break;
141                     case 103 :
142                         music7.play();
143                         break;
144                     case 104 :
145                         music8.play();
146                         break;
147                     case 105 :
148                         music9.play();
149                         break;
150                 }
151         }
152     
153     /***********************************语音报号结束*********************/
View Code

 

实现队列删除首元素:

 1     function removeFirst(array){
 2         var len = 0;
 3         if(array.length>0){
 4             len = array.length - 1;
 5         }
 6         var newArray = new Array(len);
 7         for(var i=0;i<array.length-1;i++){
 8             newArray[i] = array[i+1];
 9         }
10         return newArray;
11     };

 

文本监听,兼容ie和非ie浏览器

 1         var array = new Array();
 2         var tag = 0;
 3         
 4         $("#phone").keyup(function(event){
 5              var test = document.getElementById("whetherTelSound").checked;
 6              var code = event.keyCode;
 7              if(code>=48 && code<=57 || code>=96 && code<=105){
 8                  array.push(code);
 9              }
10              if(test){
11                  if(array.length>0 && tag == 0){
12                      tag = 1;
13                      setTimeout(function(){
14                          if(!+[1,]) {
15                                 IEBrowserMusicEvent(array[0]);
16                             } else {
17                                 otherBrowserMusicEvent(array[0]);
18                             }
19                          array = removeFirst(array);
20                      },100);
21                      var interval = setInterval(function(){
22                          if(array.length>0){
23                              if(!+[1,]) {
24                                     IEBrowserMusicEvent(array[0]);
25                                 } else {
26                                     otherBrowserMusicEvent(array[0]);
27                                 }
28                              array = removeFirst(array);
29                          }else{
30                              clearInterval(interval);
31                              tag = 0;
32                          }
33                      },500);
34                  }
35 
36             }

 

附:

1、准备0-9十个语音文件

下载地址:http://download.csdn.net/detail/dignity568/4344108

推荐使用:http://download.csdn.net/detail/dignity568/6660783,文件更小,声音清晰短促

2、android语音报号:

a、android应用Mediaplayer监听文本框实现语音报号【http://www.cnblogs.com/qsl568/archive/2012/06/01/2529976.html

b、android应用SoundPool实现语音报号【http://www.cnblogs.com/qsl568/archive/2013/01/30/2882420.html

posted on 2014-01-09 09:58  Brown Qin  阅读(796)  评论(0编辑  收藏  举报

导航