This commit is contained in:
Song367 2025-06-18 19:15:03 +08:00
parent 3ebdf2931b
commit 8ee2da7ff2

View File

@ -193,6 +193,9 @@
audio.value = sex_audio[selectedGender] audio.value = sex_audio[selectedGender]
}); });
let trigger_status = true
let end_talk = ""
// Set initial conversation ID based on default gender // Set initial conversation ID based on default gender
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
const genderSelect = document.getElementById('gender'); const genderSelect = document.getElementById('gender');
@ -203,7 +206,7 @@
async function getToken() { async function getToken() {
try { try {
const response = await fetch('http://192.168.2.183:8080/token', { const response = await fetch('http://14.103.170.252:6211/token', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -285,11 +288,19 @@
console.info('speakError', data) console.info('speakError', data)
}) })
duix.on('asrResult', async (data) => { duix.on('asrResult', async (data) => {
console.info('asrResult', data);
duix.break() console.info('asrResult', data, trigger_status);
// if (data == "你好") { if (data == "小公" || data == "小共" || data == "小工"){
duix.break()
trigger_status = true
return
}
if (trigger_status) {
try { try {
const response = await fetch('http://192.168.2.183:8080/chat', { trigger_status = false;
const response = await fetch('http://14.103.170.252:6211/chat', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -305,9 +316,9 @@
const reader = response.body.getReader(); const reader = response.body.getReader();
const decoder = new TextDecoder(); const decoder = new TextDecoder();
let fullAnswer = ''; let pre_talk = '';
let triggered = false;
while (true) { while (true) {
const { value, done } = await reader.read(); const { value, done } = await reader.read();
if (done) break; if (done) break;
@ -322,6 +333,8 @@
if (responseData.audio_data) { if (responseData.audio_data) {
conversationL = responseData.conversation_id conversationL = responseData.conversation_id
console.log("执行输入answer")
pre_talk = responseData.answer
duix.speak({ duix.speak({
content: responseData.answer, content: responseData.answer,
audio: responseData.audio_data audio: responseData.audio_data
@ -332,6 +345,9 @@
// Handle end of stream // Handle end of stream
if (responseData.isEnd) { if (responseData.isEnd) {
console.log("pretalk : ", pre_talk, "---------", trigger_status)
end_talk = pre_talk
// trigger_status = true
break; break;
} }
} }
@ -340,13 +356,13 @@
} catch (error) { } catch (error) {
console.error('Error in chat API:', error); console.error('Error in chat API:', error);
} }
// } }
// test = [ // test = [
// 'https://p3-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/0f1be92489b849f3b7568e9b17334e42.wav~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&x-expires=1752754758&x-signature=rXa5LFcZttKGZpHMVIP6SgZTsRI%3D','https://p6-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/9898244b02be4765a964cf4b3d4afcd0.wav~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&x-expires=1752754726&x-signature=%2BbIrCv%2B5yAUxZvNqBURCnSRVqWo%3D','https://p9-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/4bffded0446648a2aef1d2d7e59ddd0c.wav~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&x-expires=1752754642&x-signature=E5Dr2R%2Fhd%2Ft7K593ka393OlCPNg%3D'] // 'https://p3-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/0f1be92489b849f3b7568e9b17334e42.wav~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&x-expires=1752754758&x-signature=rXa5LFcZttKGZpHMVIP6SgZTsRI%3D','https://p6-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/9898244b02be4765a964cf4b3d4afcd0.wav~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&x-expires=1752754726&x-signature=%2BbIrCv%2B5yAUxZvNqBURCnSRVqWo%3D','https://p9-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/4bffded0446648a2aef1d2d7e59ddd0c.wav~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&x-expires=1752754642&x-signature=E5Dr2R%2Fhd%2Ft7K593ka393OlCPNg%3D']
// for (let index = 0; index < test.length; index++) { // for (let index = 0; index < test.length; index++) {
// const element = test[index]; // const element = test[index];
// duix.speak({content: "我会尽量帮助您", audio: element}) // duix.speak({content: "我", audio: element})
// } // }
}); });
@ -355,7 +371,11 @@
// console.info('report', data) // console.info('report', data)
}) })
duix.on('speakEnd', async(data) => { duix.on('speakEnd', async(data) => {
console.info('公证speakEnd: ', data) console.info('公证speakEnd: ', data["content"], "----------------", end_talk, "-----------------", trigger_status)
if(end_talk == data["content"]){
trigger_status = true
}
}) })
duix.init({ duix.init({