-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsoundboard.js
63 lines (50 loc) · 1.2 KB
/
soundboard.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
var audio;
var HIT = 0;
var RUM = 1;
var SIR = 2;
function initAudio(){
audio = [document.getElementById('hit'),document.getElementById('rumble'),document.getElementById('siren')];
audio[HIT].volume = 0.2;
audio[SIR].volume = 0.4;
}
function playAudio(id){
var i;
switch(id){
case 'hit': i = HIT; break;
case 'rumble': i = RUM; break;
case 'siren': i = SIR; break;
default: i = -1;
}
var currAudio = audio[i];
if(currAudio.paused){
currAudio.currentTime = 0;
currAudio.play();
}
else {
currAudio.pause();
}
}
function stopAudio(){
audio.forEach(function(obj, index){
if(!obj.paused){
obj.pause();
}
});
}
$(document).ready(function(){
initAudio();
$('button').focus(function() {
this.blur();
});
$(document).keyup(function(e){
if(e.keyCode == 32){
stopAudio();
}else if(e.keyCode == 72){//hit
playAudio('hit');
}else if(e.keyCode == 82){ //rumble
playAudio('rumble');
}else if(e.keyCode == 83){ //siren
playAudio('siren');
}
});
});