基本对话完成

This commit is contained in:
CSBOOK\44744
2026-06-26 16:34:12 +08:00
parent c61d1a5043
commit a29bd0fe1f
4 changed files with 18 additions and 15 deletions
@@ -66,6 +66,7 @@ static bool s_multimodal_autostart_stop_requested;
static bool s_multimodal_watchdog_task_starting;
static bool s_multimodal_autostart_task_starting;
static bool s_model_command_dispatched;
static bool s_server_success_prompt_played;
static control_plane_model_command_callback_t s_model_command_cb;
static void *s_model_command_cb_user_data;
static portMUX_TYPE s_multimodal_runtime_lock = portMUX_INITIALIZER_UNLOCKED;
@@ -587,12 +588,22 @@ static void control_plane_multimodal_event_bridge(control_plane_multimodal_event
(void)user_data;
switch (event) {
case CONTROL_PLANE_MULTIMODAL_EVENT_TRANSPORT_CONNECTED:
(void)domain_runtime_behavior_play_prompt_file(CONTROL_PLANE_SERVER_SUCCESS_PROMPT_FILE);
case CONTROL_PLANE_MULTIMODAL_EVENT_TRANSPORT_CONNECTED: {
bool should_play_prompt = false;
portENTER_CRITICAL(&s_multimodal_runtime_lock);
if (!s_server_success_prompt_played) {
s_server_success_prompt_played = true;
should_play_prompt = true;
}
portEXIT_CRITICAL(&s_multimodal_runtime_lock);
if (should_play_prompt) {
(void)domain_runtime_behavior_play_prompt_file(CONTROL_PLANE_SERVER_SUCCESS_PROMPT_FILE);
}
if (CONTROL_PLANE_MULTIMODAL_AUTO_START_FLAG) {
schedule_autostart_if_enabled();
}
break;
}
case CONTROL_PLANE_MULTIMODAL_EVENT_TRANSPORT_DISCONNECTED:
control_plane_multimodal_stop_uplink();