v76: проигрывание через trimSilence — без щелчка в начале
This commit is contained in:
+4
-11
@@ -1,6 +1,6 @@
|
||||
// ---------- Глобальные переменные и инициализация ----------
|
||||
const GROQ_API_KEY = '';
|
||||
const VERSION = 'v75';
|
||||
const VERSION = 'v76';
|
||||
|
||||
let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = '';
|
||||
let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null;
|
||||
@@ -41,19 +41,12 @@ document.getElementById('btnRecord').onclick = async function () {
|
||||
// ---------- Воспроизведение своей записи ----------
|
||||
document.getElementById('btnPlayUser').onclick = async () => {
|
||||
if (!userAudioBlob) return setStatus('Нет записи!');
|
||||
if (userAudioBlob.size === 0) return setStatus('Запись пустая!');
|
||||
const url = URL.createObjectURL(userAudioBlob);
|
||||
const audio = new Audio(url);
|
||||
audio.volume = 1.0;
|
||||
audio.onended = () => { URL.revokeObjectURL(url); setStatus('Готово.'); };
|
||||
audio.onerror = () => { URL.revokeObjectURL(url); setStatus('Ошибка воспроизведения.'); };
|
||||
setStatus('🔊 Ваша запись...');
|
||||
try {
|
||||
await audio.play();
|
||||
await playTrimmed(userAudioBlob);
|
||||
setStatus('Готово.');
|
||||
} catch (err) {
|
||||
URL.revokeObjectURL(url);
|
||||
setStatus('Ошибка воспроизведения — нажмите ещё раз.');
|
||||
return;
|
||||
setStatus('Ошибка воспроизведения.');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user