diff --git a/main/protocols/mqtt_protocol.cc b/main/protocols/mqtt_protocol.cc index 8052c011..1f8f78c0 100644 --- a/main/protocols/mqtt_protocol.cc +++ b/main/protocols/mqtt_protocol.cc @@ -154,6 +154,7 @@ bool MqttProtocol::OpenAudioChannel() { } session_id_ = ""; + xEventGroupClearBits(event_group_handle_, MQTT_PROTOCOL_SERVER_HELLO_EVENT); // 发送 hello 消息申请 UDP 通道 std::string message = "{"; @@ -234,6 +235,7 @@ void MqttProtocol::ParseServerHello(const cJSON* root) { auto session_id = cJSON_GetObjectItem(root, "session_id"); if (session_id != nullptr) { session_id_ = session_id->valuestring; + ESP_LOGI(TAG, "Session ID: %s", session_id_.c_str()); } // Get sample rate from hello message diff --git a/main/protocols/protocol.h b/main/protocols/protocol.h index 913f54ff..faa8a94d 100644 --- a/main/protocols/protocol.h +++ b/main/protocols/protocol.h @@ -30,6 +30,9 @@ public: inline int server_sample_rate() const { return server_sample_rate_; } + inline const std::string& session_id() const { + return session_id_; + } void OnIncomingAudio(std::function&& data)> callback); void OnIncomingJson(std::function callback);