feat: Ajout d'un service de synthèse vocale hybride et intégration de Google Cloud TTS
This commit is contained in:
@@ -11,7 +11,7 @@ import 'package:em2rp/services/data_service.dart';
|
||||
import 'package:em2rp/services/api_service.dart';
|
||||
import 'package:em2rp/services/qr_code_processing_service.dart';
|
||||
import 'package:em2rp/services/audio_feedback_service.dart';
|
||||
import 'package:em2rp/services/text_to_speech_service.dart';
|
||||
import 'package:em2rp/services/smart_text_to_speech_service.dart';
|
||||
import 'package:em2rp/services/equipment_service.dart';
|
||||
import 'package:em2rp/views/widgets/equipment/equipment_checklist_item.dart' show EquipmentChecklistItem, ChecklistStep;
|
||||
import 'package:em2rp/views/widgets/equipment/container_checklist_item.dart';
|
||||
@@ -121,8 +121,8 @@ class _EventPreparationPageState extends State<EventPreparationPage> with Single
|
||||
duration: const Duration(milliseconds: 500),
|
||||
);
|
||||
|
||||
// Initialiser le service de synthèse vocale
|
||||
TextToSpeechService.initialize();
|
||||
// Initialiser le service de synthèse vocale hybride
|
||||
SmartTextToSpeechService.initialize();
|
||||
|
||||
// Initialiser et débloquer l'audio (pour éviter les problèmes d'autoplay)
|
||||
AudioFeedbackService.unlockAudio();
|
||||
@@ -164,7 +164,7 @@ class _EventPreparationPageState extends State<EventPreparationPage> with Single
|
||||
_animationController.dispose();
|
||||
_manualCodeController.dispose();
|
||||
_manualCodeFocusNode.dispose();
|
||||
TextToSpeechService.stop();
|
||||
SmartTextToSpeechService.stop();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -1212,9 +1212,9 @@ class _EventPreparationPageState extends State<EventPreparationPage> with Single
|
||||
Future<void> _announceNextItem() async {
|
||||
final nextItem = _findNextItemToScan();
|
||||
if (nextItem != null) {
|
||||
await TextToSpeechService.speak('Prochain item: $nextItem');
|
||||
await SmartTextToSpeechService.speak('Prochain item: $nextItem');
|
||||
} else {
|
||||
await TextToSpeechService.speak('Tous les items sont validés');
|
||||
await SmartTextToSpeechService.speak('Tous les items sont validés');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:web/web.dart' as web;
|
||||
import 'package:em2rp/services/audio_feedback_service.dart';
|
||||
import 'package:em2rp/services/text_to_speech_service.dart';
|
||||
import 'package:em2rp/services/smart_text_to_speech_service.dart';
|
||||
import 'package:em2rp/utils/debug_log.dart';
|
||||
|
||||
/// Bouton de diagnostic pour tester l'audio et le TTS
|
||||
@@ -59,11 +59,11 @@ class AudioDiagnosticButton extends StatelessWidget {
|
||||
DebugLog.info('[AudioDiagnostic] Platform: ${web.window.navigator.platform}');
|
||||
DebugLog.info('[AudioDiagnostic] Language: ${web.window.navigator.language}');
|
||||
|
||||
await TextToSpeechService.initialize();
|
||||
await SmartTextToSpeechService.initialize();
|
||||
await Future.delayed(const Duration(milliseconds: 500));
|
||||
|
||||
DebugLog.info('[AudioDiagnostic] Speaking test phrase...');
|
||||
await TextToSpeechService.speak('Test de synthèse vocale. Un, deux, trois.');
|
||||
await SmartTextToSpeechService.speak('Test de synthèse vocale. Un, deux, trois.');
|
||||
|
||||
DebugLog.info('[AudioDiagnostic] ========== TTS TEST END ==========');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user