| let ws; |
| let isRecording = false; |
|
|
| function toggleRecording() { |
| if (!isRecording) { |
| ws = new WebSocket("ws://localhost:8000/ws"); |
| ws.onopen = () => ws.send("start"); |
| ws.onmessage = (event) => { |
| const serverMessage = event.data; |
|
|
| if (serverMessage.startsWith("chunk:")) { |
| const chunkText = serverMessage.substring(6); |
| document.getElementById('audio-chunks').innerText = chunkText; |
| } else if (serverMessage === "Restarting system...") { |
| isRecording = false; |
| updateButton(); |
| } else { |
| document.getElementById('results').innerText = serverMessage; |
| } |
| }; |
| isRecording = true; |
| } else { |
| ws.send("stop"); |
| isRecording = false; |
| } |
| updateButton(); |
| } |
|
|
| function updateButton() { |
| const startButton = document.getElementById('startBtn'); |
| if (isRecording) { |
| startButton.innerText = "Stop"; |
| startButton.className = "stop-button"; |
| } else { |
| startButton.innerText = "Start"; |
| startButton.className = "start-button"; |
| } |
| } |
|
|
| document.getElementById('startBtn').addEventListener('click', toggleRecording); |
|
|
| document.getElementById('toggleClassListBtn').addEventListener('click', function() { |
| var classList = document.getElementById('class-list'); |
| if (classList.style.display === "none") { |
| classList.style.display = "block"; |
| } else { |
| classList.style.display = "none"; |
| } |
| }); |