diff --git a/main/application.cc b/main/application.cc index c52b155d..84b100aa 100644 --- a/main/application.cc +++ b/main/application.cc @@ -302,9 +302,11 @@ void Application::ToggleChatState() { if (device_state_ == kDeviceStateIdle) { Schedule([this]() { - SetDeviceState(kDeviceStateConnecting); - if (!protocol_->OpenAudioChannel()) { - return; + if (!protocol_->IsAudioChannelOpened()) { + SetDeviceState(kDeviceStateConnecting); + if (!protocol_->OpenAudioChannel()) { + return; + } } SetListeningMode(aec_mode_ == kAecOff ? kListeningModeAutoStop : kListeningModeRealtime);