Teapack1/Assistant-Audio-Intent-Classification
6
1let ws;2let isRecording = false;3 4function toggleRecording() {5 if (!isRecording) {6 ws = new WebSocket("ws://localhost:8000/ws");7 ws.onopen = () => ws.send("start");8 ws.onmessage = (event) => {9 const serverMessage = event.data;10 11 if (serverMessage.startsWith("chunk:")) {12 const chunkText = serverMessage.substring(6); // Remove "chunk:" prefix13 document.getElementById('audio-chunks').innerText = chunkText; 14 } else if (serverMessage === "Restarting system...") {15 isRecording = false;16 updateButton();17 } else {18 document.getElementById('results').innerText = serverMessage;19 }20 };21 isRecording = true;22 } else {23 ws.send("stop");24 isRecording = false;25 }26 updateButton();27}28 29function updateButton() {30 const startButton = document.getElementById('startBtn');31 if (isRecording) {32 startButton.innerText = "Stop";33 startButton.className = "stop-button";34 } else {35 startButton.innerText = "Start";36 startButton.className = "start-button";37 }38}39 40document.getElementById('startBtn').addEventListener('click', toggleRecording);41 42document.getElementById('toggleClassListBtn').addEventListener('click', function() {43 var classList = document.getElementById('class-list');44 if (classList.style.display === "none") {45 classList.style.display = "block";46 } else {47 classList.style.display = "none";48 }49});