Browse Source

调节音量

xuxinyi 4 tháng trước cách đây
mục cha
commit
5daaf4a681
3 tập tin đã thay đổi với 10 bổ sung11 xóa
  1. 8 9
      main/application.cc
  2. 1 1
      main/application.h
  3. 1 1
      main/protocols/mqtt_protocol.cc

+ 8 - 9
main/application.cc

@@ -402,7 +402,7 @@ void Application::Start() {
         return higher_priority_task_woken == pdTRUE;
     });
     codec->Start();
-    codec->SetOutputVolume(100);
+    codec->SetOutputVolume(80);
     // //此处是电量测量的代码
     // int batteryLevel;
     // bool isCharging;
@@ -480,10 +480,11 @@ void Application::Start() {
                     if (device_state_ == kDeviceStateSpeaking) {
                         background_task_->WaitForCompletion();
                         if (keep_listening_) {
+                            // ESP_LOGI(TAG, "Stop 后的 Listening");
                             // protocol_->SendStartListening(kListeningModeAutoStop);
-                            // SetDeviceState(kDeviceStateListening);
+                            SetDeviceState(kDeviceStateListening);
                         } else {
-                            // SetDeviceState(kDeviceStateIdle);
+                            SetDeviceState(kDeviceStateIdle);
                         }
                     }
                 });
@@ -538,7 +539,7 @@ void Application::Start() {
     //     vTaskDelete(NULL);
     // }, "check_new_version", 4096 * 2, this, 2, nullptr);
     SetDeviceState(kDeviceStateIdle);
-    codec->SetOutputVolume(100);
+    codec->SetOutputVolume(80);
     PlaySound(Lang::Sounds::P3_LINKWIFI);
 
 #if CONFIG_USE_AUDIO_PROCESSOR
@@ -662,10 +663,6 @@ void Application::MainLoop() {
             SCHEDULE_EVENT | AUDIO_INPUT_READY_EVENT | AUDIO_OUTPUT_READY_EVENT,
             pdTRUE, pdFALSE, portMAX_DELAY);
 
-        //+2 默认开启音频
-        // ESP_LOGI("main", "bits1: %lu", bits); // 修改:%d → %lu
-        // bits |= (1 << 1);
-        // ESP_LOGI("main", "bits2: %lu", bits); // 修改:%d → %lu
         if (bits & AUDIO_INPUT_READY_EVENT) {
             InputAudio();
         }
@@ -830,6 +827,7 @@ void Application::SetDeviceState(DeviceState state) {
             display->SetEmotion("neutral");
 #if CONFIG_USE_AUDIO_PROCESSOR
             audio_processor_.Stop();
+            code_init_flag = false;
 #endif
             break;
         case kDeviceStateConnecting:
@@ -842,7 +840,8 @@ void Application::SetDeviceState(DeviceState state) {
             display->SetEmotion("neutral");
             ResetDecoder();
             // vTaskDelay(pdMS_TO_TICKS(1000));//这里的延迟可以避免音频处理芯片异常时候,导致程序崩溃。但是还是没解决音频异常后的处理。
-            if (!lintening_flag_){
+            if (!code_init_flag){
+                code_init_flag = true;
                 opus_encoder_->ResetState();
 #if CONFIG_USE_AUDIO_PROCESSOR
                 audio_processor_.Start();

+ 1 - 1
main/application.h

@@ -95,7 +95,7 @@ private:
     bool voice_detected_ = false;
     int clock_ticks_ = 0;
 
-    bool lintening_flag_ = false; //测试,用于打断时候的lintening,防止多次start编解码器
+    bool code_init_flag = false; //测试,用于打断时候的lintening,防止多次start编解码器
 
     // Audio encode / decode
     BackgroundTask* background_task_ = nullptr;

+ 1 - 1
main/protocols/mqtt_protocol.cc

@@ -89,7 +89,7 @@ bool MqttProtocol::StartMqttClient(bool report_error) {
         last_incoming_time_ = std::chrono::steady_clock::now();
     });
 
-    ESP_LOGI(TAG, "Connecting to endpoint %s", endpoint_.c_str());
+    // ESP_LOGI(TAG, "Connecting to endpoint %s", endpoint_.c_str());
     if (!mqtt_->Connect(endpoint_, 8883, client_id_, username_, password_)) {
         ESP_LOGE(TAG, "Failed to connect to endpoint");
         SetError(Lang::Strings::SERVER_NOT_CONNECTED);