v88: async onopen + 10ms задержка между чанками — буфер Chrome
This commit is contained in:
Vendored
+4
-2
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user