|
|
|
@ -234,7 +234,7 @@ class TranslationController extends GetxController with WidgetsBindingObserver { |
|
|
|
Future<void> changeTranslationMode(String mode) async { |
|
|
|
currentMode.value = mode; |
|
|
|
currentModeTitle.value = _getModeTitle(mode); |
|
|
|
stopAll(); |
|
|
|
//stopAll(); |
|
|
|
|
|
|
|
// 检查悬浮窗支持情况 |
|
|
|
if (isFloatingWindowEnabled.value && !_isFloatingWindowSupportedMode()) { |
|
|
|
@ -592,7 +592,7 @@ class TranslationController extends GetxController with WidgetsBindingObserver { |
|
|
|
sourceLanguageCode.value, |
|
|
|
targetLanguageCode.value |
|
|
|
]; |
|
|
|
Logger.info('2初始化ASR服务,支持语言: $asrSupportedLanguages'); |
|
|
|
//Logger.info('2初始化ASR服务,支持语言: $asrSupportedLanguages'); |
|
|
|
|
|
|
|
//await _asrService.initialize(supportedLanguages: asrSupportedLanguages); |
|
|
|
|
|
|
|
@ -640,7 +640,7 @@ class TranslationController extends GetxController with WidgetsBindingObserver { |
|
|
|
sourceLanguageCode.value, |
|
|
|
targetLanguageCode.value |
|
|
|
]; |
|
|
|
|
|
|
|
Logger.info('1初始化AST服务,支持语言: $callModeLanguages'); //ast=asr+translate |
|
|
|
await _astService.initialize(supportedLanguages: callModeLanguages); |
|
|
|
Logger.info('通话模式语音翻译服务初始化完成'); |
|
|
|
} catch (e) { |
|
|
|
@ -656,8 +656,9 @@ class TranslationController extends GetxController with WidgetsBindingObserver { |
|
|
|
_voiceInteractionSubscription?.cancel(); |
|
|
|
_translationDebounceTimer?.cancel(); |
|
|
|
restoreOtherServices(); |
|
|
|
_asrService.dispose(); |
|
|
|
_astService.dispose(); |
|
|
|
// 移除对服务的 dispose,避免频繁销毁/重建造成卡顿 |
|
|
|
// _asrService.dispose(); |
|
|
|
// _astService.dispose(); |
|
|
|
|
|
|
|
// 释放管理器资源 |
|
|
|
_timerManager.dispose(); |
|
|
|
|