User interface good, sound recording not working.

This commit is contained in:
Simon Brooke 2022-09-18 09:25:08 +01:00
parent 1687242ba4
commit 3fc615b182
No known key found for this signature in database
GPG key ID: A7A4F18D1D4DF987
3 changed files with 5634 additions and 950 deletions

File diff suppressed because it is too large Load diff

View file

@ -19,8 +19,11 @@ const studentSounds = Array(80).fill(0).map(x => Array(13).fill(null));
function recordStudentSound(r, c) { function recordStudentSound(r, c) {
console.info("Entered recordStudentSound for row " + r + ", column " + c);
if (Number.isInteger(r) && Number.isInteger(c)) { if (Number.isInteger(r) && Number.isInteger(c)) {
$('#record-student').css('color', 'green'); $('#record-student').css('color', 'green');
try {
navigator.mediaDevices.getUserMedia({ audio: true }) navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => { .then(stream => {
const mediaRecorder = new MediaRecorder(stream); const mediaRecorder = new MediaRecorder(stream);
@ -40,16 +43,21 @@ function recordStudentSound(r, c) {
console.log("Successfully recorded student sound for row " + r + ", column " + c); console.log("Successfully recorded student sound for row " + r + ", column " + c);
} else { } else {
console.warn("Failed to record student sound for row " + r + ", column " + c); console.warn("Failed to record student sound for row " + r + ", column " + c);
window.alert("No sound detected. Check your microphone?");
} }
$('#record-student').css('color', 'red'); $('#record-student').css('color', 'red');
}, 3000); }, 3000);
}); });
} catch (error) {
console.error( error);
window.alert("Sound recording is only possible on secure connections.");
}
} }
} }
$(document).ready(function() { $(document).ready(function() {
$(".entry").on("click", function(e) { $(".entry-text").on("click", function(e) {
let cellId = e.currentTarget ? e.currentTarget.id : null; let cellId = e.currentTarget ? e.currentTarget.id : null;
if (cellId) if (cellId)
@ -73,7 +81,7 @@ $(document).ready(function() {
'top': e.pageY 'top': e.pageY
}); });
$("#character").text(e.currentTarget.innerText +": " + row +"," + col + "."); $("#character").text(e.currentTarget.innerText.substring(0, 1));
$("#play-tutor").off("click"); /* trying to remove any previous click handler */ $("#play-tutor").off("click"); /* trying to remove any previous click handler */
$("#play-tutor").on("click", function(e){ $("#play-tutor").on("click", function(e){

View file

@ -87,17 +87,13 @@
c ((columns col) (if long? :upper-latin :lower-latin)) c ((columns col) (if long? :upper-latin :lower-latin))
audio (format "audio/%02d%s.mp3" r c) audio (format "audio/%02d%s.mp3" r c)
char ((entries row) col)] char ((entries row) col)]
(vector :td {:class "entry" (vector :td {:class "entry"}
:id (format "%s%02d%s" (if long? "l" "s") r c) [:span {:class "entry-text"
;; :onclick (format :id (format "%s%02d%s" (if long? "l" "s") r c)} char]
;; "showPopup( '%s', '%s', '%s', '%s')" [:br]
;; (if long? row (+ row 40)) [:button
;; col {:onclick (str "new Audio('" audio "').play();")}
;; char "►"])))
;; audio)
}
;; (audio row col long?)
char)))
;; (entry-cell 3 4 true) ;; (entry-cell 3 4 true)