Online Meeting & Class Notes Recorder

Online Meeting & Class Notes Recorder

Step 1: Record Your Audio

Status: Idle

Live Transcription:

Your transcribed text will appear here in real-time...

Listening...

'; recorderErrorMessage.classList.add('hidden'); recognition.start(); }; const stopRecording = () => { if (!isRecording) return; recognition.stop(); }; const downloadTxtFile = () => { const text = notesEditor.value; const blob = new Blob([text], { type: 'text/plain;charset=utf-8' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'recorded-notes.txt'; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }; const downloadPdf = () => { if (typeof window.jspdf === 'undefined') { console.error("jsPDF library is not loaded."); return; } const { jsPDF } = window.jspdf; const doc = new jsPDF(); const text = notesEditor.value; doc.setFontSize(18); doc.text('Recorded & Transcribed Notes', 14, 22); doc.setLineWidth(0.5); doc.line(14, 26, 196, 26); doc.setFontSize(12); const lines = doc.splitTextToSize(text, 180); doc.text(lines, 14, 34); doc.save('recorded-notes.pdf'); }; // --- EVENT LISTENERS --- startBtn?.addEventListener('click', startRecording); stopBtn?.addEventListener('click', stopRecording); downloadTxtBtn?.addEventListener('click', downloadTxtFile); downloadPdfBtn?.addEventListener('click', downloadPdf); prevBtn?.addEventListener('click', () => changeTab(currentTab - 1)); nextBtn?.addEventListener('click', () => changeTab(currentTab + 1)); // --- INITIALIZATION --- if (initializeRecorder()) { updateNavButtons(); } });
Scroll to Top