From 6bac9428d303614f07708179f4b40c69a576219f Mon Sep 17 00:00:00 2001 From: adamholtergmailcom <165907033+adamholtergmailcom@users.noreply.github.com> Date: Fri, 6 Jun 2025 07:52:37 -0400 Subject: [PATCH] Fix resume functionality for tour playback --- index.html | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/index.html b/index.html index 0130446..93e67d6 100644 --- a/index.html +++ b/index.html @@ -844,25 +844,32 @@

${poi.title}

// --- Tour Playback and Animation --- -startTourBtnEl.addEventListener('click', () => { - if (isTourPlaying) { - pauseCurrentTourSegment(); - } else { - if (tourAudioSegmentsData.length === 0 || !tourAudioSegmentsData.some(s => s && s.audioObject)) { - displayMessage('No tour audio available to play.', 'info'); - return; - } - isTourPlaying = true; - startTourBtnEl.querySelector('span').textContent = '⏸️ Pause Tour'; - stopTourBtnEl.style.display = 'inline-flex'; - clearMapAnimationArtifacts(); - - if (currentTourSegmentIndex === -1 || currentTourSegmentIndex >= tourKeyframes.length -1) { - currentTourSegmentIndex = -1; - } - playNextTourSegment(); - } -}); +startTourBtnEl.addEventListener('click', () => { + if (isTourPlaying) { + pauseCurrentTourSegment(); + } else { + if (tourAudioSegmentsData.length === 0 || !tourAudioSegmentsData.some(s => s && s.audioObject)) { + displayMessage('No tour audio available to play.', 'info'); + return; + } + isTourPlaying = true; + startTourBtnEl.querySelector('span').textContent = '⏸️ Pause Tour'; + stopTourBtnEl.style.display = 'inline-flex'; + clearMapAnimationArtifacts(); + if (currentPlayingAudio && currentTourSegmentIndex >= 0 && currentTourSegmentIndex < tourKeyframes.length) { + // Resume the currently paused segment + currentPlayingAudio.play().catch(e => { + console.error("Error resuming segment:", e); + playNextTourSegment(); + }); + } else { + if (currentTourSegmentIndex === -1 || currentTourSegmentIndex >= tourKeyframes.length - 1) { + currentTourSegmentIndex = -1; + } + playNextTourSegment(); + } + } +}); stopTourBtnEl.addEventListener('click', stopTourPlaybackAndAnimation);