v88: async onopen + 10ms задержка между чанками — буфер Chrome

This commit is contained in:
“Naeel”
2026-05-23 07:16:10 +04:00
parent a091548925
commit 4acc400fab
3 changed files with 8 additions and 4 deletions
+4 -2
View File
@@ -276,7 +276,7 @@ async function transcribe(blob) {
console.log('[WS] timeout'); ws.close(); resolve({ text: '', error: 'timeout' });
}, 60000);
ws.onopen = () => {
ws.onopen = async () => {
console.log('[WS] connected, sending ' + total + ' chunks');
for (let i = 0; i < base64.length; i += CHUNK) {
ws.send(JSON.stringify({
@@ -286,6 +286,8 @@ async function transcribe(blob) {
m: mime,
n: total
}));
// Даём браузеру протолкнуть буфер — Chrome может терять фреймы без этого
await new Promise(r => setTimeout(r, 10));
}
ws.send(JSON.stringify({ c: -1 }));
console.log('[WS] all sent');
@@ -803,7 +805,7 @@ async function doCompare(blob, originalText, duration) {
<script>
// ---------- Глобальные переменные и инициализация ----------
const GROQ_API_KEY = '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';
const VERSION = 'v87';
const VERSION = 'v88';
let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = '';
let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null;