Welcome to Code Forum!

Join a community that supports you and your coding journey from day one. We strive to be a friendly, supportive community that empowers everyone to be better developers. By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • Guest, before posting your code please take these rules into consideration:
    • It is required to use our BBCode feature to display your code. While within the editor click < / > or >_ and place your code within the BB Code prompt. This helps others with finding a solution by making it easier to read and easier to copy.
    • You can also use markdown to share your code. When using markdown your code will be automatically converted to BBCode. For help with markdown check out the markdown guide.
    • Don't share a wall of code. All we want is the problem area, the code related to your issue.

    GIF shows where to locate </> in the thread and or post editor toolbar.
    To learn more about how to use our BBCode feature, review our "How to post your code into threads" here.

    Thank you, Code Forum.

Playing Audio Using Keystrokes: Is It Possible?

Annabelle5893

Gold Coder
I'm wondering, how would I make an app that plays audio files using the keys on the number pad? Specifically, I want to make an app that triggers "Rotary Pulse 1" by pressing 1 on the numeric keypad, all the way up to "Rotary Pulse 0" on the 0 key. A dial tone will be toggled on by pressing the spacebar, which will begin with a "receiver pickup" noise. The dial tone turns off when digits are dialed via the numeric keypad. If you press the spacebar either when the dial tone is on, or after dialing a number, a "Receiver Hang Up" noise will be triggered. With the rotary dial sounds, the dial turning to the fingerhole is triggered at key down, and the release of the dial returning to the resting position will be triggered by releasing of the number corresponding to the fingerhole (1, 2, 3, 4, 5, 6, 7, 8, 9, 0). This will be accompanied by the internal sound of the dial pulses as heard in a telephone. What is the code I would use to make this audio app using HTML?
 
I'm guessing the semicolon precedes an else statement.
nope... semi-colons define the end of a snippet of code, such as declaring variables, function calls. The only time they are used in the signature of a piece of code is when using a for-loop. Although in js the semi-colon is not necessary, it is still used for readability.

Cases when to use and where to place semi-colon
JavaScript:
//variable declaration
var thisVar = 99;

//function calls
func1();

//for-loop
for(var index = 0; index < array.length; index++) {
    //logic here
}


// no semi-colon: function definitions
function (){
    //logic here
}

//no semi-colon: conditional statement
if ( thisVar == 'not here' ) {
    //logic here
}
 
I wonder why there's an error that says "Expected expression, got keyword Else", when clearly there's the word Else on line 96:14
Code:
function receiverRaised(){
    if(allowDial == false); {
        telephoneAnswered();
    }
            } else {        offHook();
    //what are we missing here? ;)
}
 
I wonder why there's an error that says "Expected expression, got keyword Else", when clearly there's the word Else on line 96:14
Code:
function receiverRaised(){
    if(allowDial == false); {
        telephoneAnswered();
    }
            } else {        offHook();
    //what are we missing here? ;)
}
...Please look at my commentary from your last question...that will tell you exactly why.
Also... there is an extra closing bracket
 
Last edited:
...Please look at my commentary from your last question...that will tell you exactly why.
Also... there is an extra closing bracket
I tried pressing enter on those links, but it just takes me to the end of this current page. Also, where exactly is the extra }?
 
I wonder if this is what's missing.
JavaScript:
function receiverRaised(){
    //why is there a semi-colon there? There shouldn't be
    if(allowDial == false) ; {
        telephoneAnswered();
    } //this should not be here
            } else {        offHook();
timeoutHowler.play // is .play a function, or an attribute of timeoutHowler? if so, needs parenthesis and semicolon
//it should be here
}
 
Last edited by a moderator:
I wonder if this is what's missing.
JavaScript:
function receiverRaised(){
    //why is there a semi-colon there? There shouldn't be
    if(allowDial == false) ; {
        telephoneAnswered();
    } //this should not be here
            } else {        offHook();
timeoutHowler.play // is .play a function, or an attribute of timeoutHowler? if so, needs parenthesis and semicolon
//it should be here
}
@Annabelle5893 Please take a look at my commentary
 
How would I explain it. .play is a parameter to play the specified audio. Would that be an attribute of the "audio" tag? Or would I put it as a separate function? I'm confused on this one!
so would it look like this
JavaScript:
timeoutHowler.play()

OR like this

JavaScript:
thisFunc(timeoutHowler.play)
 
