mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
Merge pull request #814 from funshine/bug_fix_funshine
Bug fix test_page.html, 以及TTS_CosyVoiceSiliconflow
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
-- 修正CosyVoiceSiliconflow音色
|
||||
delete from `ai_tts_voice` where tts_model_id = 'TTS_CosyVoiceSiliconflow';
|
||||
INSERT INTO `ai_tts_voice` VALUES ('TTS_CosyVoiceSiliconflow0001', 'TTS_CosyVoiceSiliconflow', 'CosyVoice男声', 'FunAudioLLM/CosyVoice2-0.5B:alex', '中文', 'https://example.com/cosyvoice/alex.mp3', NULL, 6, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `ai_tts_voice` VALUES ('TTS_CosyVoiceSiliconflow0002', 'TTS_CosyVoiceSiliconflow', 'CosyVoice女声', 'FunAudioLLM/CosyVoice2-0.5B:bella', '中文', 'https://example.com/cosyvoice/bella.mp3', NULL, 6, NULL, NULL, NULL, NULL);
|
||||
@@ -992,7 +992,9 @@ function connectToServer() {
|
||||
|
||||
if(connectButton.id === "connectButton") {
|
||||
connectButton.textContent = '断开';
|
||||
connectButton.onclick = disconnectFromServer;
|
||||
// connectButton.onclick = disconnectFromServer;
|
||||
connectButton.removeEventListener("click", connectToServer);
|
||||
connectButton.addEventListener("click", disconnectFromServer);
|
||||
}
|
||||
|
||||
if(messageInput.id === "messageInput") {
|
||||
@@ -1011,7 +1013,9 @@ function connectToServer() {
|
||||
|
||||
if(connectButton.id === "connectButton") {
|
||||
connectButton.textContent = '连接';
|
||||
connectButton.onclick = connectToServer;
|
||||
// connectButton.onclick = connectToServer;
|
||||
connectButton.removeEventListener("click", disconnectFromServer);
|
||||
connectButton.addEventListener("click", connectToServer);
|
||||
}
|
||||
|
||||
if(messageInput.id === "messageInput") {
|
||||
@@ -1175,7 +1179,7 @@ function updateStatus(message, type = 'info') {
|
||||
// 处理文本消息
|
||||
function handleTextMessage(message) {
|
||||
if (message.type === 'hello') {
|
||||
console.log(`服务器回应:${message.message}`);
|
||||
console.log(`服务器回应:${JSON.stringify(message, null, 2)}`);
|
||||
} else if (message.type === 'tts') {
|
||||
// TTS状态消息
|
||||
if (message.state === 'start') {
|
||||
|
||||
@@ -475,22 +475,36 @@
|
||||
|
||||
// 日志函数
|
||||
function log(message, type = 'info') {
|
||||
const logEntry = document.createElement('div');
|
||||
logEntry.className = `log-entry log-${type}`;
|
||||
logEntry.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;
|
||||
if (type === 'error') {
|
||||
logEntry.style.color = 'red';
|
||||
} else if (type === 'debug') {
|
||||
logEntry.style.color = 'gray';
|
||||
return;
|
||||
} else if (type === 'warning') {
|
||||
logEntry.style.color = 'orange';
|
||||
} else if (type === 'success') {
|
||||
logEntry.style.color = 'green';
|
||||
} else {
|
||||
logEntry.style.color = 'black';
|
||||
}
|
||||
logContainer.appendChild(logEntry);
|
||||
// 将消息按换行符分割成多行
|
||||
const lines = message.split('\n');
|
||||
const now = new Date();
|
||||
// const timestamp = `[${now.toLocaleTimeString()}] `;
|
||||
const timestamp = `[${now.toLocaleTimeString()}.${now.getMilliseconds().toString().padStart(3, '0')}] `;
|
||||
// 为每一行创建日志条目
|
||||
lines.forEach((line, index) => {
|
||||
const logEntry = document.createElement('div');
|
||||
logEntry.className = `log-entry log-${type}`;
|
||||
// 如果是第一条日志,显示时间戳
|
||||
const prefix = index === 0 ? timestamp : ' '.repeat(timestamp.length);
|
||||
logEntry.textContent = `${prefix}${line}`;
|
||||
// logEntry.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;
|
||||
// logEntry.style 保留起始的空格
|
||||
logEntry.style.whiteSpace = 'pre';
|
||||
if (type === 'error') {
|
||||
logEntry.style.color = 'red';
|
||||
} else if (type === 'debug') {
|
||||
logEntry.style.color = 'gray';
|
||||
return;
|
||||
} else if (type === 'warning') {
|
||||
logEntry.style.color = 'orange';
|
||||
} else if (type === 'success') {
|
||||
logEntry.style.color = 'green';
|
||||
} else {
|
||||
logEntry.style.color = 'black';
|
||||
}
|
||||
logContainer.appendChild(logEntry);
|
||||
});
|
||||
|
||||
logContainer.scrollTop = logContainer.scrollHeight;
|
||||
}
|
||||
|
||||
@@ -1153,7 +1167,9 @@
|
||||
await sendHelloMessage();
|
||||
|
||||
connectButton.textContent = '断开';
|
||||
connectButton.onclick = disconnectFromServer;
|
||||
connectButton.removeEventListener('click', connectToServer);
|
||||
connectButton.addEventListener('click', disconnectFromServer);
|
||||
// connectButton.onclick = disconnectFromServer;
|
||||
messageInput.disabled = false;
|
||||
sendTextButton.disabled = false;
|
||||
|
||||
@@ -1169,7 +1185,9 @@
|
||||
connectionStatus.style.color = 'red';
|
||||
|
||||
connectButton.textContent = '连接';
|
||||
connectButton.onclick = connectToServer;
|
||||
connectButton.removeEventListener('click', disconnectFromServer);
|
||||
connectButton.addEventListener('click', connectToServer);
|
||||
// connectButton.onclick = connectToServer;
|
||||
messageInput.disabled = true;
|
||||
sendTextButton.disabled = true;
|
||||
recordButton.disabled = true;
|
||||
@@ -1189,7 +1207,7 @@
|
||||
const message = JSON.parse(event.data);
|
||||
|
||||
if (message.type === 'hello') {
|
||||
log(`服务器回应:${message.message}`, 'info');
|
||||
log(`服务器回应:${JSON.stringify(message, null, 2)}`, 'success');
|
||||
} else if (message.type === 'tts') {
|
||||
// TTS状态消息
|
||||
if (message.state === 'start') {
|
||||
|
||||
Reference in New Issue
Block a user