From 5de43f38f2f6ff6d1a2b535641e7384e538f8040 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Tue, 24 Mar 2026 14:02:46 +0100
Subject: [PATCH] fix: stop + 150ms delay between queue tracks for iOS audio player reset

---
 lib/services/audio_service.dart |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/lib/services/audio_service.dart b/lib/services/audio_service.dart
index 0da9b0f..76843e0 100644
--- a/lib/services/audio_service.dart
+++ b/lib/services/audio_service.dart
@@ -69,10 +69,15 @@
 
     final path = _queue.removeAt(0);
     try {
+      // Brief pause between tracks — iOS audio player needs time to reset
+      await _player.stop();
+      await Future.delayed(const Duration(milliseconds: 150));
       await _player.play(DeviceFileSource(path));
       _isPlaying = true;
       onPlaybackStateChanged?.call();
-    } catch (_) {
+      debugPrint('AudioService: playing next from queue (remaining: ${_queue.length})');
+    } catch (e) {
+      debugPrint('AudioService: queue play failed: $e');
       // Skip broken file, try next
       _onTrackComplete();
     }

--
Gitblit v1.3.1