mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-26 17:13:54 +08:00
update:发送语音消息时打断机器人说话
This commit is contained in:
@@ -240,6 +240,24 @@ export class AudioRecorder {
|
|||||||
if (this.isRecording) return false;
|
if (this.isRecording) return false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// 检查是否有WebSocketHandler实例
|
||||||
|
const { getWebSocketHandler } = await import('../network/websocket.js');
|
||||||
|
const wsHandler = getWebSocketHandler();
|
||||||
|
|
||||||
|
// 如果机器正在说话,发送打断消息
|
||||||
|
if (wsHandler && wsHandler.isRemoteSpeaking && wsHandler.currentSessionId) {
|
||||||
|
const abortMessage = {
|
||||||
|
session_id: wsHandler.currentSessionId,
|
||||||
|
type: 'abort',
|
||||||
|
reason: 'wake_word_detected'
|
||||||
|
};
|
||||||
|
|
||||||
|
if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
|
||||||
|
this.websocket.send(JSON.stringify(abortMessage));
|
||||||
|
log('发送打断消息', 'info');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.initEncoder()) {
|
if (!this.initEncoder()) {
|
||||||
log('无法启动录音: Opus编码器初始化失败', 'error');
|
log('无法启动录音: Opus编码器初始化失败', 'error');
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user