initialize method
Initializes the TTS engine with language and voice settings
language: e.g.'en-US','fr-FR'voiceId: Optional voice override (must match platform voice)
Implementation
Future<void> initialize({
String language = 'en-US',
String? voiceId,
}) async {
await _tts.setLanguage(language);
await _tts.awaitSpeakCompletion(true);
if (voiceId != null) {
await _tts.setVoice({"name": voiceId, "locale": language});
}
_tts.setCompletionHandler(() {
_isSpeaking = false;
onSpeechComplete?.call();
});
_tts.setCancelHandler(() {
_isSpeaking = false;
});
_tts.setErrorHandler((msg) {
_isSpeaking = false;
log('TTS Error: $msg');
});
await _tts.setVolume(1.0);
await _tts.setSpeechRate(0.5);
await _tts.setPitch(1.0);
}