修改ai_old部分配置 2549/1 2549/head 2550/target/1
authorhcj <1224667075@qq.com>
Fri, 17 Oct 2025 04:00:42 +0000 (12:00 +0800)
committerhcj <1224667075@qq.com>
Fri, 17 Oct 2025 04:00:42 +0000 (12:00 +0800)
code/sdk/zhihui/ai/media/ai_media_service_ext.cpp
code/sdk/zhihui/ai_old/websocket_server_example.cpp
code/sdk/zhihui/ai_old/websocket_server_manager.cpp

index 1dc841d..87d85dc 100644 (file)
@@ -50,7 +50,7 @@ const int32_t NUMBER_BASE = 10;
 const int32_t CHANNEL_COUNT = 2;
 const int32_t SAMPLERATE_16000 = 16000;
 const uint32_t AI_VOICE_BUFFER_SIZE = 0x800;  // 2KB buffer for AI voice
-const uint32_t AI_VOICE_QUEUE_SIZE = 128;      // 队列大小
+const uint32_t AI_VOICE_QUEUE_SIZE = 64;      // 队列大小
 
 // OGG封装相关常量
 const uint32_t MILLSECOND_TO_SECOND = 1000;
@@ -1647,8 +1647,8 @@ int32_t AI_WriteAudioData(const uint8_t* data, uint32_t size)
     usleep(50*size);
     if (ret != 0) {
         retry_count++;
-        MEDIA_ERR_LOG("Failed to write audio data to output stream, ret=%d, retry %d/%d", ret, retry_count, MAX_RETRY_COUNT);
-        usleep(1000*500);
+        // MEDIA_ERR_LOG("Failed to write audio data to output stream, ret=%d, retry %d/%d", ret, retry_count, MAX_RETRY_COUNT);
+        usleep(1000*600);
         goto AI_WRITE;
     }
     
@@ -1696,7 +1696,7 @@ int32_t AI_SendAudioDataToQueue(const uint8_t* data, uint32_t size)
         MEDIA_ERR_LOG("Invalid audio data parameters");
         return -1;
     }
-    uint32_t queueSize, queueCapacity;
+    uint32_t queueSize=0, queueCapacity=0;
     AI_GetQueueStatus(&queueSize, &queueCapacity);
     // 检查是否有文件缓存数据需要优先处理
     bool hasFileCacheData = AI_HasFileCacheData();
index 6ae96fd..3aa091a 100644 (file)
@@ -546,6 +546,7 @@ errcode_t start_all_websocket_servers(uint8_t chat_ai_type)
 {
     errcode_t ret;
     
+    tts_is_ready == TTS_READY_NOT_SENT;
     // 设置全局AI类型
     g_chat_ai_type = chat_ai_type;
     
@@ -805,6 +806,8 @@ void uapi_start_AI_asr_(void)
     uapi_start_asr_StartTranscription(g_asr_server->client);
     g_tts_server->interrupt_flag=1;
     g_chat_server->interrupt_flag=1;
+    tts_is_ready = TTS_READY_NOT_SENT;
+    asr_is_ready=0;
     AI_ForceInterrupt();
 }
 
index 41a234d..5103e07 100644 (file)
@@ -662,6 +662,11 @@ static bool ws_server_connect(ws_server_handle_t *handle)
         printf("WebSocket client creation failed, retrying... (%d/%d)\n", 
                handle->config.max_retry_count - client_count + 1, handle->config.max_retry_count);
         client_count--;
+        if(handle->is_running==false||handle->need_stop)
+        {
+            break;
+        }
+        
         msleep(2000);
     }