mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-29 16:03:56 +08:00
update: 录音按钮新增防抖
This commit is contained in:
@@ -168,23 +168,30 @@ class UIController {
|
|||||||
// Record button
|
// Record button
|
||||||
const recordBtn = document.getElementById('recordBtn');
|
const recordBtn = document.getElementById('recordBtn');
|
||||||
if (recordBtn) {
|
if (recordBtn) {
|
||||||
|
let recordTimer = null;
|
||||||
recordBtn.addEventListener('click', () => {
|
recordBtn.addEventListener('click', () => {
|
||||||
const audioRecorder = getAudioRecorder();
|
if (recordTimer) {
|
||||||
if (audioRecorder.isRecording) {
|
clearTimeout(recordTimer);
|
||||||
audioRecorder.stop();
|
recordTimer = null;
|
||||||
// Restore record button to normal state
|
|
||||||
recordBtn.classList.remove('recording');
|
|
||||||
recordBtn.querySelector('.btn-text').textContent = '录音';
|
|
||||||
} else {
|
|
||||||
// Update button state to recording
|
|
||||||
recordBtn.classList.add('recording');
|
|
||||||
recordBtn.querySelector('.btn-text').textContent = '录音中';
|
|
||||||
|
|
||||||
// Start recording, update button state after delay
|
|
||||||
setTimeout(() => {
|
|
||||||
audioRecorder.start();
|
|
||||||
}, 100);
|
|
||||||
}
|
}
|
||||||
|
recordTimer = setTimeout(() => {
|
||||||
|
const audioRecorder = getAudioRecorder();
|
||||||
|
if (audioRecorder.isRecording) {
|
||||||
|
audioRecorder.stop();
|
||||||
|
// Restore record button to normal state
|
||||||
|
recordBtn.classList.remove('recording');
|
||||||
|
recordBtn.querySelector('.btn-text').textContent = '录音';
|
||||||
|
} else {
|
||||||
|
// Update button state to recording
|
||||||
|
recordBtn.classList.add('recording');
|
||||||
|
recordBtn.querySelector('.btn-text').textContent = '录音中';
|
||||||
|
|
||||||
|
// Start recording, update button state after delay
|
||||||
|
setTimeout(() => {
|
||||||
|
audioRecorder.start();
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user