Spaces:
Running
Running
const recordButton = document.getElementById("recordButton"); | |
const stopButton = document.getElementById("stopButton"); | |
const audioChunks = []; | |
let mediaRecorder; | |
navigator.mediaDevices.getUserMedia({ audio: true }) | |
.then(function(stream) { | |
mediaRecorder = new MediaRecorder(stream); | |
recordButton.onclick = function() { | |
mediaRecorder.start(); | |
console.log("Recording started..."); | |
}; | |
stopButton.onclick = function() { | |
mediaRecorder.stop(); | |
console.log("Recording stopped..."); | |
}; | |
mediaRecorder.ondataavailable = function(e) { | |
audioChunks.push(e.data); | |
}; | |
mediaRecorder.onstop = function(e) { | |
const audioBlob = new Blob(audioChunks, { type: "audio/wav" }); | |
const reader = new FileReader(); | |
reader.readAsDataURL(audioBlob); | |
reader.onloadend = function() { | |
const base64data = reader.result.split(',')[1]; | |
Streamlit.setComponentValue(base64data); | |
}; | |
}; | |
}); |