Now that I've done that, I'm getting a Missing ) after argument list error on Line 416:12. Though when I read carefully in that general area, there are ) in the code, so I wonder what argument is missing the ).
 
I meant, can you copy and paste your entire code again, with the new changes you made
I want to see exactly what is causing this error
Sure thing!
JavaScript:
var dialTone=new Audio('file:///M:/Documents/Virtual%20Phone/Call%20Progress%20Tones/Dial%20Tone/USA%20Dial%20Tone.ogg');
var isOffHook=false;
var callIncoming=false;
var allowDial = true;
var ringingTone=new Audio('Ringing Tone/Princess%20702B%20Bell%20Ring.ogg');
var timesRung=0;
var availableNumbers=["0","611","711","811","911","*67 + 1 (847) 765-1008","1 (847) 765-1008","867-5309",
                        "1 (212) 456-1414","555-1212","555-5555","748-0900","650-0050","650-8950",
                        "970-3920","1 (714) 733-9969","*57","*69"];


function reload(){
    location.reload(true);
}

function numberSuggestion(){
    var randomNumber=Math.floor(Math.random()*(availableNumbers.length));
    var suggestedNumber=availableNumbers[randomNumber];
    document.getElementById("suggestion").innerHTML="How about dialing <strong id='suggestedTelephoneNumber'>"+
                                                    suggestedNumber+
                                                    "</strong>? Don't like this number? Click the button above again!";
}

function receiverRaised(){
    if(allowDial == false) {
        telephoneAnswered()
}
    if(allowDial == true) {
        dialTone.play();
}
else {  offHook()
timeoutHowler.play();
}

setCallTimeout();
function setCallTimeout(){
    var delay=5000;
    var delayCaller=Math.floor((Math.random()*8000)+1);
    delay=delay+delayCaller;
    setTimeout(incomingCall,delay);
}

function offHook(){isOffHook=true;
}
document.getElementById("WE2500").style.display="none";document.getElementById("dialPad").style.display="block";
}

