From b0f6435cb71594d4227eb41901f87712ce47fa2e Mon Sep 17 00:00:00 2001 From: fdp <1286779656@qq.com> Date: Thu, 4 Sep 2025 19:37:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=AF=9D=E6=97=B6=E5=80=99=EF=BC=8C?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E4=B8=80=E7=A7=8D=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/translation_controller.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/modules/translation/controllers/translation_controller.dart b/lib/modules/translation/controllers/translation_controller.dart index e0af016e1..f20d097ac 100644 --- a/lib/modules/translation/controllers/translation_controller.dart +++ b/lib/modules/translation/controllers/translation_controller.dart @@ -128,6 +128,8 @@ class TranslationController extends GetxController with WidgetsBindingObserver { if (mode == 'call') { await _initializeCallModeTranslationService(); + } else { + _reinitializeAsrService(); } } @@ -454,6 +456,19 @@ class TranslationController extends GetxController with WidgetsBindingObserver { Future _initializeCallModeTranslationService() async { try { Logger.info('开始初始化通话模式语音翻译服务'); + + // 初始化 ASR 服务时,明确指定需要支持的语言 + final List asrSupportedLanguages = [targetLanguageCode.value]; + Logger.info('初始化ASR服务,支持语言: $asrSupportedLanguages'); + + await _asrService.initialize(supportedLanguages: asrSupportedLanguages); + + // 获取识别事件流 + var recognitionStream = await _asrService.recognizeCallback(); + _recognitionSubscription?.cancel(); + _recognitionSubscription = + recognitionStream.listen(_handleRecognitionEvent); + final List callModeLanguages = [ sourceLanguageCode.value, targetLanguageCode.value