document.addEventListener('DOMContentLoaded', () => { const startRecordingButton = document.getElementById('startRecording'); const stopRecordingButton = document.getElementById('stopRecording'); const audioPlayer = document.getElementById('audioPlayer'); let mediaRecorder; let audioChunks = []; startRecordingButton.addEventListener('click', async () => { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); mediaRecorder = new MediaRecorder(stream); mediaRecorder.ondataavailable = (event) => { if (event.data.size > 0) { audioChunks.push(event.data); } }; mediaRecorder.onstop = () => { const audioBlob = new Blob(audioChunks, { type: 'audio/wav' }); const audioUrl = URL.createObjectURL(audioBlob); audioPlayer.src = audioUrl; audioPlayer.play(); }; mediaRecorder.start(); startRecordingButton.disabled = true; stopRecordingButton.disabled = false; }); stopRecordingButton.addEventListener('click', () => { mediaRecorder.stop(); startRecordingButton.disabled = false; stopRecordingButton.disabled = true; }); });