From 17ac2ce0ed52874616c79c910667e41e34604826 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期一, 31 八月 2026 13:14:12 +0800
Subject: [PATCH] add translation app
---
xiaozhi-esp32-2.2.6/main/boards/sening-xiaozhi-s3/system.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/xiaozhi-esp32-2.2.6/main/boards/sening-xiaozhi-s3/system.c b/xiaozhi-esp32-2.2.6/main/boards/sening-xiaozhi-s3/system.c
index 87b649b..a9c94be 100644
--- a/xiaozhi-esp32-2.2.6/main/boards/sening-xiaozhi-s3/system.c
+++ b/xiaozhi-esp32-2.2.6/main/boards/sening-xiaozhi-s3/system.c
@@ -1,5 +1,6 @@
#include "system.h"
#include "config.h"
+#include "app_task.h"
#include "display/lvgl_display/jpg/jpeg_to_image.h"
#include <esp_heap_caps.h>
@@ -130,11 +131,15 @@
if (!command || Board_Is_Power_Off()) {
return false;
}
+ if (Board_Handle_Voice_Command(command)) {
+ return true;
+ }
if (strcmp(command, OFFLINE_COMMAND_WORD) != 0 && strcmp(command, OFFLINE_COMMAND_WORD_PINYIN) != 0) {
return false;
}
Board_Offline_Command_Callback();
+ Board_EnterVoiceEntry();
return true;
}
@@ -547,6 +552,11 @@
esp_err_t SDCard_Play_MP3_With_Speed(char *mp3_name, float speed)
{
+ return SDCard_Play_MP3_With_Speed_Repeat(mp3_name, speed, 1, false);
+}
+
+esp_err_t SDCard_Play_MP3_With_Speed_Repeat(char *mp3_name, float speed, int repeat, bool power_off_after)
+{
if (!is_supported_mp3_speed(speed)) {
ESP_LOGW(TAG, "invalid MP3 playback speed: %.2f", speed);
SDCard_Resume_Play();
@@ -560,7 +570,7 @@
return ESP_ERR_NOT_FOUND;
}
- esp_err_t err = SDCard_Play_MP3_File_With_Speed(path, speed);
+ esp_err_t err = SDCard_Play_MP3_File_With_Speed_Repeat(path, speed, repeat, power_off_after);
if (err != ESP_OK) {
SDCard_Resume_Play();
ESP_LOGE(TAG, "start MP3 playback failed: %s", esp_err_to_name(err));
--
Gitblit v1.9.1