function dialToneTimedOut() {
allowDial=false;
timeoutHowler();
    if(DialToneTimedOut == true) {
        timeoutHowler.play();
        timeoutHowler.currentTime=0;
}

function incomingCall(){
    
    var ringRing=new Audio('Ringing Tone/Princess%20702B%20Bell%20Ring.ogg');
    var hasTelephoneBeenAnswered=false;
    ringTelephone();
}

function ringTelephone(){
    if(!hasTelephoneBeenAnswered == false) {
        ringRing.play();
        ringRing.currentTime=0;
    }
    
    if(isOffHook == false) {
        ringRing.play();
    }
    if(allowDial == false) {
    callIncoming=true;
    setInterval(ringTelephone,5500);
}

var number="";var timeout;
function numberDial() {
if(dialTone){dialTone.pause();
dialTone.currentTime=0
}

function dial1() {
    if(allowDial == true) {
        numberDial();
        number=number+"1";
        var DTMFToneDial1=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF%20Tone%20Dial%201.ogg');
        DTMFToneDial1.play();
}

function dial2() {
    if(allowDial == true); {
        numberDial();
        number=number+"2";
        var DTMFToneDial2=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF%20Tone%20Dial%202.ogg');
        DTMFToneDial2.play();
}

function dial3() {
    if(allowDial == true); {
        numberDial();
        number=number+"3";
        var DTMFToneDial3=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 3.ogg');
        DTMFToneDial3.play();
}

function dial4() {
    if(allowDial == true) {
        numberDial();
        number=number+"4";
        var DTMFToneDial4=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 4.ogg');
        DTMFToneDial4.play();
}

function dial5() {
    if(allowDial == true) {
        numberDial();
        number=number+"5";
        var DTMFToneDial5=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 5.ogg');
        DTMFToneDial5.play();
}

function dial6() {
    if(allowDial == true) {
        numberDial();
        number=number+"6";
        var DTMFToneDial6=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 6.ogg');
        DTMFToneDial6.play();
}

function dial7() {
    if(allowDial == true) {
    numberDial();
    number=number+"7";
    var DTMFToneDial7=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 7.ogg');
    DTMFToneDial7.play();
}

function dial8() {
    if(allowDial == true) {
        numberDial();
        number=number+"8";
        var DTMFToneDial8=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 8.ogg');
        DTMFToneDial8.play();
}

function dial9() {
    if(allowDial == true) {
        numberDial();
        number=number+"9";
        var DTMFToneDial9=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 9.ogg');
        DTMFToneDial9.play();
}

function dialStar() {
    if(allowDial == true) {
        numberDial();
        number=number+"*";
        var DTMFToneDialStar=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial Star.ogg');
        DTMFToneDialStar.play();
}

function dial0() {
    if(allowDial == true) {
        numberDial();
        number=number+"0";
        var DTMFToneDial0=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 0.ogg');
        DTMFToneDial0.play();
    }

function dialPound(){
    if(allowDial == true) {
        numberDial();
        number=number+"#";
        var DTMFToneDialPound=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial Pound.ogg');
        DTMFToneDialPound.play();
}

document.onkeydown = function (event) {
    if(event.keycode == 32 ) {
        receiverRaised();
}
    if(event.keycode == 49 || event.keycode == 97) {
        dial1();
    }
    if(event.keycode == 50 || event.keycode == 98) {
        dial2();
    }
    if(event.keycode == 51 || event.keycode == 99) {
        dial3();
    }
    if(event.keycode == 52 || event.keycode == 100) {
        dial4();
    }
    if(event.keycode == 53 || event.keycode == 101) {
        dial5();
    }
    if(event.keycode == 54 || event.keycode == 102) {
        dial6();
    }
    if(event.keycode == 55 || event.keycode == 103) {
        dial7();
    }
    if(event.keycode == 56 || event.keycode == 104) {
        dial8();
    }
    if(event.keycode == 57 || event.keycode == 105) {
        dial9();
    }
    if(event.keycode == 106 ) {
        dialStar();
    }
    if(event.keycode == 48 || event.keycode == 96) {
        dial0();
    }
    if(event.keycode == 109) {
        dialPound();
    }

function ring(){
    ringingTone.play();
    timesRung++;
    if(timesRung>1) {
        setTimeout(response,700);
    }   

function dial(){
    allowDial=false;
    ring();
    setTimeout(ring,4000);
}

function busy() {
busyTone();
function busyTone() {
var pickupBusy=new Audio('file:///M:/Documents/Virtual%20Phone/Call%20Progress%20Tones/Busy%20Tone/USA%20Busy%20Tone.ogg');
pickupBusy.play();
pickupBusy.currentTime=0;
}
setInterval(busyTone,4000);
}

function response(){
    switch(number){
        case "0":
            var operatorPickup=new Audio('callResponses/OperatorAnswer.wav');
            operatorPickup.addEventListener("ended",function(){
                number=prompt("Operator, your number please? (Numbers only; enter 'police' for police and emergency)");
                if(number==null){
                    number="0";
                }
                operatorPutCallThrough();
            });
            operatorPickup.play();
            break;
        case "611":
            var pickup611=new Audio('callResponses/611.wav');
            pickup611.addEventListener("ended", function(){
                timeoutHowler();
            });
            pickup611.play();
            break;
        case "711":
            var pickup711=new Audio('callResponses/tdd-1.mp3');
            pickup711.play();
            break;
        case "811":
            var pickup611=new Audio('callResponses/811.wav');
            pickup811.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickup811.play();
            break;
        case "911":
            var pickup911=new Audio('callResponses/911-xxx-fleet.mp3');
            pickup911.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickup911.play();
            break;
        case "18477651008":
            var pickupMCI=new Audio('callResponses/MCI.wav');
            pickupMCI.play();
            break;
        case "8675309":
            var pickup8675309=new Audio('callResponses/discoornis-bell-f1.mp3');
            pickup8675309.addEventListener("ended",    function(){
                timeoutHowler();
            });
            pickup8675309.play();
            break;
        case "12124561414":
            busy();
            break;
        case "5551212":
            busy();
            break;
        case "5555555":
            var pickup5555555=new Audio('callResponses/timeout-xxx-fleet.mp3');
            pickup5555555.addEventListener("ended",
                function(){timeoutHowler();
            });
            pickup5555555.play();
            break;
        case "7480900":
            var pickupSelf=new Audio('callResponses/partyline-xxx-fleet.mp3');
            pickupSelf.play();
            break;
        case "18005820655":
            busy();
            break;
        case "6508950":
            var pickupAM=new Audio('callResponses/answering-machine-1.mp3');
            pickupAM.play();
            break;
        case "6500050":
            var pickupModem=new Audio('modem.wav');
            pickupModem.play();
            break;
        case "9703920":
            var pickupFax=new Audio('fax-1.mp3');
            pickupFax.play();
            break;
        case "17147339969":
            var pickup714=new Audio('device-conference.mp3');
            pickup714.play();
            break;
        case "*8217147339969":
            var pickup714=new Audio('device-conference.mp3');
            pickup714.play();
            break;
        case "*6717147339969":
            var pickup714block=new Audio('callResponses/reject2-xxx-fleet.mp3');
            pickup714block.addEventListener("ended",
function() {
                timeoutHowler();
            });
            pickup714block.play();
            break;
        case "*57":
            var randNum57=Math.random()>=0.5;
            if(randNum57){
                var pickupCallTrace=new Audio('callResponses/trace3-xxx-fleet.mp3');
            } else {
                var pickupCallTrace=new Audio('callResponses/trace-xxx-fleet.mp3');
            }
            pickupCallTrace.addEventListener("ended",
function() {
                timeoutHowler();
            }
            pickupCallTrace.play();
            break;
        case "*69":
            var pickupStar69=new Audio('callResponses/return-xxx-fleet.mp3');
            pickupStar69.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickupStar69.play();
            break;
        case "police":
            var pickupPolice=new Audio('callResponses/policePickup.wav');
            pickupPolice.addEventListener("ended",function() {
                var policeComplaint=prompt("Police Department, Sergeant Duffy Speaking.");
                confirm("Really? You say that "+policeComplaint);
                var policeHangup=new Audio('callResponses/policeHangup.wav');
                policeHangup.addEventListener("ended",
function() {timeoutHowler();
}
            pickupPolice.play();
            break;
        default:
            var pickupDefault;
            if(number.length>7){
                pickupDefault=new Audio('callResponses/ldcircuits-bell-f1.mp3');
            } else {
                pickupDefault=new Audio('callResponses/completeordc-xxx-fleet.mp3');
            }
            pickupDefault.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickupDefault.play();
            break;
    }
 
ok... so you're gonna hate me lol... I provided some more feedback for ya
JavaScript:
var dialTone=new Audio('file:///M:/Documents/Virtual%20Phone/Call%20Progress%20Tones/Dial%20Tone/USA%20Dial%20Tone.ogg');
var isOffHook=false;
var callIncoming=false;
var allowDial = true;
var ringingTone=new Audio('Ringing Tone/Princess%20702B%20Bell%20Ring.ogg');
var timesRung=0;
var availableNumbers=["0","611","711","811","911","*67 + 1 (847) 765-1008","1 (847) 765-1008","867-5309",
                        "1 (212) 456-1414","555-1212","555-5555","748-0900","650-0050","650-8950",
                        "970-3920","1 (714) 733-9969","*57","*69"];


function reload(){
    location.reload(true);
}

function numberSuggestion(){
    var randomNumber=Math.floor(Math.random()*(availableNumbers.length));
    var suggestedNumber=availableNumbers[randomNumber];
    document.getElementById("suggestion").innerHTML="How about dialing <strong id='suggestedTelephoneNumber'>"+
                                                    suggestedNumber+
                                                    "</strong>? Don't like this number? Click the button above again!";
}

function receiverRaised(){
    if(allowDial == false) {
        telephoneAnswered()
    }
    if(allowDial == true) {
        dialTone.play();
    }
    else {
        offHook()
        timeoutHowler.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

setCallTimeout();
function setCallTimeout(){
    var delay=5000;
    var delayCaller=Math.floor((Math.random()*8000)+1);
    delay=delay+delayCaller;
    setTimeout(incomingCall,delay);
}

function offHook(){
    isOffHook=true;
}
//is this line part of offHook? If so.. it should be inside of the function
document.getElementById("WE2500").style.display="none";document.getElementById("dialPad").style.display="block";
}//may be an extra closing bracket?

function dialToneTimedOut() {
allowDial=false;
timeoutHowler();
    if(DialToneTimedOut == true) {
        timeoutHowler.play();
        timeoutHowler.currentTime=0;
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function incomingCall(){   
    var ringRing=new Audio('Ringing Tone/Princess%20702B%20Bell%20Ring.ogg');
    var hasTelephoneBeenAnswered=false;
    ringTelephone();
}

function ringTelephone(){
    if(!hasTelephoneBeenAnswered == false) {
        ringRing.play();
        ringRing.currentTime=0;
    }
   
    if(isOffHook == false) {
        ringRing.play();
    }
    if(allowDial == false) {
        callIncoming=true;
        setInterval(ringTelephone,5500);
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

var number="";var timeout;
function numberDial() {
    if(dialTone){
        dialTone.pause();
        dialTone.currentTime=0;
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial1() {
    if(allowDial == true) {
        numberDial();
        number=number+"1";
        var DTMFToneDial1=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF%20Tone%20Dial%201.ogg');
        DTMFToneDial1.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial2() {
    if(allowDial == true); {
        numberDial();
        number=number+"2";
        var DTMFToneDial2=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF%20Tone%20Dial%202.ogg');
        DTMFToneDial2.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial3() {
    if(allowDial == true); {
        numberDial();
        number=number+"3";
        var DTMFToneDial3=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 3.ogg');
        DTMFToneDial3.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial4() {
    if(allowDial == true) {
        numberDial();
        number=number+"4";
        var DTMFToneDial4=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 4.ogg');
        DTMFToneDial4.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial5() {
    if(allowDial == true) {
        numberDial();
        number=number+"5";
        var DTMFToneDial5=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 5.ogg');
        DTMFToneDial5.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial6() {
    if(allowDial == true) {
        numberDial();
        number=number+"6";
        var DTMFToneDial6=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 6.ogg');
        DTMFToneDial6.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial7() {
    if(allowDial == true) {
        numberDial();
        number=number+"7";
        var DTMFToneDial7=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 7.ogg');
        DTMFToneDial7.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial8() {
    if(allowDial == true) {
        numberDial();
        number=number+"8";
        var DTMFToneDial8=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 8.ogg');
        DTMFToneDial8.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial9() {
    if(allowDial == true) {
        numberDial();
        number=number+"9";
        var DTMFToneDial9=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 9.ogg');
        DTMFToneDial9.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dialStar() {
    if(allowDial == true) {
        numberDial();
        number=number+"*";
        var DTMFToneDialStar=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial Star.ogg');
        DTMFToneDialStar.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

function dial0() {
    if(allowDial == true) {
        numberDial();
        number=number+"0";
        var DTMFToneDial0=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial 0.ogg');
        DTMFToneDial0.play();
    }
//what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }

function dialPound(){
    if(allowDial == true) {
        numberDial();
        number=number+"#";
        var DTMFToneDialPound=new Audio('file:///M:/Documents/Virtual%20Phone/DTMF%20Tone%20Dials/DTMF Tone Dial Pound.ogg');
        DTMFToneDialPound.play();
    //what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
}

document.onkeydown = function (event) {
    if(event.keycode == 32 ) {
        receiverRaised();
    }
    if(event.keycode == 49 || event.keycode == 97) {
        dial1();
    }
    if(event.keycode == 50 || event.keycode == 98) {
        dial2();
    }
    if(event.keycode == 51 || event.keycode == 99) {
        dial3();
    }
    if(event.keycode == 52 || event.keycode == 100) {
        dial4();
    }
    if(event.keycode == 53 || event.keycode == 101) {
        dial5();
    }
    if(event.keycode == 54 || event.keycode == 102) {
        dial6();
    }
    if(event.keycode == 55 || event.keycode == 103) {
        dial7();
    }
    if(event.keycode == 56 || event.keycode == 104) {
        dial8();
    }
    if(event.keycode == 57 || event.keycode == 105) {
        dial9();
    }
    if(event.keycode == 106 ) {
        dialStar();
    }
    if(event.keycode == 48 || event.keycode == 96) {
        dial0();
    }
    if(event.keycode == 109) {
        dialPound();
    }

function ring(){
    ringingTone.play();
    timesRung++;
    if(timesRung>1) {
        setTimeout(response,700);
    }
//what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }

function dial(){
    allowDial=false;
    ring();
    setTimeout(ring,4000);
}

function busy() {
    busyTone();
    setInterval(busyTone,4000);
}

function busyTone() {
    var pickupBusy=new Audio('file:///M:/Documents/Virtual%20Phone/Call%20Progress%20Tones/Busy%20Tone/USA%20Busy%20Tone.ogg');
    pickupBusy.play();
    pickupBusy.currentTime=0;
}

function response(){
    switch(number){
        case "0":
            var operatorPickup=new Audio('callResponses/OperatorAnswer.wav');
            operatorPickup.addEventListener("ended",function(){
                number=prompt("Operator, your number please? (Numbers only; enter 'police' for police and emergency)");
                if(number==null){
                    number="0";
                }
                operatorPutCallThrough();
            });
            operatorPickup.play();
            break;
        case "611":
            var pickup611=new Audio('callResponses/611.wav');
            pickup611.addEventListener("ended", function(){
                timeoutHowler();
            });
            pickup611.play();
            break;
        case "711":
            var pickup711=new Audio('callResponses/tdd-1.mp3');
            pickup711.play();
            break;
        case "811":
            var pickup611=new Audio('callResponses/811.wav');
            pickup811.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickup811.play();
            break;
        case "911":
            var pickup911=new Audio('callResponses/911-xxx-fleet.mp3');
            pickup911.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickup911.play();
            break;
        case "18477651008":
            var pickupMCI=new Audio('callResponses/MCI.wav');
            pickupMCI.play();
            break;
        case "8675309":
            var pickup8675309=new Audio('callResponses/discoornis-bell-f1.mp3');
            pickup8675309.addEventListener("ended", function(){
                timeoutHowler();
            });
            pickup8675309.play();
            break;
        case "12124561414":
            busy();
            break;
        case "5551212":
            busy();
            break;
        case "5555555":
            var pickup5555555=new Audio('callResponses/timeout-xxx-fleet.mp3');
            pickup5555555.addEventListener("ended", function(){
                timeoutHowler();
            });
            pickup5555555.play();
            break;
        case "7480900":
            var pickupSelf=new Audio('callResponses/partyline-xxx-fleet.mp3');
            pickupSelf.play();
            break;
        case "18005820655":
            busy();
            break;
        case "6508950":
            var pickupAM=new Audio('callResponses/answering-machine-1.mp3');
            pickupAM.play();
            break;
        case "6500050":
            var pickupModem=new Audio('modem.wav');
            pickupModem.play();
            break;
        case "9703920":
            var pickupFax=new Audio('fax-1.mp3');
            pickupFax.play();
            break;
        case "17147339969":
            var pickup714=new Audio('device-conference.mp3');
            pickup714.play();
            break;
        case "*8217147339969":
            var pickup714=new Audio('device-conference.mp3');
            pickup714.play();
            break;
        case "*6717147339969":
            var pickup714block=new Audio('callResponses/reject2-xxx-fleet.mp3');
            pickup714block.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickup714block.play();
            break;
        case "*57":
            var randNum57=Math.random()>=0.5;
            if(randNum57){
                var pickupCallTrace=new Audio('callResponses/trace3-xxx-fleet.mp3');
            } else {
                var pickupCallTrace=new Audio('callResponses/trace-xxx-fleet.mp3');
            }
            pickupCallTrace.addEventListener("ended", function() {
                timeoutHowler();
            }
            pickupCallTrace.play();
            break;
        case "*69":
            var pickupStar69=new Audio('callResponses/return-xxx-fleet.mp3');
            pickupStar69.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickupStar69.play();
            break;
        case "police":
            var pickupPolice=new Audio('callResponses/policePickup.wav');
            pickupPolice.addEventListener("ended",function() {
                var policeComplaint=prompt("Police Department, Sergeant Duffy Speaking.");
                confirm("Really? You say that "+policeComplaint);
                var policeHangup=new Audio('callResponses/policeHangup.wav');
                policeHangup.addEventListener("ended", function() {
                    timeoutHowler();
            }//what are we misssing here? HINT: count the number of open parenthesis ( ... there should be the same number of closing brackets )
            pickupPolice.play();
            break;
        default:
            var pickupDefault;
            if(number.length>7){
                pickupDefault=new Audio('callResponses/ldcircuits-bell-f1.mp3');
            } else {
                pickupDefault=new Audio('callResponses/completeordc-xxx-fleet.mp3');
            }
            pickupDefault.addEventListener("ended", function() {
                timeoutHowler();
            });
            pickupDefault.play();
            break;
    }
//what are we misssing here? HINT: count the number of open brackets { ... there should be the same number of closing brackets }
 
Back
Top Bottom