Complete the speaking assessment! Your answers must be recorded in a single audio file and uploaded. While recording, make sure to verbally mention the number of the particular question you are answering for (e.g., one, answer 1; two, answer 2; three, answer 3).
0 of 1 questions completed
Questions:
You have already completed the quiz before. Hence you can not start it again.
Quiz is loading…
You must sign in or sign up to start the quiz.
You must first complete the following:
1
0 of 1
Time has elapsed
0 of 0 point(s), (0)
0 of 0, (0)
Essay(s) Pending: 0 (Possible Point(s): 0)
SPEAKING ASSESSMENT
Your answers must be recorded in a single audio file and uploaded. While recording, make sure to verbally mention the number of the particular question you are answering for (e.g., one, answer 1; two, answer 2; three, answer 3).
navigator.mediaDevices.getUserMedia({
audio: true
})
.then(stream => {
rec = new MediaRecorder(stream);
rec.ondataavailable = e => {
audio.push(e.data);
if (rec.state == “inactive”) {
let blob = new Blob(audio, {
type: ‘audio/x-mpeg-3’
});
recordedAudio.src = URL.createObjectURL(blob);
recordedAudio.controls = true;
audioDownload.href = recordedAudio.src;
audioDownload.download = ‘audio.mp3’;
audioDownload.innerHTML = ‘Download’;
submit(blob);
}
}
})
.catch(e => console.log(e));
function startRecording() {
document.getElementById(‘recicon’).style.display=”block”;
document.getElementById(‘audioDownload’).style.display=”none”;
startRecord.disabled = true;
stopRecord.disabled = false;
audio = [];
recordedAudio.controls = false;
rec.start();
}
function stopRecording() {
document.getElementById(‘recicon’).style.display=”none”;
document.getElementById(‘audioDownload’).style.display=”block”;
startRecord.disabled = false;
stopRecord.disabled = true;
rec.stop();
}
function submit(blob) {
var reader = new window.FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
var fd = new FormData();
base64data = reader.result;
console.log(base64data);
fd.append(‘file’, base64data, ‘audio.mp3’);
$.ajax({
type: ‘POST’,
url: ‘/’,
data: fd,
cache: false,
processData: false,
contentType: false,
enctype: ‘multipart/form-data’
}).done(function(data) {
console.log(data);
});
}
}
#recicon{
width: 35px;
height: 35px;
font-size: 0;
background-color: red;
border: 0;
border-radius: 35px;
margin: 18px;
outline: none;
animation-name: pulse;
animation-duration: 1.5s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
@keyframes pulse{
0%{
box-shadow: 0px 0px 5px 0px rgba(173,0,0,.3);
}
65%{
box-shadow: 0px 0px 5px 13px rgba(173,0,0,.3);
}
90%{
box-shadow: 0px 0px 5px 13px rgba(173,0,0,0);
}
}
#startRecord{
padding:10px;
color:black;
border:1px solid black;
background-color: white;
border-radius: 5px;
}
#stopRecord{
padding:10px;
color:black;
border:1px solid black;
background-color: grey;
border-radius: 5px;
}
#audioDownload{
padding:10px;
color:black;
border:1px solid black;
background-color: white;
border-radius: 5px;
text-decoration: none;
width:100px;
font-size:12px;
}
Upload your answer to this question.
This response will be reviewed and graded after submission.