yasserrmd commited on
Commit
ef4ce16
·
verified ·
1 Parent(s): c73a470

Update static/index.html

Browse files
Files changed (1) hide show
  1. static/index.html +13 -3
static/index.html CHANGED
@@ -85,7 +85,6 @@
85
  50% { transform: scale(1.05); }
86
  100% { transform: scale(1); }
87
  }
88
-
89
  </style>
90
  </head>
91
  <body>
@@ -145,6 +144,7 @@
145
  <script>
146
  let mediaRecorder;
147
  let audioChunks = [];
 
148
  const recordButton = document.getElementById("recordButton");
149
  const generateButton = document.getElementById("generateButton");
150
  const statusMessage = document.getElementById("statusMessage");
@@ -157,8 +157,13 @@
157
  recordButton.addEventListener("click", async () => {
158
  if (!mediaRecorder || mediaRecorder.state === "inactive") {
159
  try {
160
- const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
161
- mediaRecorder = new MediaRecorder(stream, { mimeType: "audio/webm" });
 
 
 
 
 
162
 
163
  mediaRecorder.ondataavailable = event => audioChunks.push(event.data);
164
 
@@ -205,6 +210,11 @@
205
  console.error("Error:", error);
206
  statusMessage.textContent = "Error processing audio data. Please try again.";
207
  }
 
 
 
 
 
208
  };
209
 
210
  audioChunks = [];
 
85
  50% { transform: scale(1.05); }
86
  100% { transform: scale(1); }
87
  }
 
88
  </style>
89
  </head>
90
  <body>
 
144
  <script>
145
  let mediaRecorder;
146
  let audioChunks = [];
147
+ let audioStream;
148
  const recordButton = document.getElementById("recordButton");
149
  const generateButton = document.getElementById("generateButton");
150
  const statusMessage = document.getElementById("statusMessage");
 
157
  recordButton.addEventListener("click", async () => {
158
  if (!mediaRecorder || mediaRecorder.state === "inactive") {
159
  try {
160
+ // Stop any existing stream tracks before requesting a new one
161
+ if (audioStream) {
162
+ audioStream.getTracks().forEach(track => track.stop());
163
+ }
164
+
165
+ audioStream = await navigator.mediaDevices.getUserMedia({ audio: true });
166
+ mediaRecorder = new MediaRecorder(audioStream, { mimeType: "audio/webm" });
167
 
168
  mediaRecorder.ondataavailable = event => audioChunks.push(event.data);
169
 
 
210
  console.error("Error:", error);
211
  statusMessage.textContent = "Error processing audio data. Please try again.";
212
  }
213
+
214
+ // Clean up the audio tracks after processing is complete
215
+ if (audioStream) {
216
+ audioStream.getTracks().forEach(track => track.stop());
217
+ }
218
  };
219
 
220
  audioChunks = [];