Update live_information.dart

This commit is contained in:
ImBenji
2024-02-28 06:00:05 +00:00
parent 736720f681
commit 262aef11ef

View File

@@ -82,16 +82,22 @@ class LiveInformation {
if (audioPlayer.state != AudioWrapper_State.Playing) { if (audioPlayer.state != AudioWrapper_State.Playing) {
if (announcementQueue.isNotEmpty) { if (announcementQueue.isNotEmpty) {
// Is the announcement in the queue ready to be announced? (is within 100ms of the current time) AnnouncementQueueEntry announcement = announcementQueue.first;
if (announcementQueue.first.timestamp != null && announcementQueue.first.timestamp!.isAfter(DateTime.now().add(Duration(milliseconds: 100)))) {
return; {
DateTime now = DateTime.now();
if (announcement.timestamp != null) {
Duration difference = now.difference(announcement.timestamp!);
if (difference.inMilliseconds <= 100) {
// Account for the time lost by the periodic timer
await Future.delayed(Duration(milliseconds: 100 - difference.inMilliseconds));
}
}
} }
Duration difference = DateTime.now().difference(announcementQueue.first.timestamp!);
await Future.delayed(Duration(milliseconds: 100 - difference.inMilliseconds));
AnnouncementQueueEntry announcement = announcementQueue.first;
announcementDelegate.trigger(announcement); announcementDelegate.trigger(announcement);
_currentAnnouncement = announcement.displayText; _currentAnnouncement = announcement.displayText;
@@ -169,7 +175,7 @@ class LiveInformation {
if (announcement is ManualAnnouncementEntry) { if (announcement is ManualAnnouncementEntry) {
// 5 sedonds in the future // 5 sedonds in the future
DateTime scheduledTime = DateTime.now().add(Duration(seconds: 5)); DateTime scheduledTime = DateTime.now().add(Duration(seconds: 10));
final document = databases.createDocument( final document = databases.createDocument(
documentId: appwrite.ID.unique(), documentId: appwrite.ID.unique(),