diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart index d5beeadaba..4c6b9ebce3 100644 --- a/lib/pages/chat/events/audio_player.dart +++ b/lib/pages/chat/events/audio_player.dart @@ -42,6 +42,7 @@ class AudioPlayerState extends State { String? statusText; int currentPosition = 0; double maxPosition = 0; + double thisPosition = 0; MatrixFile? matrixFile; File? audioFile; @@ -118,7 +119,13 @@ class AudioPlayerState extends State { currentPosition = ((state.inMilliseconds.toDouble() / maxPosition) * AudioPlayerWidget.wavesCount) .round(); + thisPosition = state.inMilliseconds.toDouble(); }); + if (thisPosition == maxPosition) { + audioPlayer.stop(); + audioPlayer.seek(null); + } + }); onDurationChanged ??= audioPlayer.durationStream.listen((max) { if (max == null || max == Duration.zero) return;