From f1dccce00c8f0e574443681d104c60803eea9cdb Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Mon, 3 Nov 2025 19:59:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(translation):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=80=9A=E8=AF=9D=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=B7=B1=E6=96=B9?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E5=90=8C=E6=A0=B7=E6=98=BE=E7=A4=BA=E5=87=BA?= =?UTF-8?q?=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/meeting_home_controller.dart | 3 ++- .../controllers/translation_controller.dart | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/modules/meeting/controllers/meeting_home_controller.dart b/lib/modules/meeting/controllers/meeting_home_controller.dart index fa2d1bf02..df04c4d80 100644 --- a/lib/modules/meeting/controllers/meeting_home_controller.dart +++ b/lib/modules/meeting/controllers/meeting_home_controller.dart @@ -23,6 +23,7 @@ import '../../../data/services/meeting/meeting_upload_service.dart'; import '../../../routes/app_routes.dart'; import 'meeting_controller.dart'; +// 会议首页控制器 class MeetingHomeController extends GetxController { final meetingController = Get.find(); final meetingUploadService = Get.find(); @@ -264,7 +265,7 @@ class MeetingHomeController extends GetxController { addUp++; } } catch (e) { - print('fileProcessingFailed' + Logger.error('fileProcessingFailed' .tr .replaceAll('{filePath}', fileEntity.path) .replaceAll('{error}', diff --git a/lib/modules/translation/controllers/translation_controller.dart b/lib/modules/translation/controllers/translation_controller.dart index 06935ede7..8c63c903d 100644 --- a/lib/modules/translation/controllers/translation_controller.dart +++ b/lib/modules/translation/controllers/translation_controller.dart @@ -855,6 +855,24 @@ class TranslationController extends GetxController with WidgetsBindingObserver { handleFinalResult(faceToFaceRecognitionText.value); faceToFaceRecognitionText.value = ''; } + } else if (event.type == RecognitionEventType.finalResult1 && + event.text.isNotEmpty) { + // 通话模式下:己方(麦克风)识别完成事件 + // 若原生未返回检测语言,则兜底为源语言 + detectedLanguageCode = event.detectedLanguage.isNotEmpty + ? event.detectedLanguage + : sourceLanguageCode.value; + print("处理己方识别完成:${event.text}"); + if (currentMode.value != 'faceToFace') { + handleFinalResult(event.text); + } else { + faceToFaceRecognitionText.value += event.text; + Logger.info('lxm-面对面翻译识别文本更新(己方): ${faceToFaceRecognitionText.value}'); + } + if (currentMode.value == 'faceToFace' && activeSpeaker.value == 0) { + handleFinalResult(faceToFaceRecognitionText.value); + faceToFaceRecognitionText.value = ''; + } } else if (event.type == RecognitionEventType.intermediateResult && event.text.isNotEmpty) { if (event.detectedLanguage.isNotEmpty) {