From e0dbcdd2732f4549903165ecddda6bafc3f7ba5f Mon Sep 17 00:00:00 2001 From: chenjintao Date: Tue, 18 Aug 2026 14:17:02 +0800 Subject: [PATCH] feat(input): play sound for muyu strike --- .../src/runtime/control_plane_system_events.c | 6 ++++++ .../platform/assets/audio_prompts/muyu.opus | Bin 0 -> 3160 bytes 2 files changed, 6 insertions(+) create mode 100644 components/platform/assets/audio_prompts/muyu.opus diff --git a/components/control_plane/src/runtime/control_plane_system_events.c b/components/control_plane/src/runtime/control_plane_system_events.c index ec76d99..a57425a 100644 --- a/components/control_plane/src/runtime/control_plane_system_events.c +++ b/components/control_plane/src/runtime/control_plane_system_events.c @@ -35,6 +35,7 @@ #endif #define CONTROL_PLANE_PTT_HOLD_STEP_MS 80 +#define CONTROL_PLANE_MUYU_PROMPT_FILE "muyu.opus" #ifndef CONFIG_TQ_LOCAL_TASK_CORE #define CONFIG_TQ_LOCAL_TASK_CORE 1 @@ -195,6 +196,11 @@ static void control_plane_dispatch_key_event(const control_plane_key_event_t *ev if (expr_err != ESP_OK && expr_err != ESP_ERR_INVALID_STATE) { ESP_LOGW(TAG, "PTT double-click expression failed: %s", esp_err_to_name(expr_err)); } + esp_err_t prompt_err = + domain_runtime_behavior_play_prompt_file(CONTROL_PLANE_MUYU_PROMPT_FILE); + if (prompt_err != ESP_OK) { + ESP_LOGW(TAG, "PTT double-click muyu prompt failed: %s", esp_err_to_name(prompt_err)); + } break; } diff --git a/components/platform/assets/audio_prompts/muyu.opus b/components/platform/assets/audio_prompts/muyu.opus new file mode 100644 index 0000000000000000000000000000000000000000..71ab8f02ba7d6bdd9cd719423cdce2b78e84126b GIT binary patch literal 3160 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 literal 0 HcmV?d00001