startReading method

Future<void> startReading(
  1. PupauMessage message,
  2. List<PupauMessage> messages,
  3. ChatController chatController
)

Implementation

Future<void> startReading(PupauMessage message, List<PupauMessage> messages,
    ChatController chatController) async {
  textToSpeach.stop();
  for (PupauMessage chatMessage in messages) {
    chatMessage.isNarrating = false;
  }
  await Future.delayed(const Duration(milliseconds: 100));
  message.isNarrating = false; //Reset to false to refresh the UI
  chatController.messages.refresh();
  chatController.update();
  message.isNarrating = true;
  chatController.messages.refresh();
  chatController.update();
  textToSpeach.awaitSpeakCompletion(true);
  await textToSpeach.speak(message.answer);
  message.isNarrating = false;
  chatController.messages.refresh();
  chatController.update();
}