Browse Source

fix(translation): 移除蓝牙设备检查并优化面对面翻译模式

移除翻译视图中的蓝牙设备检查条件,使面对面翻译模式可直接使用
在控制器中为面对面模式设置音频输出设备
注释掉翻译播放时的音频设备设置和延迟代码
weicu
lxm 1 year ago
parent
commit
b1af56328e
  1. 10
      lib/modules/translation/controllers/translation_controller.dart
  2. 12
      lib/modules/translation/views/translation_view.dart

10
lib/modules/translation/controllers/translation_controller.dart

@ -130,6 +130,8 @@ class TranslationController extends GetxController {
if (mode == 'call') {
await _initializeCallModeTranslationService();
} else if (mode == 'faceToFace') {
await _ttsService.setAudioOutputDevice(1);
}
}
@ -200,8 +202,8 @@ class TranslationController extends GetxController {
Future<void> _handleTranslationPlayback() async {
if (fTFTranslationResult != '' && !isPlayback) {
isPlayback = true;
await _ttsService.setAudioOutputDevice(lastActiveSpeaker.value);
await Future.delayed(const Duration(milliseconds: 1300));
// await _ttsService.setAudioOutputDevice(lastActiveSpeaker.value);
// await Future.delayed(const Duration(milliseconds: 1300));
await playTranslatedText(fTFTranslationResult!);
fTFTranslationResult = '';
} else if ((translationHistory.isEmpty ||
@ -913,8 +915,8 @@ class TranslationController extends GetxController {
if (activeSpeaker.value == 0 && !isPlayback) {
isPlayback = true;
await _ttsService.setAudioOutputDevice(lastActiveSpeaker.value);
await Future.delayed(const Duration(milliseconds: 1300));
// await _ttsService.setAudioOutputDevice(lastActiveSpeaker.value);
// await Future.delayed(const Duration(milliseconds: 1300));
await playTranslatedText(fTFTranslationResult!);
fTFTranslationResult = '';
}

12
lib/modules/translation/views/translation_view.dart

@ -1107,13 +1107,11 @@ class TranslationView extends GetView<TranslationController> {
'faceToFaceTranslation'.tr,
Icons.people,
Colors.green,
onTap: controller.bluetoothManager.currentDevice != null
? () async {
Get.back();
await controller.changeTranslationMode('faceToFace');
await controller.startRecognition();
}
: null,
onTap: () async {
Get.back();
await controller.changeTranslationMode('faceToFace');
await controller.startRecognition();
},
),
// _buildModeItem(
// context,

Loading…
Cancel
Save