修复了第一次双击和对话没有反应问题

This commit is contained in:
CSBOOK\44744
2026-06-27 16:23:21 +08:00
parent 6aaf13d0a8
commit b829cd8ebc
6 changed files with 512 additions and 67 deletions
@@ -79,6 +79,15 @@ typedef struct {
uint32_t last_downstream_audio_ms;
} control_plane_multimodal_runtime_state_t;
typedef enum {
CONTROL_PLANE_TRANSPORT_LOSS_WS_ERROR = 0,
CONTROL_PLANE_TRANSPORT_LOSS_WS_DISCONNECTED,
CONTROL_PLANE_TRANSPORT_LOSS_SEND_TEXT_FAILURE,
CONTROL_PLANE_TRANSPORT_LOSS_SEND_BINARY_FAILURE,
CONTROL_PLANE_TRANSPORT_LOSS_LISTENING_TIMEOUT,
CONTROL_PLANE_TRANSPORT_LOSS_NO_RESPONSE_TIMEOUT,
} control_plane_transport_loss_reason_t;
esp_err_t control_plane_multimodal_start(void);
void control_plane_multimodal_stop(void);
bool control_plane_multimodal_is_connected(void);
@@ -96,6 +105,9 @@ esp_err_t control_plane_multimodal_send_local_responding_started(void);
esp_err_t control_plane_multimodal_send_local_responding_ended(void);
esp_err_t control_plane_multimodal_send_heartbeat(void);
esp_err_t control_plane_multimodal_send_audio_realtime(const uint8_t *data, size_t len);
void control_plane_multimodal_mark_transport_unavailable(
control_plane_transport_loss_reason_t reason,
const char *caller);
esp_err_t control_plane_multimodal_get_runtime_state(
control_plane_multimodal_runtime_state_t *out_state);
esp_err_t control_plane_multimodal_register_event_callback(
@@ -114,6 +126,7 @@ bool control_plane_multimodal_is_uplink_running(void);
esp_err_t control_plane_multimodal_play_downstream_audio(const uint8_t *data, size_t len);
esp_err_t control_plane_multimodal_handle_ptt_press_step(void);
esp_err_t control_plane_multimodal_handle_ptt_release(void);
void control_plane_multimodal_reset_uplink_failure_window(void);
esp_err_t control_plane_start_system_event_task(void);
void control_plane_stop_system_event_task(void);