Browse Source

添加语音中断

xuxinyi 4 months ago
parent
commit
0f8529bfa2

+ 6 - 0
main/boards/ESP32-P4-Function-EV-Board/ESP32-P4-Function-EV-Board.cc

@@ -81,6 +81,7 @@ class EspSparkBot : public Ml307Board {
 private:
     i2c_master_bus_handle_t i2c_bus_;
     Button boot_button_;
+    Button asr_button_;
     Display* display_;
     Backlight* backlight_;
 
@@ -316,6 +317,10 @@ private:
             }
             app.ToggleChatState();
         });
+        asr_button_.OnClick([this]() {
+            std::string wake_word="你好小智";
+            Application::GetInstance().WakeWordInvoke(wake_word);
+        });
     }
 
     // 初始化物联网功能
@@ -328,6 +333,7 @@ private:
 public:
     EspSparkBot() : Ml307Board(ML307_TX_PIN, ML307_RX_PIN, 4096), 
                     boot_button_(BOOT_BUTTON_GPIO),
+                    asr_button_(ASR_BUTTON_GPIO),
                     display_(nullptr),
                     backlight_(nullptr) {
         InitializeI2c();

+ 1 - 0
main/boards/ESP32-P4-Function-EV-Board/config.h

@@ -26,6 +26,7 @@
 // 按钮和LED配置
 #define BUILTIN_LED_GPIO        GPIO_NUM_NC
 #define BOOT_BUTTON_GPIO        GPIO_NUM_0
+#define ASR_BUTTON_GPIO         GPIO_NUM_6
 #define VOLUME_UP_BUTTON_GPIO   GPIO_NUM_NC
 #define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_NC
 

+ 1 - 1
main/boards/common/button.cc

@@ -89,7 +89,7 @@ void Button::OnClick(std::function<void()> callback) {
         return;
     }
     on_click_ = callback;
-    iot_button_register_cb(button_handle_, BUTTON_SINGLE_CLICK, [](void* handle, void* usr_data) {
+    iot_button_register_cb(button_handle_, BUTTON_PRESS_DOWN, [](void* handle, void* usr_data) {
         Button* button = static_cast<Button*>(usr_data);
         if (button->on_click_) {
             button->on_click_();